Anda di halaman 1dari 59

Modul VB 6.

0 With Database Oracle 10g


I. MENU PROGRAM
Peranan menu dalam sebuah aplikasi sangatlah penting, karena dari menulah masing-masing
program bisa dipanggil. Menu program pada Visual Basic 6.0 dapat dibuat mulai dari menu yang
sederhana sampai menu dengan tampilan yang menarik
Menu berbentuk Full Down Menu (contoh yang akan dibuat)

Selesai isi password klik login maka akan muncul tampilan sebagai berikut :

Pada saat login tadi kita menggunakan User Admin makanya semua sub menu bisa dibuka, jadi
program menu ini juga menggunakan system security untuk usernya dimana user yang login
akan dibatasi hak aksesnya sesuai yang diinput oleh admin dibagian setting.
Yuhandri, S.Kom, M.Kom

Modul VB 6.0 With Database Oracle 10g


Selanjutnya mari kita coba membuat menu sesuai dengan tampilan diatas.
Langkah-langkahnya sebagai berikut :
a. Buka Program VB 6.0

Muncul tampilan sebagai berikut : (ambil pilihan VB Enterprise Edition Controls) klik
Open.

Maka kita akan masuk ketampilan Visual Basic 6.0, sebagai berikut :

Yuhandri, S.Kom, M.Kom

Modul VB 6.0 With Database Oracle 10g

b. Klik Kanan di Project1 (Project1) seperti gambar dibawah ini lalu pilih MDI Form

Pilih Open sehingga muncul tampilan seperti pada halaman berikut :

Yuhandri, S.Kom, M.Kom

Modul VB 6.0 With Database Oracle 10g

Selanjutnya mari kita lakukan perobahan terhadap MDIForm1 yang akan kita jadikan
sebagai Menu Utama Aplikasi ini.

Klik Maximize
untuk memperbesar tampilan.
Robah Caption di properties
Aplikasi Inventory

Kata MDIForm1 berubah menjadi

Robah windows state


jadi Maximize, agar tampilannya
sesuai layar komputer/Laptop.
Lakukan penyimpanan terhadap aplikasi/Menu program tersebut dengan cara klik
File, Klik Save Project maka akan muncul tampilan untuk pemberian nama
(simpanlah pekerjaan di Drive D dalam folder Inventori), ganti MDIForm1 dengan
nama FrmMain lalu klik Save, selanjutnya muncul form1 untuk disimpan, agar
memudahkan kita dalam pemrograman nama Form1 tidak usah diganti langsung saja
klik Save. Berikut muncul penamaan untuk project, beri nama project dengan
Inventori lalu Klik Save.

menjadi Menu Utama

c. Memulai Membuat Tampilan Menu


Klik kanan dalam FrmMain, Pilih Menu Editor

Maka akan muncul tampilan sebagai berikut :

Yuhandri, S.Kom, M.Kom

Modul VB 6.0 With Database Oracle 10g

Isi Caption dengan Entri Data


Isi Name dengan ED (singkatan entri Data, sebagai catatan isian name bebas tapi
tidak boleh sama dengan isian name berikutnya)
Pindahkan kursor kebawah kalimat Entri Data seperti berikut ini :

Selanjutnya isi lagi Caption dengan Laporan, isi name dengan LP


Letakan lagi kursor dibawah Laporan isi Caption dengan Setting, isi name dengan st
Letakan lagi kursor dibawah Setting isi caption dengan Login, isi name dengan lg
Letakan lagi kursor dibawah Login isi caption dengan Exit, isi name dengan ex.
Klik OK maka akan muncul tampilan sebagai berikut :

d. Mengisi sub menu untuk Entri Data dengan cara sebagai berikut :

Klik kanan dalam FrmMain, Pilih Menu Editor

Maka akan muncul tampilan sebagai berikut :

Yuhandri, S.Kom, M.Kom

Modul VB 6.0 With Database Oracle 10g

Letakan mouse diposisi Laporan seperti pada gambar diatas, Klik Menu Insert, maka
antara Entri Data dengan Laporan akan terdapat tempat yang kosong, letakan mouse
ditempat kosong tersebut lalu klik Panah ke kanan
maka akan terbentuk (titiktitik) selanjutnya isi Caption dengan Entri Data Barang, isi Name dengan EDB.
Lakukan hal yang sama lagi yaitu letakan kursor di Laporan lalu klik menu insert,
letakan kursor ditempat yang kosong tersebut lalu klik panah ke kanan
ketikan di
Caption Entri Data Suplier, dan isi Name dengan EDS.
Lakukan hal yang sama lagi untuk membuat Entri Data Pembelian (EDP), Entri Data
Penjualan (EDPJ), Klik OK maka jika dilihat hasilnya adalah sebagai berikut :

Dengan cara yang sama buatlah Sub Menu Untuk laporan dengan isi sebagai berikut :

Dengan cara yang sama buatlah Sub Menu Untuk Setting dengan isi sebagai berikut :

Yuhandri, S.Kom, M.Kom

Modul VB 6.0 With Database Oracle 10g

Dengan cara yang sama buatlah Sub Menu Untuk Login dengan isi sebagai berikut :

e. Membuat Menu di Toolbar

Klik Toolbar pada General


lalu bawa ke FrmMain dan di drag disana, maka akan
terbentuk tampilan sebagai berikut : (kotak warna abu-abu dibawah menu)

Selanjutnya Klik Image List


sebagai berikut :

Sebelumnya saudara diminta menyiapkan icon dengan extension *.ico (bisa download
dinternet atau search di windows, seperti dibawah ini :

lalu drag juga di FrmMain, muncul tampilan

Simbol Penyimpanan
Simbol Pencetakan Laporan
Simbol Setting
Simbol Login
Kesemua file diatas disimpan dalam folder inventori.

Seluruh gambar kita registrasi di dalam image List dengan cara, Klik kanan di gambar
Image List1, Pilih Properties, Pilih Image, Pilih Menu Insert Picture dan pilihlah
gambar yang sudah kita simpan dalam folder inventori, untuk index 1 diambil gambar
Disket klik Open dan lakukan hal tersebut sampai keempat gambar diatas sudah
teregistrasi di Image List1, lihat seperti gambar pada halaman berikut :

Yuhandri, S.Kom, M.Kom

Modul VB 6.0 With Database Oracle 10g

Klik OK untuk mengakhirinya.


Selanjutnya baru kita mulai klik kanan ditoolbar, pilih properties, isi Imagelist :
dengan ImageList1 dengan cara klik panah kebawah maka akan muncul pilihan
disana.

Klik Buttons maka akan muncul tampilan sebagai berikut :


Yuhandri, S.Kom, M.Kom

Modul VB 6.0 With Database Oracle 10g

Isi Index (otomatis)


Caption, Key, Tooltips isi dengan nama sama dengan menu yang ada yaitu Entri Data
Image 1 artinya kita ingin menampilkan gambar yang pertama
Klik panah ke kanan di Index maka akan muncul Index 2 lakukan hal yang sama
dengan diatas untuk Laporan dimana Imaga adalah 2, untuk Setting Image adalah 3
dan untuk Login Image adalah 4, maka akan muncul tampilan sebagai berikut :

f. Membuat Tampilan Depan Pada Menu


Dapat dilakukan dengan menggunakan Microsoft Power Point, seperti contoh berikut ini :

Yuhandri, S.Kom, M.Kom

Modul VB 6.0 With Database Oracle 10g

Selesai membuat maka simpan dengan cara berikut :

Selanjutnya SAVE di folder Inventori dengan pilihan Curent Slide Only.

Selanjutnya adalah memasukkan file awal tadi kedalam menu, dengan cara sebagai
berikut :

Yuhandri, S.Kom, M.Kom

10

Modul VB 6.0 With Database Oracle 10g

g. Coding Untuk Menu

Yuhandri, S.Kom, M.Kom

11

Modul VB 6.0 With Database Oracle 10g

Double Klik Di Toolbar maka akan muncul Private sub nya, berikut codingnya.

Private Sub tbToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)


Select Case Button.Index
Case 1: PopupMenu ed
Case 2: PopupMenu lp
Case 3: PopupMenu st
Case 4: PopupMenu lg
End Select
End Sub
Dengan adanya coding diatas maka pemanggilan menu sudah bisa dilakukan dengan klik
gambar-gambar tersebut.
h. Membuat Form Baru
Saat ini sudah terdapat 1 form yaitu Form1 sementara kita butuh 15 form untuk
menyelesaikan semua kasus diatas sesuai dengan menu yang ada, oleh sebab itu buatlah
14 form lagi dengan cara klik kanan dekat Form, Klik Add, Pilih Form, Pilih Open maka
akan terbentuk Form2, lakukan sampai terbentuk Form15, selanjutnya simpan tanpa
merubah namanya dengan cara klik gambar Disket

i. Menghubungan Menu dengan masing-masing Form


Klik Entri Data Double Klik Entri Data Barang, maka cursor akan berada pada
posisi untuk mengisi coding, selanjutnya isi coding dengan Form1.Show Seperti
gambar berikut ini :

Lakukan kesemuanya sesuai dengan urutannya serta dengan cara yang sama,
sehingga seluruh form sudah bisa dipanggil melalui Menu Utama.

II. DESAIN FORM


Sebelum masuk kita pada desain form maka kita perlu Create Table di Oracle, berikut Table
yang akan kita gunakan dalam pemrograman ini :
Yuhandri, S.Kom, M.Kom

12

Modul VB 6.0 With Database Oracle 10g


1. Tabel Barang :

2. Tabel Suplier :

3. Tabel Pembelian :

4. Tabel Penjualan :

5. Tabel tblogin :

6. Tabel kartu_stok :

Yuhandri, S.Kom, M.Kom

13

Modul VB 6.0 With Database Oracle 10g


create table barang(
kode_barang
char(6),
nama_barang
varchar(25),
satuan_barang
varchar(20),
harga_dasar
number(15,2),
harga_jual
number(15,2),
stok_awal
number(4),
stok_akhir
number(4),
constraint pk_barang primary key (kode_barang)
);
create table suplier(
kode_suplier
char(5),
nama_suplier
varchar2(30),
alamat_suplier
varchar2(20),
kota_suplier
varchar2(25),
telepon_suplier
varchar2(25),
constraint pk_suplier primary key (kode_suplier)
);
CREATE TABLE pembelian (
no_faktur
varchar2(10),
tgl_faktur
date ,
kode_barang
char(6) ,
kode_suplier
char(5),
jumlah_beli
number(4),
harga_beli
number(15,2),
harga_jual
number(15,2),
Jenis_beli
char(1),
lama
number(2) ,
jatuh_tempo
date
);
CREATE TABLE penjualan (
no_faktur
number(10),
tgl_faktur
date,
kode_barang
char(6),
harga_dasar
number(15,2),
harga_jual
number(15,2),
jumlah_jual
number(4) );
create table tblogin(
userid varchar2(25),
pass varchar2(25),
nama varchar2(35),
hak1 char(1),
hak2 char(1),
hak3 char(1),
hak4 char(1)
);
CREATE TABLE kartu_stok (
tgl_trans date,
no_faktur varchar2(10),
kode_barang char(6),
Yuhandri, S.Kom, M.Kom

14

Modul VB 6.0 With Database Oracle 10g


masuk
keluar
ket

number(4) ,
number(4) ,
varchar(30)

);
I.

Desain Form Entri Data Barang (Form1)

Keterangan :

Untuk merubah

Agar posisi ditengah maka ambil di properties


(center)
Kata-kata Entri Data Barang, Kode Barang sampai Stock Akhir dibuat dengan

menggunakan Label
, klik symbol Label
lalu drag mouse di Form,
selanjutnya ganti kata label di properties di captionnya dengan Kode Barang.
Lakukan hal yang sama untuk semuanya
Sementara Tempat Meletakan kata Entri Data Barang dibuatkan terlebih dahulu

yaitu di properties ambil menu icon

Framenya dengan mengambil symbol Frame


cukup buang saja Captionnya.

, Menghilangkan kata-kata di Frame

Text1 sampai dengan Text5 dibuat dengan menggunakan symbol Textbox

Untuk harga dasar kita gunakan MaskedBox


lalu ganti namenya menjadi
ganti formatnya di properties dengan Rp #,##0;(Rp#,##0)

Untuk Harga Jual kita gunakan MaskedBox

lalu ganti namenya menjadi

ganti formatnya di properties dengan Rp #,##0;(Rp#,##0)

Untuk Save symbol yang digunakan adalah Button

ganti Caption dengan Save

Untuk Edit symbol yang digunakan adalah Button

ganti Caption dengan Edit

Untuk Delete symbol yang digunakan adalah Button


Delete

ganti Caption dengan

Yuhandri, S.Kom, M.Kom

15

Modul VB 6.0 With Database Oracle 10g

Untuk Cancel symbol yang digunakan adalah Button


Cancel

Untuk Exit symbol yang digunakan adalah Button

Untuk (dekat kode barang) symbol yang digunakan adalah Button


Caption dengan

ganti Caption dengan

ganti Caption dengan Exit


ganti

berguna untuk penghubung program dengan database,


klik

lalu drag di Form, selanjutnya ganti Visiblenya di properties dengan False

agar saat program dijalankan tida muncul


, cara setting
Adodc1 : (sebelum masuk cara setting Adodc1 maka kita harus terlebih dahulu
membuat connectionnya di Control Panel-Administrative Tools DataSource

(ODBC)

, maka akan muncul tampilan sebagai berikut :

Pilih System DSN dan Klik Add maka akan muncul tampilan sebagai berikut :

Yuhandri, S.Kom, M.Kom

16

Modul VB 6.0 With Database Oracle 10g

Pilih Oracle In OraDb10g(sesuai masing-masing komputer) lalu klik Finish dan


akan muncul tampilan sebagai berikut :

Isi data source name


TNS Service Name

: Inventori
: UPIYPTK (atau sesuaikan dengan isi yang ada

dengan cara klik Panah


User Id

Klik

Isi Password lalu klik OK


Muncul

dan bagi yang error ini boleh saja dikosongkan)


: isi dengan user masing-masing (exp. Yuyu)

maka akan muncul

Yuhandri, S.Kom, M.Kom

17

Modul VB 6.0 With Database Oracle 10g

Klik OK , Klik OK, Klik OK berarti selesai kita setting connection Databasenya.

Kita lanjutkan setting Adodc1 nya :


-

Klik Kanan Adodc1 ambil pilihan Properties :

Klik

Build

maka

akan

muncul

tampilan

Klik Next

dan

pilih
, maka

muncul tampilan sebagai berikut :

Yuhandri, S.Kom, M.Kom

18

Modul VB 6.0 With Database Oracle 10g

Isi sesuai dengan tampilan diatas :


Use data source name : isi dengan inventori (caranya tekan panah untuk
memilihnya)
Isi user name : (exp. Yuyu)
Password
: .(exp. Yuyu)
Cheklist Allow saving password
Klik Test Connection
Klik OK, Klik OK

Selanjutnya Klik Tab

Isi Command Type dengan 2-adCmdTable


Isi Table or Store Procedure name dengan Table Barang (pilih dengan tekan
panah)
Klik OK (selesai)

mucul tampilan

Sementara untuk gambar dibawah ini :

Yuhandri, S.Kom, M.Kom

19

Modul VB 6.0 With Database Oracle 10g

Pilih terlebih dahulu Frame

lalu isi frame tersebut dengan Text

dan

Datagrid
, selanjutnya Datagrid dengan Adodc1
dihubungkan dengan cara pilih Datasource di properties dan set dengan Adodc1
,

selanjutnya

klik

kanan

di

Datagrid1,

pilih

Klik Yes
Maka Datagrid1 akan berobah menjadi seperti berikut ini :

Tampilan ini bisa diedit dengan cara klik kanan Datagrid1 pilih Edit maka kita
bisa mengatur kolom sesuai dengan kebutuhan kita dengan cara geser dengan
mouse seperti menggunakan Microsoft Excell.

Lampiran : CODING PROGRAM :


Catatan : yang cetak miring berarti dibuat 1 baris
A. Sub Program Simpan :
Private Sub Command1_Click()
con.Execute ("insert into barang values('" & Text1.Text & "','" & Text2.Text & "','" &
Combo1.Text & "'," & M1 & "," & M2 & ",'" & Val(Text3) & "','" & Val(Text4) & "')")
kosong
Text1.SetFocus
End Sub
B. Sub Program Update :
Private Sub Command2_Click()
con.Execute ("update barang set nama_barang='" & Text2 & "',satuan_barang='" & Combo1 &
"',harga_dasar=" & Val(M1) & ",harga_jual=" & Val(M2) & ",stok_awal='" & Val(Text3) &
"',stok_akhir='" & Val(Text4) & "' where kode_barang='" & Trim(Text1) & "' ")
kosong
Yuhandri, S.Kom, M.Kom

20

Modul VB 6.0 With Database Oracle 10g


Text1.SetFocus
End Sub
C. Sub Program Hapus :
Private Sub Command3_Click()
Dim x As String
x = MsgBox("Ingin Hapus data ini?[Y/N]", vbYesNo + vbQuestion)
If x = vbYes Then
con.Execute ("delete from barang where kode_barang='" & Trim(Text1) & "'")
End If
kosong
Text1.SetFocus
End Sub
D. Sub Program Cancel :
Private Sub Command4_Click()
kosong
End Sub
E. Sub Program Keluar/exit :
Private Sub Command5_Click()
Unload Me
If con.State = adStateOpen Then
con.Close
End If
End Sub

F. Sub Program untuk Kosong :


Private Sub kosong()
Text1.Text = ""
Text2.Text = ""
Text3.Text = 0
Text4.Text = 0
Text5.Text = ""
Combo1.Text = ""
M1 = 0
M2 = 0
F1.Visible = False
End Sub
G. Sub Program Untuk Meletakan Posisi Frame1 (f1) yang berisi datagrid Barang
(adodc1) :
Private Sub Command6_Click()
If F1.Visible = True Then
F1.Visible = False
Else
Adodc1.Refresh
Yuhandri, S.Kom, M.Kom

21

Modul VB 6.0 With Database Oracle 10g


F1.Top = 1700
F1.Left = 2500
F1.Height = 2500
F1.Visible = True
End If
End Sub
H. Sub Program untuk menampilkan data yang dilkik di datagrid sehingga muncul di
Form :
Private Sub DataGrid1_Click()
Text1.Text = DataGrid1.Columns(0)
Text2.Text = DataGrid1.Columns(1)
Combo1.Text = DataGrid1.Columns(2)
M1 = DataGrid1.Columns(3)
M2.Text = DataGrid1.Columns(4)
Text3.Text = DataGrid1.Columns(5)
Text4.Text = DataGrid1.Columns(6)
F1.Visible = False
End Sub
I. Sub program form Load (wajib dibuat) :
Private Sub Form_Load()
If con.State = adStateClosed Then
connect
End If

Adodc1.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist Security


Info=True;User ID=yuyu;Data Source=inventory"
Adodc1.Refresh
kosong
End Sub
J. Sub Menu Untuk Searching Data Barang :
Private Sub Text5_Change()
With F1
Adodc1.Refresh
If Not Text5.Text = "" Then
Adodc1.Recordset.Filter = "kode_barang LIKE '" & Trim(Text5.Text) & "%'"
End If
.Visible = True
End With
End Sub
K. Sub Menu ini berfungsi untuk membuat perintah enter, contoh setelah mengisi data
di text1 lalu enter maka kursor kan berpindah ke text yang dibawahnya :
Private Sub Text1_keypress(KeyAscii As Integer)
Yuhandri, S.Kom, M.Kom

22

Modul VB 6.0 With Database Oracle 10g


If KeyAscii = 13 Then
Text2.SetFocus
End If
End Sub
Private Sub Text2_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
Combo1.SetFocus
End If
End Sub
Private Sub combo1_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
M1.SetFocus
End If
End Sub
Private Sub m1_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
M2.SetFocus
End If
End Sub
Private Sub m2_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text3.SetFocus
End If
End Sub

Private Sub text3_keypress(KeyAscii As Integer)


If KeyAscii = 13 Then
Text4.SetFocus
End If
End Sub
Private Sub text4_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
Command1.SetFocus
End If
End Sub
II.

Desain Form Entri Suplier (Form2)

Yuhandri, S.Kom, M.Kom

23

Modul VB 6.0 With Database Oracle 10g

Catatan : Cara membuatnya sama dengan form Entri Data Barang


Lampiran : CODING PROGRAM (PRINSIPNYA SAMA DENGAN ENTRI BARANG)
Catatan : Adodc1 isinya table suplier
Private Sub Command1_Click()
con.Execute ("insert into suplier values('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text
& "','" & Text4.Text & "','" & Text5.Text & "')")
kosong
Text1.SetFocus
End Sub
Private Sub Command2_Click()
con.Execute ("update suplier set nama_suplier='" & Text2 & "',alamat_suplier='" & Text3 &
"',kota_suplier='" & Text4 & "',telepon_suplier='" & Text5 & "' where kode_suplier='" &
Trim(Text1) & "' ")
kosong
Text1.SetFocus
End Sub
Private Sub Command3_Click()
Dim x As String
x = MsgBox("Ingin Hapus data ini?[Y/N]", vbYesNo + vbQuestion)
If x = vbYes Then
con.Execute ("delete from suplier where kode_suplier='" & Trim(Text1) & "'")
End If
kosong
Text1.SetFocus
End Sub
Private Sub Command4_Click()
kosong
End Sub
Private Sub Command5_Click()
Yuhandri, S.Kom, M.Kom

24

Modul VB 6.0 With Database Oracle 10g


Unload Me
If con.State = adStateOpen Then
con.Close
End If
End Sub
Private Sub Label6_Click(Index As Integer)
End Sub
Private Sub kosong()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
f1.Visible = False
End Sub
Private Sub Command6_Click()
If f1.Visible = True Then
f1.Visible = False
Else
Adodc1.Refresh
f1.Top = 1700
f1.Left = 2500
f1.Height = 2500
f1.Visible = True
End If
End Sub
Private Sub DataGrid1_Click()
Text1.Text = DataGrid1.Columns(0)
Text2.Text = DataGrid1.Columns(1)
Text3.Text = DataGrid1.Columns(2)
Text4.Text = DataGrid1.Columns(3)
Text5.Text = DataGrid1.Columns(4)
f1.Visible = False
End Sub
Private Sub Form_Load()
If con.State = adStateClosed Then
connect
End If
Adodc1.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist Security
Info=True;User ID=yuyu;Data Source=inventory"
Adodc1.Refresh
kosong
End Sub
Private Sub Text6_Change()
With f1
Adodc1.Refresh
If Not Text6.Text = "" Then
Adodc1.Recordset.Filter = "kode_suplier LIKE '" & Trim(Text6.Text) & "%'"
End If
Yuhandri, S.Kom, M.Kom

25

Modul VB 6.0 With Database Oracle 10g


.Visible = True
End With
End Sub
Private Sub Text1_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
End If
End Sub
Private Sub Text2_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text3.SetFocus
End If
End Sub
Private Sub text3_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text4.SetFocus
End If
End Sub
Private Sub text4_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text5.SetFocus
End If
End Sub
Private Sub text5_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
Command1.SetFocus
End If
End Sub

III.

Desain Form Entri Pembelian (Form3)

Yuhandri, S.Kom, M.Kom

26

Modul VB 6.0 With Database Oracle 10g

CODING PROGRAM :
CATATAN : ADODC1 : SUPLIER
ADODC2 : BARANG
ADODC3 : PEMBELIAN
ADODC4 : KARTU_STOK
ADODC5 : KOSONG
Frame1 (f1) menampung datagrid1 berisi data supplier
Frame2 (f2) menampung datagrid3 berisi data barang
Frame4 (f4) menampung datagrid2 berisi data hasil klik menu tambah
Dimana adodc yang digunakan adalah adodc5 (adodc5 dikosongkan
saja) karena nanti ada codding program untuk mengisinya.

A. Sub ini adalah untuk mendefenisikan variable bebas yang akan digunakan :

Yuhandri, S.Kom, M.Kom

27

Modul VB 6.0 With Database Oracle 10g


Dim yuyu, sql, sql1 As String
B. Sub combo2 ini adalah untuk membuat rumus jika pilihan K (Kredit) dan
pilihlah berapa lama boleh kredit maka tanggal jatuh tempo akan berobah
dengan sendirinya.
Private Sub Combo2_click()
If Combo2.Text = "1" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 1
Else
If Combo2.Text = "2" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 2
Else
If Combo2.Text = "3" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 3
Else
If Combo2.Text = "4" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 4
Else
If Combo2.Text = "5" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 5
Else
If Combo2.Text = "6" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 6
Else
If Combo2.Text = "7" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 7
Else
If Combo2.Text = "8" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 8
Else
If Combo2.Text = "9" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 9
Else
If Combo2.Text = "10" Then
DTPicker2 = Date
DTPicker2 = DTPicker2 + 10
Else
End If
End If
End If
End If
End If
End If
End If
Yuhandri, S.Kom, M.Kom

28

Modul VB 6.0 With Database Oracle 10g


End If
End If
End If
End Sub
C. Sub ini berfungsi untuk meletakan posisi dari frame1 (f1) dimana frame 1
menampung data grid1 untuk data suplier
Private Sub Command1_Click()
If f1.Visible = True Then
f1.Visible = False
Else
Adodc1.Refresh
f1.Top = 1700
f1.Left = 2000
f1.Height = 2500
f1.Visible = True
End If
End Sub
D. Sub ini berfungsi untuk meletakan posisi dari frame2 (f2) dimana frame 2
menampung data grid3 untuk data barang
Private Sub Command2_Click()
If f2.Visible = True Then
f2.Visible = False
Else
Adodc2.Refresh
f2.Top = 4750
f2.Left = 2000
f2.Height = 2500
f2.Visible = True
End If
End Sub
E. Sub ini untuk command3 (menu tambah)
Private Sub Command3_Click()
Dim saldo, saldoAkhir, hrgjualbaru, hrgbelibaru
If Text1.Text = "" Or Text7.Text = "" Or Text8.Text = "" Or Text10.Text = "" Or
Combo1.Text = "" Or Combo2.Text = "" Then
MsgBox ("Data Tidak Lengkap.....!")
Exit Sub
End If
sql = "insert into pembelian values('" & Trim(Text7.Text) & "','" &
Format(DTPicker1, "DD-MMM-YYYY") & "','" & Trim(Text8.Text) & "','" &
Trim(Text1.Text) & "','" & Val(Text10) & "','" & M1 & "','" & M2 & "','" &
Trim(Combo1) & "','" & Val(Combo2) & "','" & Format(DTPicker2, "DD-MMMYYYY") & "')"
yuyu = "insert into kartu_stok values('" & Format(DTPicker1, "DD-MMM-YYYY") &
"','" & Text7.Text & "','" & Text8.Text & "'," & Val(Text10.Text) & ",0,'Pembelian')"
Yuhandri, S.Kom, M.Kom

29

Modul VB 6.0 With Database Oracle 10g


con.Execute (sql)
con.Execute (yuyu)
saldoAkhir = saldo + Val(Text10)
sql = "select * from barang where kode_barang='" & Trim(Text8) & "' "
Set Rec = con.Execute(sql)
If Not Rec.EOF Then
SA = Rec!stok_akhir + Val(Text10)
hrgbelibaru = M1
hrgjualbaru = M2
con.Execute ("update barang set stok_akhir=" & SA & ", harga_dasar=" &
hrgbelibaru & ",harga_jual=" & hrgjualbaru & " where kode_barang='" &
Trim(Text8.Text) & "'")
Else
End If
M3 = Val(M3) + (Val(M1) * Val(Text10))
Adodc5.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist
Security Info=True;User ID=yuyu;Data Source=inventory"
sql = "select
p.kode_barang,b.nama_barang,p.harga_beli,p.harga_jual,p.jumlah_beli from
barang b,pembelian p where (b.kode_barang=p.kode_barang) and (p.no_faktur='"
& Trim(Text7) & "')"
Adodc5.RecordSource = sql
Adodc5.Refresh
kosong
End Sub
Private Sub Command4_Click()
If Adodc5.Recordset.RecordCount = 0 Then
Exit Sub
Else
If MsgBox("Benar Data akan dihapus?", vbQuestion + vbYesNo, "Hapus") = vbYes Then
sql = "select stok_akhir from barang where kode_barang='" & DataGrid2.Columns(0) & "'"

Set Rec = con.Execute(sql)


If Not Rec.EOF Then
sakhir1 = Rec!stok_akhir
sakhir1 = sakhir1 - Val(DataGrid2.Columns(4))
End If

M3 = Val(M3) - (Val(DataGrid2.Columns(2) * (Val(DataGrid2.Columns(4)))))

Yuhandri, S.Kom, M.Kom

30

Modul VB 6.0 With Database Oracle 10g


sql1 = "update barang set stok_akhir=" & Val(sakhir1) & " where kode_barang='"
& DataGrid2.Columns(0) & "'"
con.Execute (sql1)
sql = "delete from pembelian where no_faktur='" & Trim(Text7) & "' and
kode_barang='" & DataGrid2.Columns(0) & "'"
Set rsbarang = con.Execute(sql)
con.Execute (sql)
yuyu = "delete from kartu_stok where no_faktur='" & Trim(Text7.Text) & "' and
kode_barang='" & DataGrid2.Columns(0) & "'"
Set rsbarang = con.Execute(yuyu)
con.Execute (yuyu)
Adodc5.Refresh
End If
End If
End Sub
F. Sub Menu untuk Cancel
Private Sub Command7_Click()
kosong1
End Sub
G. Sub Menu Untuk Exit
Private Sub Command8_Click()
Unload Me
If con.State = adStateOpen Then
con.Close
End If
End Sub
H. Sub Menu klik data Grid1 maka akan masuk data kedalam Form
Private Sub DataGrid1_Click()
Text1.Text = DataGrid1.Columns(0)
Text2.Text = DataGrid1.Columns(1)
Text3.Text = DataGrid1.Columns(2)
Text4.Text = DataGrid1.Columns(3)
Text5.Text = DataGrid1.Columns(4)
f1.Visible = False
End Sub

I. Sub Menu klik data Grid1 maka akan masuk data kedalam Form
Yuhandri, S.Kom, M.Kom

31

Modul VB 6.0 With Database Oracle 10g


Private Sub DataGrid3_Click()
Text8.Text = DataGrid3.Columns(0)
Text9.Text = DataGrid3.Columns(1)
M1 = DataGrid3.Columns(3)
M2 = DataGrid3.Columns(4)
Text11.Text = DataGrid3.Columns(6)
f2.Visible = False
End Sub
J. Sub Menu Form Load
Private Sub Form_Load()
If con.State = adStateClosed Then
connect
End If
Inilah yang digunakan untuk mengisi datagrid2 yang menggunakan adodc5
Adodc5.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist
Security Info=True;User ID=yuyu;Data Source=inventory"
sql = "select
p.kode_barang,b.nama_barang,p.harga_beli,p.harga_jual,p.jumlah_beli from
barang b,pembelian p where (b.kode_barang=p.kode_barang) and (p.no_faktur='"
& Trim(Text7) & "')"
Adodc5.RecordSource = sql
Adodc5.Refresh
Adodc1.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist
Security Info=True;User ID=yuyu;Data Source=inventory"
Adodc1.Refresh
Adodc2.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist
Security Info=True;User ID=yuyu;Data Source=inventory"
Adodc2.Refresh
Adodc3.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist
Security Info=True;User ID=yuyu;Data Source=inventory"
Adodc3.Refresh
DTPicker1 = Date
DTPicker2 = Date
kosong1
End Sub
K. Sub Menu untuk membuat private kosong
Private Sub kosong()
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text6.Text = ""
Text12.Text = ""
Yuhandri, S.Kom, M.Kom

32

Modul VB 6.0 With Database Oracle 10g


M1 = 0
M2 = 0
End Sub
L. Sub Menu untuk membuat private kosong
Private Sub kosong1()
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text6.Text = ""
Text12.Text = ""
M1 = 0
M2 = 0
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text7.Text = ""
Combo1.Text = ""
Combo2.Text = ""
M3 = 0
f1.Visible = False
f2.Visible = False
End Sub
M. Sub Menu untuk memanggil data supplier
Private Sub Text6_Change()
With f1
Adodc1.Refresh
If Not Text6.Text = "" Then
Adodc1.Recordset.Filter = "kode_suplier LIKE '" & Trim(Text6.Text) & "%'"
End If
.Visible = True
End With
End Sub
N. Sub Menu untuk memanggil data barang
Private Sub Text12_Change()
With f2
Adodc2.Refresh
If Not Text12.Text = "" Then
Adodc2.Recordset.Filter = "kode_barang LIKE '" & Trim(Text12.Text) & "%'"
End If
.Visible = True
End With
End Sub
O. Sub Menu untuk memanggil semua data yang telah diinput dengan kunci
no_faktur
Yuhandri, S.Kom, M.Kom

33

Modul VB 6.0 With Database Oracle 10g

Private Sub text7_change()


M3 = 0
sql = "select suplier.kode_suplier as kode_suplier,suplier.nama_suplier as
nama_suplier, suplier.alamat_suplier as alamat_suplier,suplier.kota_suplier as
kota_suplier,suplier.telepon_suplier as telepon_suplier,pembelian.tgl_faktur as
tgl_faktur,pembelian.jenis_beli as jenis_beli,pembelian.lama as
lama,pembelian.jatuh_tempo as jatuh_tempo from pembelian,suplier where
suplier.kode_suplier=pembelian.kode_suplier and no_faktur='" & Trim(Text7) & "' "
Set rsbarang = con.Execute(sql)
If Not rsbarang.EOF Then
Text1.Text = rsbarang!kode_suplier
Text2.Text = rsbarang!nama_suplier
Text3.Text = rsbarang!alamat_suplier
Text4.Text = rsbarang!kota_suplier
Text5.Text = rsbarang!Telepon_suplier
DTPicker1 = rsbarang!tgl_faktur
Combo1 = rsbarang!jenis_beli
Combo2 = rsbarang!lama
DTPicker2 = rsbarang!jatuh_tempo
sql = "select
p.kode_barang,b.nama_barang,p.harga_beli,p.harga_jual,p.jumlah_beli from
barang b,pembelian p where (b.kode_barang=p.kode_barang) and (p.no_faktur='"
& Trim(Text7) & "')"
Set rsbarang = con.Execute(sql)
Tm3 = 0
If Not rsbarang.EOF Then
rsbarang.MoveFirst
Do While Not rsbarang.EOF
M3 = M3 + (rsbarang!jumlah_beli * rsbarang!harga_beli)
rsbarang.MoveNext
Loop
End If
Adodc5.RecordSource = sql
Adodc5.Refresh
End If
End Sub

IV.

Desain Form Entri Penjualan (Form4)


Yuhandri, S.Kom, M.Kom

34

Modul VB 6.0 With Database Oracle 10g

CODING PROGRAM :
ISI ADODC1 : BARANG
ADODC2 : PENJUALAN
ADODC3 : KOSONG
Frame2 (f2) menampung datagrid1 berisi data barang
Frame4 (f3) menampung datagrid2 berisi data hasil klik menu tambah
Dimana adodc yang digunakan adalah adodc3 (adodc3 dikosongkan
saja) karena nanti ada codding program untuk mengisinya.
A. Sub ini adalah untuk mendefenisikan variable bebas yang akan digunakan :
Dim yuyu, sql, sql1 As String
B. Menampilkan Frame2 (f2)
Private Sub Command1_Click()
If f2.Visible = True Then
f2.Visible = False
Else
Adodc1.Refresh
f2.Top = 1500
f2.Left = 2000
f2.Height = 2500
f2.Visible = True
Yuhandri, S.Kom, M.Kom

35

Modul VB 6.0 With Database Oracle 10g


End If
End Sub
C. Sub Menu Tambah
Private Sub Command2_Click()
Dim saldo, saldoAkhir
If Text1.Text = "" Or Text3.Text = "" Or Text5.Text = "" Then
MsgBox ("Data Tidak Lengkap.....!")
Exit Sub
End If
sql = "insert into penjualan values('" & Trim(Text5.Text) & "','" & Format(DTPicker1, "DDMMM-YYYY") & "','" & Trim(Text1.Text) & "','" & M1 & "','" & M2 & "','" & Val(Text3) & "')"
yuyu = "insert into kartu_stok values('" & Format(DTPicker1, "DD-MMM-YYYY") & "','" &
Text3.Text & "','" & Text1.Text & "',0," & Val(Text3.Text) & ",'Penjualan')"
con.Execute (sql)
con.Execute (yuyu)
saldoAkhir = saldo - Val(Text3)
sql = "select * from barang where kode_barang='" & Trim(Text1) & "' "
Set Rec = con.Execute(sql)
If Not Rec.EOF Then
SA = Rec!stok_akhir - Val(Text3)
con.Execute ("update barang set stok_akhir=" & SA & " where kode_barang='" &
Trim(Text1.Text) & "'")
Else
End If
M3 = Val(M3) + (Val(M2) * Val(Text3))
Adodc3.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist Security
Info=True;User ID=yuyu;Data Source=inventory"
sql = "select p.kode_barang,b.nama_barang,p.harga_dasar,p.harga_jual,p.jumlah_jual from
barang b,penjualan p where (b.kode_barang=p.kode_barang) and (p.no_faktur='" & Val(Text5)
& "')"
Adodc3.RecordSource = sql
Adodc3.Refresh
End Sub
Private Sub Command3_Click()
If Adodc3.Recordset.RecordCount = 0 Then
Exit Sub
Else
If MsgBox("Benar Data akan dihapus?", vbQuestion + vbYesNo, "Hapus") = vbYes Then
sql = "select stok_akhir from barang where kode_barang='" & DataGrid2.Columns(0) & "'"
Set Rec = con.Execute(sql)
Yuhandri, S.Kom, M.Kom

36

Modul VB 6.0 With Database Oracle 10g


If Not Rec.EOF Then
sakhir1 = Rec!stok_akhir
sakhir1 = sakhir1 + Val(DataGrid2.Columns(4))
End If
M3 = Val(M3) - (Val(DataGrid2.Columns(3) * (Val(DataGrid2.Columns(4)))))
sql1 = "update barang set stok_akhir=" & Val(sakhir1) & " where kode_barang='" &
DataGrid2.Columns(0) & "'"
con.Execute (sql1)
sql = "delete from penjualan where no_faktur='" & Val(Text5) & "' and kode_barang='" &
DataGrid2.Columns(0) & "'"
Set rsjual = con.Execute(sql)
con.Execute (sql)
yuyu = "delete from kartu_stok where no_faktur='" & Val(Text5.Text) & "' and kode_barang='"
& DataGrid2.Columns(0) & "'"
Set rsjual = con.Execute(yuyu)
con.Execute (yuyu)
Adodc3.Refresh
End If
End If
kosong
End Sub
D. Sub Menu Cancel
Private Sub Command4_Click()
kosong
End Sub
E. Sub Menu Exit/Keluar :
Private Sub Command5_Click()
Unload Me
If con.State = adStateOpen Then
con.Close
End If
End Sub
F. Sub Menu Menampilkan data di Form setelah diklik di datagrid1
Private Sub DataGrid1_Click()
Text1.Text = DataGrid1.Columns(0)
Text2.Text = DataGrid1.Columns(1)
M1 = DataGrid1.Columns(2)
M2 = DataGrid1.Columns(3)
Text4.Text = DataGrid1.Columns(4)
Yuhandri, S.Kom, M.Kom

37

Modul VB 6.0 With Database Oracle 10g


f2.Visible = False
End Sub
G. Sub untuk membuat logika kembalian uang
Private Sub M4_keypress(KeyAscii As Integer)
If KeyAscii = 13 Then
M5 = M4 - M3
End If
End Sub
H. Sub untuk mencari data berdasarkan nomor Faktur
Private Sub Text5_Change()
M3 = 0
sql = "select b.kode_barang as kode_barang,p.tgl_faktur as tgl_faktur from penjualan p,barang
b where b.kode_barang=p.kode_barang and no_faktur='" & Val(Text5) & "' "
Set rsjual = con.Execute(sql)
If Not rsjual.EOF Then
DTPicker1 = rsjual!tgl_faktur
sql = "select p.kode_barang,b.nama_barang,p.harga_dasar,p.harga_jual,p.jumlah_jual from
barang b,penjualan p where (b.kode_barang=p.kode_barang) and (p.no_faktur='" & Val(Text5)
& "')"
Set rsjual = con.Execute(sql)
Tm3 = 0
If Not rsjual.EOF Then
rsjual.MoveFirst
Do While Not rsjual.EOF
M3 = M3 + (rsjual!jumlah_jual * rsjual!harga_jual)
rsjual.MoveNext
Loop
End If
Adodc3.RecordSource = sql
Adodc3.Refresh
End If
End Sub
Private Sub Text6_Change()
With f2
Adodc1.Refresh
If Not Text6.Text = "" Then
Adodc2.Recordset.Filter = "kode_barang LIKE '" & Trim(Text6.Text) & "%'"
End If
.Visible = True
End With
End Sub
Private Sub Form_Load()
If con.State = adStateClosed Then
Yuhandri, S.Kom, M.Kom

38

Modul VB 6.0 With Database Oracle 10g


connect
End If
Adodc3.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist Security
Info=True;User ID=yuyu;Data Source=inventory"
sql = "select p.kode_barang,b.nama_barang,p.harga_dasar,p.harga_jual,p.jumlah_jual from
barang b,penjualan p where (b.kode_barang=p.kode_barang) and (p.no_faktur='" & Val(Text5)
& "')"
Adodc3.RecordSource = sql
Adodc3.Refresh
Adodc1.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist Security
Info=True;User ID=yuyu;Data Source=inventory"
Adodc1.Refresh
Adodc2.ConnectionString = "Provider=MSDASQL.1;Password=yuyu;Persist Security
Info=True;User ID=yuyu;Data Source=inventory"
Adodc2.Refresh
DTPicker1 = Date
kosong
End Sub
I. Membuat Private Kosong
Private Sub kosong()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
M1 = 0
M2 = 0
M3 = 0
M4 = 0
M5 = 0
f2.Visible = False
End Sub

Yuhandri, S.Kom, M.Kom

39

Modul VB 6.0 With Database Oracle 10g

A. Disain Laporan (Dengan Crystal Report 7.0)

B. Cara Menggunakan Crystal Report : (Crystal Report 7.0)


1. Buka Crystall Report (Seagate Crystal Report-32 bit Crystal Report
Desainer)
2. Klik Register Later
3. Klik New Report
4. Klik Standart
5. Klik SQL/ODBC-Pilih Inventory-isi user password-klik OK
6. Pilih Database Inventory dan klik OK
7. Selanjutnya pilih table barang tersebut dengan cara pilih nama
table dan klik add, lakukan sampai selesai

8. Klik done untuk mengakhir pemilihan table.


9. Klik next selanjutnya pilih field-field yang akan dimasukkan dalam
laporan (sesuaikan dengan tampilan table diatas), dalam hal ini
adalah :
FIELDS : Kode_barang,Nama_barang dst. (pilih saja add all)

Yuhandri, S.Kom, M.Kom

40

Modul VB 6.0 With Database Oracle 10g

10. Klik Next


11. Selanjutnya langsung aja Klik Preview Report (karena nanti untuk
desain kita buat sendiri sesuai dengan kebutuhan), maka akan
muncul tampilan sebagai berikut : (hapus semua yang ada karena
kita mau mendesain baru semuanya)

12. Selanjutnya simpan file dalam folder sama dengan program beri
nama lap_barang
13. Selanjutnya Klik File dan printer setup, pilih paper legal dan
orientasion Landscape klik OK
14.
Melakukan Desain Ulang :
a. Tampilan Design

Yuhandri, S.Kom, M.Kom

41

Modul VB 6.0 With Database Oracle 10g

b. Penjelasan Menu :
-

Menu untuk mendesain


Menu untuk melihat hasil desain
judul Laporan diletakkan dibagian ini
Sub judul diletakkan dibagian ini
field-field database beserta dengan formula diletakan
pada bagian ini
Untuk meletakan sub judul akhir seperti padang,
tanggal dan nama pimpinan
Kebanyakan digunakan untuk meletakan nomor
halaman
insert text (membuat kalimat)
Membuat rumus (formula, total running. Other dan lain-lain

c. Klik Kanan di Report Header klik dont suppress sehingg report


header nya tidak abu-abu lagi dan bisa membuat judul laporan
disana dengan : (tarik garisnya untuk memperbesar
tampilannya)
PT. ABC
Laporan Data Barang
d. Klik Preview untuk melihat hasil, selanjutnya kembali lagi ke
menu Design
e. Buat kotak dengan memilih : (insert Box)
Jika tampilan ini tidak muncul maka klik Tab View-Klik Toolbar lalu
checklist Supplementary Tools dan klik OK

Yuhandri, S.Kom, M.Kom

42

Modul VB 6.0 With Database Oracle 10g


f. Mulailah Mendesain Sehingga menjadi Tampilan Seperti dibawah
ini :

Penjelasan :
Nomor diisi dengan Recordnumber dengan diambil pada

Printdate dan pagenumber juga diambil dengan cara yang sama


Selanjutnya bagaimana membuat rumus untuk menampilkan nama,
Klik
Pilih Formula muncul tampilan sebagai berikut :

Isi rumusnya dengan namode (sebagai contoh diatas), selanjutnya


muncul isian, isi saja dengan : n lalu klik gambar simpan
dan
pilih namoden dan klik insert dan bawa ke report footer.
Yuhandri, S.Kom, M.Kom

43

Modul VB 6.0 With Database Oracle 10g


15. Selanjutnya saudara simpan dan kembali ke Visual Vasic untuk
membuat program pemanggil dari VB ke Crystal Reportnya
16. Format Laporan di VB :
a. Pertama lakukan dahulu penambahan component untuk crystal
report di VB. Klik project dan ambil Component, lalu checklist
Klik OK
b. Selanjutnya insert Crystall report ke form dan singkatan
namanya jadi Cr saja.
c. Disain Form :

CATATAN : ADODC1 : BARANG


Crystalreport disingkat : Cr
CODING PROGRAM :
A. Sub Program Untuk Form Load
Private Sub Form_Load()
If con.State = adStateClosed Then
connect
End If
Adodc1.Refresh
kosong
End Sub
B. Sub untuk kosong
Private Sub kosong()
Text1.Text = ""
End Sub
C. Sub Kosong untuk menampilkan laporan di Crystal report
Yuhandri, S.Kom, M.Kom

44

Modul VB 6.0 With Database Oracle 10g


Private Sub Command1_Click()
Dim pass As String, b As String
pass = "Provider=MSDASQL.1;Pwd=yuyu;Persist Security Info=True;User ID=yuyu;Data
Source=inventory"
Cr.connect = pass
Cr.ReportFileName = App.Path & "\lap_barang.rpt"
Cr.WindowState = crptMaximized
Cr.Formulas(0) = "namoden='" & Text1.Text & "'"
Cr.RetrieveDataFiles
Cr.Action = 1
End Sub
D. Sub untuk Cancel
Private Sub Command2_Click()
kosong
End Sub
E. Sub untuk Keluar/Exit
Private Sub Command3_Click()
Unload Me
End Sub

(Untuk Laporan Data Suplier buatlah dengan cara yang sama


dengan membuat Laporan Data Barang)

C. Selanjutnya disini akan dibahas bagaimana cara membuat Laporan Pembelian


Barang / Bulan :
1. Simpan ulang laporan barang dengan nama lap_beli
2. Dalam membuat laporan pembelian butuh 3 tabel (barang, supplier, pembelian)
3. Klik Tab Database-Add Database to Report Klik SQL Table Pilih ODBC-Inventory- Isi
Password Klik OK Pilih Tabel Pembelian, Klik Ok dan OK lakukan cara yg sama
untuk memasukkan tabel suplier.
4. Lakukan desain sehingga seperti tampilan dibawah ini :

Yuhandri, S.Kom, M.Kom

45

Modul VB 6.0 With Database Oracle 10g

5. Membuat rumus totbayar :


- Klik
ambil pilihan Formula, Klik New beri nama totbayar, klik ok dan buat
rumus
- Klik Simpan
dan pilih totbayar, klik insert lalu bawa ke kolom total bayar.
6. Membuat rumus total :
Cara sama dengan totbayar tapi isi rumusnya sebagai berikut :

7. Membuat tempat tampilan bulan caranya sama dengan membuat Namoden.


8. Selanjutnya simpan ulang dan buatkan coding di VB, sebagai berikut :

Coding :
Isi adodc1 : dengan Tabel Pembelian

Private Sub Form_Load()


If con.State = adStateClosed Then
connect
End If
Adodc1.Refresh
kosong
Yuhandri, S.Kom, M.Kom

46

Modul VB 6.0 With Database Oracle 10g


End Sub
Private Sub kosong()
Text1.Text = ""
End Sub
Private Sub Command1_Click()
Dim pass As String, b As String
pass = "Provider=MSDASQL.1;Pwd=yuyu;Persist Security Info=True;User ID=yuyu;Data
Source=inventory"
Cr.connect = pass
Cr.ReportFileName = App.Path & "\lap_beli.rpt"
Cr.SelectionFormula = "(month({pembelian.tgl_faktur})=" & Month(DTPicker1.Value) & "
and year({pembelian.tgl_faktur})=" & Year(DTPicker1.Value) & ")"
Cr.WindowState = crptMaximized
Cr.Formulas(0) = "bulan='" & Format(DTPicker1.Value, "MM/yyyy") & "'"
Cr.Formulas(1) = "namoden='" & Text1.Text & "'"
Cr.RetrieveDataFiles
Cr.Action = 1
End Sub
Private Sub Command2_Click()
kosong
End Sub
Private Sub Command3_Click()
Unload Me
End Sub

D. Selanjutnya disini akan dibahas bagaimana cara membuat Laporan Penjualan


Barang / Hari :
1. Simpan ulang laporan lap_beli dengan nama lap_jualhari
2. Dalam membuat laporan penjualan butuh 2 tabel (barang, penjualan)
3. Klik Tab Database-Add Database to Report Klik SQL Table Pilih ODBC-Inventory- Isi
Password Klik OK Pilih Tabel Penjualan, Klik Ok dan OK
4. Remove table supplier dengan cara klik Database-Klik Remove From Report dan pilih
tabel supplier dan klik remove selanjutnya klik ok untuk akhiri
5. Lakukan desain sehingga seperti tampilan dibawah ini :

Yuhandri, S.Kom, M.Kom

47

Modul VB 6.0 With Database Oracle 10g

6. Cara pembuatan rumus dan lain-lain sama dengan laporan pembelian tadi berikut rumusrumusnya :
Rumus totalbayar :
Rumus Totsel
:
Cara membuat tanggal sama dengan namoden.
7. Berikut desain tampilan di VB nya :

Codingnya :
Keterangan : Adodc1 isi dengan tabel penjualan
Private Sub Form_Load()
If con.State = adStateClosed Then
connect
End If
Adodc1.Refresh
kosong
End Sub
Private Sub kosong()
Text1.Text = ""
Yuhandri, S.Kom, M.Kom

48

Modul VB 6.0 With Database Oracle 10g


End Sub
Private Sub Command1_Click()
Dim pass As String, b As String
pass = "Provider=MSDASQL.1;Pwd=yuyu;Persist Security Info=True;User
ID=yuyu;Data Source=inventory"
Cr.connect = pass
Cr.ReportFileName = App.Path & "\lap_jualhari.rpt"
Cr.SelectionFormula = "(day({penjualan.tgl_faktur})=" & Day(DTPicker1.Value) & "
and month({penjualan.tgl_faktur})=" & Month(DTPicker1.Value) & " and
year({penjualan.tgl_faktur})=" & Year(DTPicker1.Value) & ")"
Cr.WindowState = crptMaximized
Cr.Formulas(0) = "tanggal='" & Format(DTPicker1.Value, "dd/MM/yyyy") & "'"
Cr.Formulas(1) = "namoden='" & Text1.Text & "'"
Cr.RetrieveDataFiles
Cr.Action = 1
End Sub
Private Sub Command2_Click()
kosong
End Sub
Private Sub Command3_Click()
Unload Me
End Sub

E. Selanjutnya disini akan dibahas bagaimana cara membuat Laporan Penjualan


Barang / Bulan:
1. Simpan ulang laporan lap_jualhari dengan nama lap_jualbulan
2. Dalam membuat laporan penjualan butuh 2 tabel (barang, penjualan)
3. Lakukan desain sehingga seperti tampilan dibawah ini :

Yuhandri, S.Kom, M.Kom

49

Modul VB 6.0 With Database Oracle 10g

4. Tambahannya dari jual/hari adalah masukkan field tanggal.


5. Berikut Desain tampilannya di VB (copy saja dari penjualan harian) lakukan perobahan
pada dtpicker1 jadi MM/yyyy di propertiesnya, seperti dibawah ini :

Codingnya sama dengan Penjualan harian, yang perlu diganti disini nama file dan day
dibuang karena kita membuat laporan per bulan.

Berikut Codingnya :
Private Sub Form_Load()
If con.State = adStateClosed Then
connect
End If
Adodc1.Refresh
kosong
End Sub
Yuhandri, S.Kom, M.Kom

50

Modul VB 6.0 With Database Oracle 10g


Private Sub kosong()
Text1.Text = ""
End Sub
Private Sub Command1_Click()
Dim pass As String, b As String
pass = "Provider=MSDASQL.1;Pwd=yuyu;Persist Security Info=True;User
ID=yuyu;Data Source=inventory"
Cr.connect = pass
Cr.ReportFileName = App.Path & "\lap_jualbulan.rpt"
Cr.SelectionFormula = "(month({penjualan.tgl_faktur})=" & Month(DTPicker1.Value)
& " and year({penjualan.tgl_faktur})=" & Year(DTPicker1.Value) & ")"
Cr.WindowState = crptMaximized
Cr.Formulas(0) = "tanggal='" & Format(DTPicker1.Value, "MM/yyyy") & "'"
Cr.Formulas(1) = "namoden='" & Text1.Text & "'"
Cr.RetrieveDataFiles
Cr.Action = 1
End Sub
Private Sub Command2_Click()
kosong
End Sub
Private Sub Command3_Click()
Unload Me
End Sub

F. Selanjutnya disini akan dibahas bagaimana cara membuat Laporan Penjualan


Barang / Tahun:
1.
2.
3.
4.

Simpan ulang laporan lap_jualbulan dengan nama lap_jualtahun


Dalam membuat laporan penjualan butuh 2 tabel (barang, penjualan)
Lakukan desain
Disini ada tambahan dengan membuat group dengan tgl_faktur, dimana dengan membuat
group tersebut tampilan akan muncul berdasarkan bulan dalam 1 tahun dan tangal dalam
bulan itu sehingga nampak dalam 1 tahun itu dengan penjualan dipisah masing-masing
perbulannya.
Cara membuat group tersebut :
Klik Tab Insert Klik Group maka akan muncul tampilan seperti dibawah ini dan isi
sesuai dengan tampilan dibawah :
Yuhandri, S.Kom, M.Kom

51

Modul VB 6.0 With Database Oracle 10g

Klik Ok maka akan muncul tampilan seperti dibawah ini :

Kalau diklik Preview maka akan muncul tampilan seperti berikut :

Yuhandri, S.Kom, M.Kom

52

Modul VB 6.0 With Database Oracle 10g

Tampilan diatas baru ada bulan May saja jika ada bulan lain maka juga akan
terbentuk seperti bulan Mei diatas
Simpan laporan lalu kembali ke VB. Untuk membuat form cetak laporannya.

5. Form cetak laporan dengan disain sebagai berikut : (sama saja dengan laporan
sebelumnya)

Private Sub Form_Load()


If con.State = adStateClosed Then
connect
End If
Adodc1.Refresh
kosong
End Sub
Private Sub kosong()
Text1.Text = ""
End Sub

Private Sub Command1_Click()


Dim pass As String, b As String
pass = "Provider=MSDASQL.1;Pwd=yuyu;Persist Security Info=True;User
ID=yuyu;Data Source=inventory"
Cr.connect = pass
Cr.ReportFileName = App.Path & "\lap_jualtahun.rpt"
Cr.SelectionFormula = "(year({penjualan.tgl_faktur})=" & Year(DTPicker1.Value) & ")"
Cr.WindowState = crptMaximized
Cr.Formulas(0) = "tanggal='" & Format(DTPicker1.Value, "yyyy") & "'"
Cr.Formulas(1) = "namoden='" & Text1.Text & "'"
Cr.RetrieveDataFiles
Cr.Action = 1
End Sub
Private Sub Command2_Click()
kosong
End Sub
Yuhandri, S.Kom, M.Kom

53

Modul VB 6.0 With Database Oracle 10g


Private Sub Command3_Click()
Unload Me
End Sub
G. Selanjutnya disini akan dibahas bagaimana cara membuat Laporan Kartu Stok :
1. Pembuatan kartu stok di crystal report sama saja dengan membuat laporan-laporan
sebelumnya
2. Buka lap_barang dan simpan ulang dengan nama kartu_stok
3. Selanjutnya lakukan desain ulang sesuai dengan tampilan yang diingini
4. Tambahkan table kartu_stok kedalam laporan tersebut, cara sama dengan
menambahkan tabel saat membuat laporan jual per bulan.
5. Dibuat group dengan kode_barang (cara buat group sama dengan membuat group
pada laporan / tahun) lalu suppress kedua group tersebut dengan cara klik kanan
dekat header# lalu pilih suppress sehingga jadi abu-abu dan selanjutnya klik kanan
juga dekat group footer1# pilih suppress
6. Buat rumus dengan menggunakan running total di
lalu pilih Running Total dan
New lalu isi sesuai dengan tampilan halaman berikut :

7. Lakukan hal yang sama untuk membuat Running total keluar.

Yuhandri, S.Kom, M.Kom

54

Modul VB 6.0 With Database Oracle 10g

8.

Buat rumus saldoawal dengan cara : klik

ambil formula, lalu klik New dan buat

namanya saldoawal dan beri isi :


9. Selanjutnya buat rumus sisa di Formula, klik New beri nama sisa dan isi rumus sisa
sebagai berikut :
if {kartu_stok.ket}='Penjualan' or {Kartu_stok.ket}='Return Pembelian' then
{@saldoawal}+{#masuk}-{#keluar}
else
{@saldoawal}+{#masuk}-{#keluar};
10. Buat juga seperti namoden untuk kode barang dengan nama KODE dan nama barang
dengan NAMA, selanjutnya silakan atur format field dari masuk dan keluar serta
saldo awal, tanggal dengan cara klik kanan dengan field tersebut lalu pilih format
Field, misal pilih yang tidak berdecimal, atau pilih date saja dan lain-lain yang dirasa
perlu, jika selesai simpan dan kembali ke VB untuk membuat tampilan cetak buku
kartu stok.
Tampilan hasil disain :

Yuhandri, S.Kom, M.Kom

55

Modul VB 6.0 With Database Oracle 10g

Catatan Penting :

Sering dalam pengabungan beberapa tabel bermasalah di SQL nya, berikut


dijelaskan cara membuak SQLnya dan cara merobahnya :
Klik Database Klik Show SQL Query
Maka muncul tampilan sebagai berikut :

Biasanya yg sering masalah adalah setelah FROM dirobah dalam bentuk Join,
maka tugas kita disini menganti kedalam bentuk syntax :
Barang barang1, kartu_stok kartu stok1 dan setersunya, jika ada lagi tabel
lainnya
Tetapi selagi tidak ada error biarkan saja yang disana, tapi jika ada error segera
lihat sql nya.
Begitu juga jika wherenya perlu penambahan bisa juga dilakukan disana.

11. Tampilan VB :
Yuhandri, S.Kom, M.Kom

56

Modul VB 6.0 With Database Oracle 10g


Kita coba disini gunakan ListBox untuk mencari data barang yang akan ditampilkan
kartu stok nya.
Letak List Box : (dilingkari) klik lalu drag didalm form VB.

Isi Adodc1 dengan Kartu Stok.


Isi Adodc2 dengan Barang

Selanjutnya isi Codingnya :

Private Sub Command1_Click()


Dim pass As String, b As String
pass = "Provider=MSDASQL.1;Pwd=yuyu;Persist Security Info=True;User
ID=yuyu;Data Source=inventory"
Cr.connect = pass
Cr.ReportFileName = App.Path & "\kartu_stok.rpt"
Cr.SelectionFormula = "({kartu_stok.kode_barang})='" & Trim(Text1) & "'"
Cr.WindowState = crptMaximized
Cr.Formulas(0) = "kode='" & Text1.Text & "'"
Cr.Formulas(1) = "nama='" & Text2.Text & "'"
Cr.Formulas(2) = "namoden='" & Text3.Text & "'"
Cr.RetrieveDataFiles
Cr.Action = 1
End Sub
Private Sub Command2_Click()
Yuhandri, S.Kom, M.Kom

57

Modul VB 6.0 With Database Oracle 10g


kosong
End Sub
Private Sub Command3_Click()
Unload Me
End Sub
Private Sub kosong()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Sub Form_Load()
If con.State = adStateClosed Then
connect
End If
Adodc1.Refresh
Adodc2.Refresh
List1.Visible = False
kosong
End Sub

Dari sini sampai terakhir adalah perintah untuk menampilkan List


Box
Private Sub List1_click()
Text1.Text = Left(List1.Text, 12)
List1.Clear
List1.Visible = False
text1_dblClick
Text1.SetFocus
End Sub
Private Sub text1_dblClick()
On Error Resume Next
strcari = "kode_barang='" & Text1.Text & "'"
Adodc2.Refresh
With Adodc2.Recordset
.MoveFirst
.Find strcari
If .EOF Then
Text2.SetFocus
Else
Text2.Text = !nama_barang
End If
End With
End Sub
Private Sub List1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
List1.Visible = False
End If
Yuhandri, S.Kom, M.Kom

58

Modul VB 6.0 With Database Oracle 10g


End Sub
Private Sub Text1_keypress(KeyAscii As Integer)
Dim strsql As String
If KeyAscii = 13 Then
Dim strsql1 As String
List1.Clear
List1.Visible = True
Set rsbarang = New ADODB.Recordset
strsql1 = "Select kode_barang,nama_barang from barang where kode_barang like '"
& Text1.Text & "%' order by kode_barang"
Set rsbarang = con.Execute(strsql1, , 1)
With rsbarang
If Not (.BOF And .EOF) Then
.MoveFirst
Do Until .EOF
List1.AddItem !kode_barang & "
" & !nama_barang
.MoveNext
Loop
Else
List1.Visible = False
Text2.SetFocus
End If
.Close
End With
End If
End Sub
Catatan :
1. Cara mengeluarkan kode barang letakan kursor di text1 lalu enter dan pilih kode barang
yang diingini dan
2. Untuk Sub menu setting belum sempat dibuatkan modulnya, jika saudara membutuhkan
coddingnya bisa langsung minta pada saya.
3. Modul ini masih banyak kekurangan dan perlu perbaikan, silakan menyempurnakannya.
SELAMAT MENCOBA DAN SEMOGA BERMANFAAT

Yuhandri, S.Kom, M.Kom

59

Anda mungkin juga menyukai