T
T
u
u
t
t
o
o
r
r
i
i
a
a
l
l
V
V
i
i
s
s
u
u
a
a
l
l
B
B
a
a
s
s
i
i
c
c
6
6
.
.
0
0
M
M
e
e
m
m
b
b
u
u
a
a
t
t
P
P
r
r
o
o
g
g
r
r
a
a
m
m
L
L
o
o
g
g
i
i
s
s
t
t
i
i
k
k
B
B
a
a
r
r
a
a
n
n
g
g
(
(
I
I
n
n
v
v
e
e
n
n
t
t
o
o
r
r
y
y
S
S
y
y
s
s
t
t
e
e
m
m
)
)
Imam Budi Kustantosim_rusak@yahoo. com
P
P
e
e
n
n
g
g
a
a
n
n
t
t
a
a
r
r
Suatu ketika seorang teman datang kepada saya. “ Saya pengin sekali bisa bikin program.
Sekarang saya lagi coba belajar Visual Basic. Tapi rasanya kok susah banget, ya?!! Ngga seperti program lainnya” katanya “ Perintahnya banyak sekali. Ngga muat otak saya “
My God !!! Coba saja kalau dari awal ia mengenal komputer yang dipelajari adalah ViBas, tentunya sekarang yang ia katakan susah adalah Microsoft Word, Excell atau yang lainnya. Dalam Word, asal bisa baca tulisan pada keyboard, saya yakin semua orang pasti bisa bikin surat. Cukup ditambah mengerti perintah mencetak, jadilah surat yang ia inginkan. Entah bagaimanapun prosesnya.
Demikian juga halnya dengan ViBas. Untuk bisa membuat sebuah program aplikasi itu tidak mesti harus menguasai semua teori tentang ViBas. Asal logika jalan, semisal hanya bisa struktur If...Then sajapun itu sudah bisa digunakan untuk membuat sebuah program yang jadi. Karena pada prinsipnya, semua software adalah sama mudahnya ( atau bisa jadi
malahan sama – sama sulitnya ?? ☺ ).
Tutorial ini mencoba membahas tentang langkah – langkah membuat sebuah program aplikasi berbasis Visual Basic dari awal sampai akhir. Dari memahami sistem database yang akan kita buat sampai mengemasnya ( packaging ) menjadi program yang siap saji (
emangnya makanan ).
Namun penulis tidak akan mengulas banyak tentang dasar – dasar ViBas. Karena sudah banyak artikel yang mengulas secara panjang tentang itu. Di IKC ada Krishna D. Octovhiana dengan serial “ Cepat Mahir Visual Basic 6.0 “nya. Di situ semua sudah lengkap ( sampe – sampe penulis bingung mo nambahin yang mana ).
Sedikit yang perlu penulis tekankan adalah bahwa penggunaan struktur If …Then sebaiknya anda pahami bener – bener dulu. Yang lainnya sambil jalan juga nggak papa. Tool yang perlu dipersiapkan adalah Microsoft Visual Basic 6.0, dilengkapi dengan True DBGrid 6.0. Untuk aplikasi databasenya menggunakan Microsoft Office Access, serta Seagate Crystal Report 8.0 untuk membuat laporannya ( reporting ).
Akhirnya, tak ada gading yang tak retak, tak ada tulang yang tak patah. Semoga sedikit yang dapat saya berikan ini dapat bermanfaat bagi pembaca sekalian.
Lisensi Dokumen:
Copyright © 2003 - 2006 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
T
T
U
U
T
T
O
O
R
R
I
I
A
A
L
L
1
1
M
M
I
I
C
C
R
R
O
O
S
S
O
O
F
F
T
T
A
A
C
C
C
C
E
E
S
S
S
S
D
D
A
A
T
T
A
A
B
B
A
A
S
S
E
E
S
S
Y
Y
S
S
T
T
E
E
M
M
&
&
O
O
D
D
B
B
C
C
A. Basis Data ( Database )
Secara umum definisi Basis Data atau Database adalah kumpulan data yang saling berhubungan. Dalam implementasinya data tersebut berbentuk Tabel.
Tabel adalah obyek database yang memuat record ( row / baris ) dimana masing – masing record tersebut merupakan gabungan dari beberapa sifat data yang identik. Nilai – nilai yang terkandung dalam sifat data tersebut disebut field ( column / kolom ). Dalam penerapannya, perangkat lunak ( software ) yang digunakan untuk mengelola database ini disebut database management system ( DBMS ). Dan jika menggunakan model relasi maka disebut relational database management system atau disingkat RDBMS.
RDBMS mempunyai fasilitas untuk memproses, mendefinisikan, membuat serta memanipulasi database dalam berbagai aplikasi.
Salah satu contoh software RDBMS yang sering digunakan adalah Microsoft SQL dan Microsoft Office Access.
B. Tabel, Record, dan Field
Jika database dapat dianalogkan sebagai filling cabinet, maka tabel ( table ) adalah salah satu rak dari filing cabinet tersebut.
Setiap rak akan memuat beberapa dokumen yang merupakan analogi dari record, sementara field dapat digambarkan sebagai isian dari dokumennya.
Dalam definisi formal basis data, record adalah suatu entitas ( kesatuan yang memiliki arti tunggal atau tidak memiliki kesamaan arti ).
Sebagai isian dokumen, sebuah field menggambarkan karakteristik dari sebuah obyek record.
Kesatuan entitas – entitas ( yang terstruktur ) tersebut inilah yang disebut sebagai tabel. Atribut adalah sebuah nilai yang merupakan sifat dari sebuah obyek yang merupakan interseksi dari record dan field.
Nama Alamat Umur No. Telepon Kode
Fulan Jln Pahlawan 42 21 th 08188888 1 Fulan Jln Pendekar 12 21 th 08188889 2
Si Fulan yang beralamat di Jalan Pahlawan No. 42, berumur 21 tahun dengan Nomor telepon 08188888 dengan kode 1 dianggap mewakili satu record. Sedangkan Fulan pada record pertama dan Fulan pada record kedua adalah mewakili salah satu field yaitu field Nama.
Field
Untuk membedakan 2 nama Fulan sebagaimana tabel di atas, maka setiap tabel harus mempunyai pengenal ( identifier ) yang unik, yang keberadaannya digunakan sebagai pembeda antara record satu dengan record yang lainnya.
Identifier diletakkan dalam sebuah field tertentu, dan selanjutnya field ini disebut sebagai field kunci utama ( primary key ).
Contoh : Kode ( dalam ilustrasi tabel di atas ) dapat difungsikan sebagai primary key. Oleh karenanya kode tidak boleh sama antara record satu dengan record lainnya.
Dalam sebuah database, field kunci utama berfungsi untuk menjaga integritas / kesatuan informasi yang ada. Satu tabel dapat memuat satu kunci utama, dan beberapa kunci tamu. Kunci tamu adalah kunci utama yang keberadaannya tergantung pada satu kunci utama tertentu.
Dalam ilustrasi diatas, pada tabel pertama, IDNasabah adalah kunci utama, sedangkan IDAlamat dan IDKet_Keluarga adalah kunci tamu. ID tersebut sendiri adalah kunci utama dari tabel kedua dan ketiga.
C. Relasi Database
Dalam sebuah relasi database, tabel yang memuat kunci utama yang digunakan sebagai referensi kunci utama tabel lainnya disebut tabel induk ( parent ) sedangkan tabel yang memuat kunci tamu disebut tabel anak ( child ).
Ada 3 bentuk relasi yang lazim digunakan, antara lain:
1. relasi one to one. Relasi ini meyatakan bahwa hanya satu record pada tabel anak yang dapat direlasikan dengan satu record pada tabel induk.
Field kunci utama yang digunakan sebagai kunci utama pada tabel lainnya disebut field relasi.
2. relasi one to many. Relasi ini meyatakan bahwa beberapa record pada tabel anak dapat direlasikan dengan satu record pada tabel induk.
3. relasi many to many. Relasi ini meyatakan bahwa beberapa record pada tabel anak dapat direlasikan dengan satu record pada tabel induk, dan sebaliknya beberapa record pada tabel induk dapat direlasikan pada satu record pada tabel anak. Namun dalam perancangan tabel. Relasi many to many dari 2 tabel tidak lazim / tidak boleh dilakukan, karena hal itu menjadikan field kunci tidak lagi bersifat unik.
D. Tipe Data Field
Tipe data field adalah jenis atau sifat yang melekat pada suatu field. Dalam aplikasinya tipe data field berupa bilangan dan teks.
Contoh tipe data field dalam Microsoft Acces
Text : digunakan untuk menyimpan data teks, angka yang tidak dioperasi-hitungkan. Dapat memuat maksimal 255 karakter.
Number : digunakan untuk menyimpan data numerik (angka yang dioperasi-hitungkan )
Date / Time : digunakan untuk menyimpan data tanggal dan waktu
Yes / No : digunakan untuk menyimpan data logika ( ya dan tidak, benar dan salah, atau on dan off )
AutoNumber : digunakan untuk menyimpan data numerik yang akan berubah secara otomatis jika satu record ditambahkan pada tabel.
Currency : digunakan untuk meyimpan nilai mata uang. Dapat menampung sampai 15 digit ke kiri dan 4 digit ke kanan titik desimal.
Memo : fungsinya hampir sama dengan text, tetapi memo dapat menampung sampai dengan 64000 karakter.
Hiperlink : digunakan untuk menyimpan suatu link alamat ( IP Address ) E. Query
Query adalah metode untuk mengakses record – record dari satu tabel atau lebih yang mempunyai atribut sesuai dengan kriteria – kreiteria tertentu.
Ada banyak cara untuk menggunakan Query. Diantaranya adalah dengan menggunakan statemen SQL, Microsoft Query ataupaun dengan menggunakan Microsoft Access. Penggunaan statemen SQL lebih rumit jika dibandingkan dengan menggunakan Microsoft Query dan Microsoft Access.
Dalam Microsoft Access, query adalah fasilitas yang digunakan untuk menentukan serta mengelompokkan field dan record dari satu tabel atau lebih, atau juga query lainnya yang mempunyai relasi dengan suatu kriteria tertentu.
Penggunaan query dalam aplikasi database menjadikan proses manipulasi data menjadi lebih mudah.
Operator kriteria ( criteria ) dalam Microsoft Access mengkondisikan penyeleksian data di query sesuai dengan kriteria yang diharapkan.
Macam – macam jenis operator :
1. Comparison atau perbandingan. Operator ini bisa digunakan pada tipe data text, number, dan date. Terdiri dari :
< kurang dari > lebih dari = sama dengan
<= kurang dari atau sama dengan >= lebih dari atau sama dengan <> tidak sama dengan
2. Between … and … digunakan untuk mencari range dengan nilai tertentu. Misalnya between 01/01/2005 and 12/12/2005 artinya sebuah rentang waktu antara tanggal 1 Januari 2005 sampai dengan 12 Desember 2005.
3. Karakter wildcard ( * atau ? ) biasa diawali dengan kata “ Like “. Dan aplikasi Microsoft Access akan secara otomatis menambahkan kala “ Like “ dan tanda petik sebelum kriteria yang mengandung wildcard.
Misalnya kriteria like ‘ b* ’ mengandung arti sebuah kriteria yang menyatakan semua kata yang berawalan huruf ‘ b ‘.
4. Aritmetika digunakan pada operasi hitung. Dapat digunakan pada tipe data numerik dan date. Terdiri dari :
+ untuk operasi penjumlahan - untuk operasi pengurangan * untuk operasi perkalian / untuk operasi pembagian
5. Operator Fungsi merupakan suatu perintah yang digunakan untuk mengkonversi atau mengambil nilai tertentu dari suatu field. Macam – macam fungsi :
Str ( field numeric ) : untuk mengkonversi nilai numerik menjadi text.
Val ( field text ) : untuk mengkonversi data text yang berupa angka menjadi data numeric.
Right ( field text ) : mengambil karakter dari sebelah kanan. Left ( field text ) : untuk mengambil karakter dari sebelah kiri. Mid ( field text ) : untuk mengambil karakter antara / tengah. Date () : untuk mengambil tanggal dari system.
Day ( field date ) : untuk mengambil nilai tanggal dari suatu data bertipe date / time. Nilai yang dihasilkan bertipe data numeric. Fungsi yang bersamaan dengannya adalah operator Month ( field date ) dan Year ( field date ).
IsNull : untuk mengambil / field yang tidak diisi atau belum terisi. Kebalikannya adalah NotIsNull.
6. Operator Logika digunakan untuk memberi dua atau lebih ( menggabungkan ) kriteria suatu field. Operator yang sering dipakai antara lain :
And untuk memberi 2 kriteria yang harus dipenuhi semuanya.
Or untuk memberi 2 kriteria yang salah satu atau keduanya harus terpenuhi. Not untuk memberi kriteria ‘bukan’
Desain Sistem Database
Bagi pembaca yang lebih familier menggunakan Microsoft SQL Server untuk aplikasi databasenya, dapat menggunakan software tersebut. Karena langkah – langkahnya relative sama dengan menggunakan Microsoft Office Access.
Nama file database atau nama databasenya jika menggunakan Microsoft SQL sebenarnya tidak mengikat. Anda dapat menggunakan nama lain yang mungkin berbeda dengan yang penulis gunakan.
1. Buka Microsoft Office Acces, buat sebuah database baru dengan nama DB_LogHIS.mdb, simpan dalam sub folder Data pada direktori C:\LogHIS
2. Tabel yang pertama kita buat adalah tabel – tabel pendukung, antara lain :
buat field seperti gambar di bawah ini :
Lalu simpan ( press F12 ) dengan nama mstJenisBarang.
Tabel tersebut tidak memerlukan ID / primary key, sehingga ketika muncul task berisi konfirmasi tentang tidak adanya primari key yang terdefinisi, kita abaikan saja dengan memilih No
( double click Create
3. Jangan dulu ditutup tabel tersebut, berturut – turut simpan kembali tabel tersebut ( press F12 ) dengan nama lain yaitu : mstSatuanBarang, mstBuktiTerima, mstDasarTerima, mstBuktiKeluar, dan terakhir mstDasarKeluar.
4. Mengulang langkah ke 2 di atas, tabel ke 7 yang kita buat adalah tabel DataRekanan
FieldName Type Description
IDRekanan AutoNumber Sebagai Primary Key
Nama Text
Alamat Text
Telp Text NPWP Text
Dalam tabel ini IDRekanan kita jadikan sebagai kunci utama, caranya klik kanan pada field tersebut lalu pilih Primary Key.
5. Tabel DataUnitKerja
FieldName Type Description
IDUnitKerja AutoNumber Sebagai Primary Key
Nama Text
Kepala Text
NIP Text 6. Tabel DataPengelola
FieldName Type Description
IDPengelola AutoNumber Sebagai Primary Key
Nama Text
Jabatan Text
NIP Text 7. Tabel DataBarang
FieldName Type Description
IDBarang AutoNumber Sebagai Primary Key
Nama Text
Satuan Text Jenis Text HargaSatuan Number
8. Tabel DataDistribusi
FieldName Type Description
IDDistribusi AutoNumber Sebagai Primary Key KodeDistribusi Text
Tanggal Date / Time
IDPengelola Number IDRekanan Number IDUnitKerja Number IDBarang Number DasarTerima Text NoDasarTerima Text BuktiTerima Text NoBuktiTerima Text DasarKeluar Text NoDasarKeluar Text BuktiKeluar Text NoBuktiKeluar Text JumlahBarang Number NilaiRupiah Number Keterangan Text
Pada Field Properties ( task dibawahnya ) dari tabel ini, untuk field IDPengelola, IDRekanan, IDUnitKerja dan IDBarang , pada bagian Default Value jika defaultnya tertulis nol ( 0 ), maka hapuslah dan biarkan kosong.
9. Setelah table – table terbentuk, kita buat relationship-nya. Caranya, klik kanan area kosong bidang kerja Access, pilih Relationships.
Ketika muncul task Show Table, masukan ( seleksi table klik Add ) tabel DataDistribusi, DataBarang, DataRekanan, DataUnitKerja, dan Data Pengelola.
10. Setelah itu, klik Close untuk menutup task.
11. Untuk membuat relasi tabel, kita tinggal drag n drop antar field yang akan kita relasikan. DataDistribusi kita fungsikan sebagai tabel induk.
Primary Key atau Kunci Utamanya adalah field IDDistribusi. Sedangkan IDPengelola, IDRekanan, IDUnitKerja dan IDBarang difungsikan sebagai kunci tamu.
klik OK.
M
M
I
I
C
C
R
R
O
O
S
S
O
O
F
F
T
T
A
A
C
C
C
C
E
E
S
S
S
S
D
D
R
R
I
I
V
V
E
E
R
R
(
(
*
*
.
.
m
m
d
d
b
b
)
)
O
O
D
D
B
B
C
C
(
(
O
O
P
P
E
E
N
N
D
D
A
A
T
T
A
A
B
B
A
A
S
S
E
E
C
C
O
O
N
N
E
E
C
C
T
T
I
I
O
O
N
N
)
)
Sesuai dengan namanya, ODBC adalah sebuah database terbuka yang dapat diakses oleh beberapa aplikasi. Dalam sebuah aplikasi jaringan, pada umumnya ODBC inilah yang membuat sebuah aplikasi dikatakan menjadi sebuah aplikasi jaringan ( Client – Server ). Dengan menggunakan ODBC maka hanya perlu menetapkan satu kali aturan saja untuk dapat berhubungan dengan file database yang digunakan.
Ada 3 jenis pengaturan koneksi data base ( Data Source Name atau DSN ) yang dapat dibuat baik di komputer server maupun klien.
1. User DSN : adalah ODBC yang hanya berlaku untuk pengguna yang membuat DNS tersebut dan hanya bisa digunakan pada komputer dimana ODBC tersebut dibuat.
2. System DSN : adalah ODBC yang bisa digunakan oleh semua pengguna ( user ) pada komputer dimana ODBC tersebut dibuat.
3. File DSN : adalah ODBC yang dapat digunakan bersama ( share / sharing ) dalam suatu jaringan, sepanjang komputer pengguna mempunyai ODBC yang sesuai dengan File DSN tersebut
Jenis – jenis file yang dapat digunakan sebagai data source antara lain file dengan ekstensi ‘ *.xls ‘ atau ‘ *.mdb ‘ atau ‘ *.dbf ‘ atau tabel dan database Visual Foxpro serta masih banyak yang lainnya.
Setelah database kita buat, langkah selanjutnya adalah membuat sebuah koneksi yang menghubungkan database tersebut dengan aplikasi lainnya, yaitu menggunakan OBDC. Caranya Start – Control Panel – Administration Tools ( dalam group Performance and Maintenance ) – ODBC.
Klik Add,
ketik nama data source pada field Data Source Name,
lalu klik Select, dan browse dan pilih file database yang telah kita buat sebelumnya, terakhir klik OK hingga keluar dari task pane.
Dengan koneksi tersebut, akan memudahkan kita dalam memanipulasi, link, maupun export dan import data, dari dan ke file database tersebut.
T
T
u
u
t
t
o
o
r
r
i
i
a
a
l
l
V
V
i
i
s
s
u
u
a
a
l
l
B
B
a
a
s
s
i
i
c
c
6
6
.
.
0
0
M
M
e
e
m
m
b
b
u
u
a
a
t
t
P
P
r
r
o
o
g
g
r
r
a
a
m
m
L
L
o
o
g
g
i
i
s
s
t
t
i
i
k
k
B
B
a
a
r
r
a
a
n
n
g
g
(
(
I
I
n
n
v
v
e
e
n
n
t
t
o
o
r
r
y
y
S
S
y
y
s
s
t
t
e
e
m
m
)
)
Imam Budi Kustantosim_rusak@yahoo. com
T
T
U
U
T
T
O
O
R
R
I
I
A
A
L
L
2
2
F
F
O
O
R
R
M
M
&
&
S
S
C
C
R
R
I
I
P
P
T
T
C
C
O
O
D
D
E
E
(
(
0
0
1
1
)
)
Sebagai langkah persiapan, buat folder kerja anda pada direktori C:\ dengan nama LogHIS. Dalam folder tersebut buat beberapa sub folder baru, masing – masing Images ( untuk menyimpan file gambar ), Data ( untuk menyimpan file data ), Form ( untuk menyimpan file *.frm ), dan Report ( untuk menyimpan file *.rpt ).
Buat file gambar ukuran 800 x 600 pixel lalu simpan dalam sub folder Images dengan nama background.jpg. File ini akan kita fungsikan sebagai background dari tampilan form - form yang ada dalam proyek kita nanti.
Contoh background.jpg sederhana ( anda bisa menggunakan Adobe Photoshop etc untuk
membuatnya lebih cantik lagi ) : Lisensi Dokumen:
Copyright © 2003 - 2006 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
Copy file Harrow.cur yang ada di C:\Windows\Cursor ke dalam folder kerja C:\LogHIS\Images. File cursor ini kita jadikan sebagai mouse pointer shortcut dan tombol.
Dengan program icon editor yang anda punya atau copy & rename file icon yang sudah ada, buatlah sebuah file icon dengan nama loghis.ico, simpan dalam sub folder Images.
Form1( MenuUtama.frm)
1. Jalankan Microsoft Visual Basic 6.0, buat proyek baru jenis Standard EXE
2. Defaultnya, dalam proyek baru tersebut sudah tersedia sebuah form kosong dengan nama Form1, atur properti formnya sebagai berikut :
• Border Style = 0-None
• Picture = ( browse pada direktori) C:\LogHIS\Images\background.jpg
• StartupPosition = 2-CenterScreen
3. Atur luas area Form1 menyesuaikan luas background.
4. Setelah itu, buat 13 buah Label, atur propertinya sebagai berikut :
• AutoSize = True
• BackStyle = Transparant
• Caption = ( lihat gambar tampilan Form1 )
• Font dan ForeColor = ( anda atur sendiri ☺ )
• MouseIcon = ( browse pada direktori) C:\LogHIS\Images\Harrow.cur
• MousePointer = 99-Custom
5. Masukkan 1 buah object Image , atur property sebagai berikut :
• Picture = browse pada direktori file gambar yang anda inginkan.
• Strecth = True
Lalu atur posisi dan luas image secara manual menyesuaikan area form yang ada. 6. Gambar tampilan Form1.
7. Simpan form tersebut dalam direktori C:\LogHIS\Form dengan nama MenuUtama.frm dan simpan proyek dengan nama LogHIS.vbp dalam direktori C:\LogHIS.
8. Form1(MenuUtama.frm) ini kita jadikan sebagai startup object, caranya Project Project1 Properties lalu dalam field Startup Object pilih Form1.
9. Cobalah anda jalankan Form1 tersebut ( atau press F5 ).
Dalam tahap ini anda telah selesai membuat tampilan muka yang merupakan gerbang utama program logistik ini. Object label yang ada dalam Form1 tersebut akan kita fungsikan sebagai shortcut untuk masuk ke form – form selanjutnya.
Catatan :
Anda juga dapat menggunakan Tools Menu Editor untuk membuat shortcut – shortcut tersebut. Bedanya kalau menggunakan cara itu, tampilan form tidak bisa dibuat borderless.
Menuliskan ( scripting ) kode Form1
Pertama sekali kita akan menuliskan kode pemanggilan form – form lainnya dari shortcut – shortcut yang ada dalam Form1.
• Ketika mouse pointer kita arahkan ke shortcut tersebut, cursor yang tadinya berupa anak panah akan berubah menjadi gambar tangan yang sedang menunjuk (Harrow.cur). Hal tersebut sudah kita atur sebelumnya dalam langkah ke 4 di atas. • Apabila shortcut tersebut kita klik maka terdengan bunyi Beep sekali, Form1(MenuUtama.frm) kita buat disable, lalu form yang dituju kita load dan tampilkan di layer
• Apabila Label13 ( Keluar ) di klik maka program selesai dan keluar.
10. Dalam mode View Object, kita klik ganda Label2 ( Caption = “Data Barang” ). 11. Lalu tampilan kerja anda akan berubah dalam mode View Code, dalam sub prosedur
Label2_Click masukan / ketik script sebagai berikut :
--- Private Sub Label2_Click() ‘ketika Label2 di klik maka,
Beep ‘terdengar bunyi beep sekali
Form1.Enabled = False ‘form1 disable
Load Form2 ‘form2 loading
Form2.Show ‘form2 tampil di layar
End Sub ‘akhir sub prosedur
--- Selanjutnya lakukan langkah no 11 untuk Label3 ( Caption = “Data Rekanan” ). --- Private Sub Label3_Click() ‘ketika Label2 di klik maka,
Beep ‘terdengar bunyi beep sekali
Form1.Enabled = False ‘form1 disable
Load Form3 ‘form3 loading
Form3.Show ‘form3 tampil di layar
End Sub ‘akhir sub prosedur
12. Lakukan juga sub prosedur tersebut di atas untuk label - label selanjutnya : Nama Label Caption Ref.
Label4 Data Unit Kerja shortcut ke Form4 Label5 Data Pengelola shortcut ke Form5 Label6 List Master shortcut ke Form6 Label7 Penerimaan shortcut ke Form7 Label8 Pengeluaran shortcut ke Form8 Label10 (Cetak Data) Penerimaan shortcut ke Form9 Label11 (Cetak Data) Pengeluaran shortcut ke Form10 Label12 (Cetak Data) Persediaan shortcut ke Form11 13. Untuk Label13 ( Caption = “Keluar” ) script kodenya adalah :
--- Private Sub Label13_Click() ‘ketika Label13 di klik,
Beep ‘terdengar bunyi beep sekali
pesan = MsgBox("Keluar dari program aplikasi?", vbYesNo + vbQuestion, "Konfirmasi") ‘deklarasi variabel pesan disertai
‘pilihan Yes No + icon question
If pesan = vbYes Then ‘bila tombol Yes di pilih maka
End ‘selesai dan keluar dari program
Else ‘bila bukan Yes yang ditekan
Exit Sub ‘keluar dari sub prosedur
End If ‘akhir struktur control if..then
End Sub ‘akhir sub prosedur
--- Langkah selanjutnya adalah membuat form baru yang merupakan target shortcut – shortcut yang ada dalam Form1. Klik Project – Add Form, pilih object Form, lalu klik Open.
Atau dengan cara lain, dalam area Project Explorer ( Project – Project1 ), klik kanan Form lalu pilih Add – Form.
14. Buat form baru sejumlah 7 buah ( Form2 s/d Form8 )
15. Simpan form – form tersebut dalam sub folder C:\LogHIS\Form dengan nama sesuai label / shortcutnya, yaitu :
• Form2(DataBarang.frm), • Form3(DataRekanan.frm), • Form4(DataUnitKerja.frm), • Form5(DataPengelola.frm), • Form6(ListMaster.frm), • Form7(Penerimaan.frm), • Form8(Pengeluaran.frm),
Kecuali Form6(ListMaster), atur properti form – form yang telah tersimpan tadi sebagai berikut :
• Border Style = 0-None
• Picture = ( browse pada direktori) C:\LogHIS\Images\background.jpg
Form6(ListMaster.frm)
Form ini merupakan form untuk menginput daftar pilihan list data yang digunakan dalam form – form lainnya. Misalnya list Jenis Barang, Satuan Barang, Daftar Unit Kerja, Daftar Rekanan dan yang lainnya.
Sebelumnya, masukkan dulu komponen TDBGrid Pro 6.0 pada area toolbox. Caranya, klik Project – Component ( atau press Ctrl + T )
Aktifkan ( klik pada check field ) komponen – komponen sebagai berikut : • Apex True DBGrid Pro 6.0 ( OLEDB )
• Microsoft ADO Data Control 6.0 ( OLEDB ) • Microsoft DataGrid Control 6.0 ( OLEDB ), dan • Microsoft DataList Controls 6.0 ( OLEDB )
Form6(ListMaster.frm) ini merupakan input list data sebagai berikut : • Jenis Barang • Satuan Barang • Dasar Penerimaan • Bukti Penerimaan • Dasar Pengeluaran • Bukti Pengeluaran
Pada area Project Explorer, double klik Form6(ListMaster.frm), dalam mode View Object, lakukan langkah berikut:
16. Atur property form sebagai berikut : • Border Style = 1-Fixed Single
• Caption = ..:: Input List Data ::..
• Icon = browse pada direktori file icon anda
• StartupPosition = 2-CenterScreen
• APEX True DBGrid Pro 6.0 ( OLEDB )
• Microsoft ADO Data Control 6.0 ( OLEDB ) • Microsoft DataGrid
Control 6.0 ( OLEDB ) • Microsoft DataList
17. Dalam Form6 tersebut buat object – object dibawah ini, lalu atur propertinya seperti gambar di bawah ini :
Object Properti Object
Label • Name = Label1
• AutoSize = True • BackStyle = Transparant • Caption = List Data
• Font = ☺
• ForeColor = ☺
ComboBox • Name = ComboBox1
• MouseIcon = Harrow.cur • MousePointer = 99-Custom • Style = 2-Dropdown List • TabStop = True
TDBGrid • Name = TDBGrid1
• AllowAddNew = False • AllowArrow = True • AllowUpdate = False • AllowDelete = False • TabStop = False
TextBox • Name = Input_Data
• Text = ( blank ) • TabStop = False CommandButton Form Caption ComboBox TDBGrid Label TextBox Icon Adodc
CommadButton • Name = btnTambah • Caption = &Tambah • MouseIcon = Harrow.cur • MousePointer = 99-Custom • TabStop = False
CommadButton • Name = btnSimpan
• Caption = &Simpan • MouseIcon = Harrow.cur • MousePointer = 99-Custom • TabStop = False
CommadButton • Name = btnHapus
• Caption = &Hapus • MouseIcon = Harrow.cur • MousePointer = 99-Custom • TabStop = False
CommadButton • Name = btnKeluar
• Caption = &Keluar • MouseIcon = Harrow.cur • MousePointer = 99-Custom • TabStop = False
18. Pada langkah ini, kita masukan jenis – jenis list data ke dalam object ComboBox. Kita menggunakan ComboBox karena data tersebut relative statis. Caranya :
• Klik atau seleksi object ComboBox(ComboBox1) tersebut, lalu dalam propertinya kita pilih List – press F4 – ketik Jenis Barang – akhiri dengan Enter.
• Masukan lagi kedalamnya berturut – turut Satuan Barang, Dasar Penerimaan, Bukti Penerimaan, Dasar Pengeluaran dan terakhir Bukti Pengeluaran.
19. Kita masukan 6 buah object Adodc pada area form samping kanan. Masing – masing Adodc tersebut kita namakan ( Property (Name) ) dengan JenisBarang, SatuanBarang, DasarTerima, BuktiTerima, DasarKeluar, dan terakhir BuktiKeluar.
Dalam task di atas, pilih Use ODBC Data Source Name, pilih db_logHIS. Kemudian klik Tab RecordSource hingga muncul gambar di bawah ini :
Dalam list Command Type kita isikan 2 – adCmdTable. Dan dalam kolom Table or Stored Procedur Name kita pilih tabel mstJenisBarang, lalu klik OK
21. Lakukan lagi langkah tersebut di atas pada Adodc(SatuanBarang) untuk tabel mstSatuanBarang dan seterusnya sampai Adodc(BuktiKeluar) untuk tabel mstBuktiKeluar. Setelah semua diatur, sempitkan area form ke kiri hingga tampilan object Adodc tidak terlihat dalam area form.
22. Klik kanan object TDBGrid1, pilih Edit.
23. Seleksi ( klik bagian atas / heading ) kolom kedua, klik kanan dan pilih Delete. Perintah ini akan menghapus kolom kedua dari TDBGrid.
Pada tab Column – Column(00) – DataField dalam Selection or String ketik Nama. Artinya bahwa kolom pertama dari TDBGrid1 ini mereferensi pada field Nama dari tabel database kita.
Pada Column(00) – Caption – String kita buat kosong ( blank ) Menuliskan ( scripting ) kode Form6
25. Sebelumnya, buatlah script kode sub untuk merefresh data yang bisa dipanggil oleh sub prosedur lainnya
---Sub RefreshData()
‘nama sub adalah RefreshData
JenisBarang.Refresh SatuanBarang.Refresh DasarTerima.Refresh BuktiTerima.Refresh DasarKeluar.Refresh BuktiKeluar.Refresh
‘refresh data – data tersebut
End Sub
---26. Ketika Form6 ini di-loading ( form_load ), database kita refresh, kita arahkan
operator untuk memilih list index yang ada dalam ComboBox(ComboBox1) atau pembatalan operasi pada form ini.
Sehingga ada baiknya BtnTambah, BtnSimpan dan BtnHapus kita buat disable dahulu, sementara BtnKeluar kita biarkan enabled.
Double klik area form yang kosong, tuliskan script sub prosedur form load berikut : ---PrivateSubForm_Load()
Call RefreshData ‘panggil script refresh data
btnSimpan.Enabled = False ‘BtnSimpan di-disable
btnTambah.Enabled = False ‘BtnSimpan di-disable
btnHapus.Enabled = False ‘BtnSimpan di-disable
EndSub
---27. Bila ternyata operator memilih membatalkan operasi pada form ini, kemungkinan
yang ada adalah operator meng-klik BtnKeluar atau bisa juga dengan meng-klik tanda silang yang ada pada pojok kanan atas form.
Bila operator memilih klik tanda silang ( unload ) maka script prosedurnya adalah : ---PrivateSubForm_Unload(Cancel As Integer)
Call RefreshData ‘panggil sub refresh data
Form1.Show ‘Form1(MenuUtama.frm) ditampilkan
Form1.Enabled=true ‘menjadikan Form1 enable
Unload me ‘Unload me ( Form6 )
Me.hide ‘Form6 tidak tampil di layar
EndSub
---Bila yang di klik adalah BtnKeluar, tambahkan lagi sub prosedur berikut : ---PrivateSubBtnKeluar_Click()
Call RefreshData ‘panggil sub refresh data
Form1.Show ‘Form1(MenuUtama.frm) ditampilkan
Form1.Enabled=true ‘menjadikan Form1 enable
Unload me ‘Unload me ( Form6 )
Me.hide ‘Form6 tidak tampil di layar
EndSub
---28. Bila list dalam ComboBox yang dipilih adalah Jenis Barang, maka source tabel
TDBGrid1 adalah Adodc(JenisBarang). Atau juga ketika dalam list tersebut kita pilih Satuan Barang maka sourcenya adalah Adodc(SatuanBarang), dan seterusnya.
---Private Sub ComboBox1_Click()
‘event klik pada combobox1 maka
Call RefreshData ‘me-refresh data
If ComboBox1.ListIndex = 0 Then
‘bila yang dipilih dalam combobox1 tersebut adalah list - ‘index yang ke 0 atau Jenis Barang maka
TDBGrid1.DataSource = JenisBarang
‘source data dari tabel TDBGrid1 adalah Adodc(JenisBarang)
TDBGrid1.Columns(0).Caption = "Jenis"
‘Title / judul kolom pertama dari TDBGrid1 adalah “Jenis” ‘dan seterusnya
If ComboBox1.ListIndex = 1 Then TDBGrid1.DataSource = SatuanBarang TDBGrid1.Columns(0).Caption = "Satuan" End If If ComboBox1.ListIndex = 2 Then TDBGrid1.DataSource = DasarTerima
TDBGrid1.Columns(0).Caption = "Dasar Penerimaan" End If
If ComboBox1.ListIndex = 3 Then TDBGrid1.DataSource = BuktiTerima
TDBGrid1.Columns(0).Caption = "Bukti Penerimaan" End If
If ComboBox1.ListIndex = 4 Then TDBGrid1.DataSource = DasarKeluar
TDBGrid1.Columns(0).Caption = "Dasar Pengeluaran" End If
If ComboBox1.ListIndex = 5 Then TDBGrid1.DataSource = BuktiKeluar
TDBGrid1.Columns(0).Caption = "Bukti Pengeluaran" End If
btnTambah.Enabled = True btnHapus.Enabled = True End Sub
--- Ketika script tersebut dijalankan, untuk mengakses list index yang ada pada ComboBox1 dapat dilakukan dengan pres F4.
Penggunaan keyboard Enter kita sediakan untuk menggantikan click ComboBox1. ---Private Sub ComboBox1_KeyPress(KeyAscii As Integer)
‘event penekanan tombol keyboard
If KeyAscii = 13 Then ‘bila yang ditekan adalah Enter
If ComboBox1 <> "" Then ‘bila Combobox1 tidak kosong
btnTambah.SetFocus ‘focus pada BtnTambah
Else Exit Sub End If End If End Sub ---29. Asumsi pertama operasi pada form ini adalah penambahan record pada salah satu
jenis list data atau prosedur klik pada BtnTambah
--- Private Sub btnTambah_Click()
‘event klik pada button tambah
If ComboBox1.ListIndex = 0 Then
‘bila list index pada combo box adalah Jenis Barang maka,
JenisBarang.Recordset.AddNew
‘Tambah satu record baru dalam Adodc(JenisBarang)
Else
‘bila bukan itu / selain itu … dan seterusnya
If ComboBox1.ListIndex = 1 Then SatuanBarang.Recordset.AddNew
Else If ComboBox1.ListIndex = 2 Then DasarTerima.Recordset.AddNew Else If ComboBox1.ListIndex = 3 Then BuktiTerima.Recordset.AddNew Else If ComboBox1.ListIndex = 4 Then DasarKeluar.Recordset.AddNew Else If ComboBox1.ListIndex = 5 Then BuktiKeluar.Recordset.AddNew Else
Exit Sub ‘keluar dari sub prosedur
End If ‘akhir dari if pertama
End If ‘akhir if kedua
End If ‘akhir if ketiga
End If ‘akhir if keempat
End If ‘akhir if kelima
End If ‘akhir dari if yang ke enam
Input_List.SetFocus ‘TextBox(Input_List)posisi aktif
BtnTambah.Enabled=False ‘BtnTambah menjadi disable
BtnHapus.Enabled=False ‘BtnTambah menjadi disable
BtnSimpan.Enabled=True ‘BtnSimpan menjadi enable
End Sub
---Selain menggunakan kontrol If …. Then, bisa juga menggunakan Select … Case. Untuk mudahnya, semua akan menggunakan If….Then ( padahal yang bener penulis
emang bisanya cuman if … then aja, Brur!!)
Setelah penambahan record, posisi cursor terletak di TextBox(Input_List). Penekanan Enter keyboard dalam object ini akan memindahkan focus pada BtnSimpan dengan syarat bila TextBox(Input_List) tidak kosong.
---Private Sub Input_List_KeyPress(KeyAscii As Integer)
‘event penekanan tombol keyboard
If KeyAscii = 13 Then ‘bila yang ditekan adalah Enter
If Input_List <> "" Then ‘bila Input_List tidak kosong
btnSimpan.SetFocus ‘focus pada BtnSimpan
Else ‘selain itu
Exit Sub ‘keluar dari sub prosedur
End If End If End Sub
---30. Syarat agar operasi simpan record dapat dilakukan adalah bila terdapat kondisi :
• Record pada TDBGrid1 tidak terisi, • TextBox(Input_List) tidak kosong.
Apabila belum terpenuhi syarat / kondisi tersebut, operasi simpan ditunda, lalu keluar pesan text agar operator memenuhi persyaratan tertentu untuk operasi simpan data. Dalam mode View Object, double click Button(BtnSimpan), lalu dalam mode View Code ketik script code :
--- Private Sub btnSimpan_Click()
If TDBGrid1.Columns(0) <> "" Then
pesan1 = MsgBox("Record sudah terisi data", vbOKOnly + vbCritical, "Record Terisi")
Else
If Input_List = "" Then
pesan2 = MsgBox("Input data belum untuk disimpan masih kosong", vbOKOnly + vbCritical, "Isikan Data")
Else If ComboBox1.ListIndex = 0 Then JenisBarang.Recordset!nama = Input_List JenisBarang.Recordset.Update Input_List = "" btnTambah.Enabled = True btnHapus.Enabled = True btnSimpan.Enabled = False Else If ComboBox1.ListIndex = 1 Then SatuanBarang.Recordset!nama = Input_List SatuanBarang.Recordset.Update Input_List = "" btnTambah.Enabled = True btnHapus.Enabled = True btnSimpan.Enabled = False Else If ComboBox1.ListIndex = 2 Then DasarTerima.Recordset!nama = Input_List DasarTerima.Recordset.Update Input_List = "" btnTambah.Enabled = True btnHapus.Enabled = True btnSimpan.Enabled = False Else If ComboBox1.ListIndex = 3 Then BuktiTerima.Recordset!nama = Input_List BuktiTerima.Recordset.Update Input_List = "" btnTambah.Enabled = True btnHapus.Enabled = True btnSimpan.Enabled = False Else If ComboBox1.ListIndex = 4 Then DasarKeluar.Recordset!nama = Input_List DasarKeluar.Recordset.Update Input_List = "" btnTambah.Enabled = True btnHapus.Enabled = True btnSimpan.Enabled = False Else If ComboBox1.ListIndex = 5 Then BuktiKeluar.Recordset!nama = Input_List BuktiKeluar.Recordset.Update Input_List = ""
btnTambah.Enabled = True btnHapus.Enabled = True btnSimpan.Enabled = False Else Exit Sub End If End If End If End If End If End If End If End If End Sub --- Dalam sub prosedur diatas, ada pengulangan baris script ( baris 12 s/d 15 dari bawah ) Bila terdapat kondisi yang demikian, kita dapat membuat sebuah sub sendiri :
Sub NamanyaBebas() Input_List = "" btnTambah.Enabled = True btnHapus.Enabled = True btnSimpan.Enabled = False End Sub
Dalam sub prosedur BtnSimpan_Click hapus dan ganti baris yang diulang – ulang tersebut dengan script : call NamanyaBebas
31. BtnHapus adalah untuk menghapus record yang ada pada tabel. Prosedur menghapus record logikanya adalah sama dengan prosedur penambahan record ( AddNew diganti Delete ). Double klik BtnHapus
Copy script pada sub prosedur BtnTambah_Click dari baris pertama s/d end if ke enam, paste dalam script prosedur BtnHapus_Click.
Seleksi hasil copyan tersebut, press Ctrl+H, dalam field Find What: kita isi dengan Addnew, dan field Replace With : kita isi Delete.
lalu klik Replace All dan OK, lalu tutup task Replace tersebut.
Apabila tidak terdapat record dalam TDBGrid1 dan BtnHapus kita klik maka akan keluar pesan error sebagai berikut :
hal tersebut dikarenakan dalam tabel database sama sekali belum terdapat record. Error ini kita tangani dengan penambahan list berikut pada baris pertama :
If NamaAdodc.Recordset.BOF=True then ---masukan pesan text --- else
---isi script yang sudah ada--- end if
Catatan :
Entah karena penulis merasa hal tersebut tidak terlalu urgen atau karena dasarnya memang penulis orangnya malas, biasanya kondisi seperti itu penulis hanya menambahkan
On Error Resume Next.
lalu taruh pada baris pertama / awal script . ( Semoga anda tidak ☺☺☺ )
Running Project
Jalankan script yang telah anda buat pada Form6(ListMaster) dengan cara klik Run Start atau press F5.
Lalu satu persatu masukkan data – data sebagai berikut : Jenis Barang
• Alat Kesehatan • Inventaris
• Alat Tulis Kantor • Alat RT / Kebersihan • Barang Cetakan • Linen / Kain • Alat Elektronika • Lainnya Satuan Barang • Buah
• Unit • Rim • Pak • Dos • Dsn • Box • Meter • Pasang Dasar Penerimaan • BA Penerimaan • BA Pemeriksaan • Lainnya Bukti Penerimaan • Faktur • Nota • Tanda Terima • Lainnya Dasar Pengeluaran • DO ( Delivery Order ) • Surat Perintah • Lainnya Bukti Pengeluaran • Blanko Permintaan • Tanda Terima • Lainnya
Form2(DataBarang)
32. Tutup semua form yang sedang aktif, buka (dlm project explore double klik nama
form) Form2(DataBarang) atur properti sebagai berikut :
• Border Style = 0-None
• Picture = ( browse pada direktori) C:\LogHIS\Images\background.jpg
• StartupPosition = 2-CenterScreen
33. Dalam form tersebut lalu masukan object - object sebagai berikut :
Object Nama Properti Object
Label ( 5 buah ) Label 1 s/d Label 5 • AutoSize = True • BackStyle = Transparant • Caption = lihat form layout ☺
• Font = atur menyesuaikan ☺
• ForeColor = ☺ DataCombo ( 2 buah ) jenis dan satuan • MouseIcon = Harrow.cur • MousePointer = 99-Custom • Style = 2-Dropdown List • TabStop = False TDBGrid
( 1 buah )
TDBGrid1 • AllowAddNew = False • AllowArrow = True • AllowUpdate = False • AllowDelete = False • DataSource = DataBarang TextBox ( 2buah ) nama, hargasatuan, • Text = ( blank ) • TabStop = False CmdButton BtnTambah • Caption = &Tambah
• MouseIcon = Harrow.cur • MousePointer = 99-Custom • TabIndex = 0 • TabStop = False CmdButton BtnSimpan • Caption = &Simpan
• MouseIcon = Harrow.cur • MousePointer = 99-Custom • TabIndex = 1 • TabStop = False CmdButton BtnRefresh • Caption = &Refresh
• MouseIcon = Harrow.cur • MousePointer = 99-Custom • TabIndex = 3 • TabStop = False CmdButton BtnKeluar • Caption = &Keluar
• MouseIcon = Harrow.cur • MousePointer = 99-Custom • TabIndex = 4 • TabStop = False
Adodc mstJenis • AllowUpdate = False • AllowAddnew = False • AllowArrow = True • Allowdelete = False
• Visible = False
• ConnectionString = (browse dan pilih) DB_Loghis • CommandType = 2-adCmdTable
• RecordSource = mstJenisBarang
Adodc mstSatuan • ConnectionString = (browse dan pilih) DB_Loghis • CommandType = 2-adCmdTable
• RecordSource = mstSatuanBarang • Lainnya sama dengan atas
Adodc DataBarang • ConnectionString = (browse dan pilih) DB_Loghis • CommandType = 2-adCmdTable
• RecordSource = DataBarang • Lainnya sama dengan atas
Image Image1 • Picture = browse file gambar
• Strecth = True
34. Atur daftar pilihan ( list ) dalam object DataCombo( Jenis )
• RowSource = mstJenis ( nama Adodc dari tabel mstJenisBarang ) • ListField = nama ( nama Field / Kolom dari tabel mstJenisBarang )
• Style = 2-DropDownList
• Text = ( blank )
35. Atur daftar pilihan ( list ) dalam object DataCombo( Satuan )
• RowSource = mstSatuan ( nama Adodc dari tabel mstSatuanBarang ) • ListField = nama ( nama Field / Kolom dari tabel mstSatuanBarang )
• Style = 2-DropDownList
• Text = ( blank )
36. Bila default kolom yang tersedia dalam TDBGrid1 yang akan kita referensikan pada tabel database DataBarang hanya ada 2 kolom sementara field yang akan kita referensikan adalah lebih dari 2, maka klik kanan pada TDBGrid1 lalu pilih Edit. Setelah itu, satu persatu tambahkan 3 buah field kosong lagi dengan cara klik kanan pada area TDBGrid1 lalu pilih Insert.
Lihat langkah nomor 24, lakukan prosedur tersebut untuk mereferensikan field - field dalam tabel DataBarang dengan kolom – kolom yang tersedia dalam TDBGrid1. Pada masing – masing kolom tersebut, isian Caption tidak berpengaruh pada data. Oleh karena itu anda bisa merubah atau membiarkan seperti defaultnya saja.
37. Ketika form ini di-loading, karena properti TabIndex pada btnTambah kita set pada angka 0 maka akan menjadikannya aktif terseleksi.
Warna latar ( BackColor ) kolom – kolom isian data ( TextBox dan DataCombo) kita warnai dengan warna yang agak gelap.
---PrivateSubForm_Load()
DataBarang.Refresh nama.BackColor=vbButtonFace jenis.BackColor=vbButtonFace satuan.BackColor=vbButtonFace hargasatuan.BackColor=vbButtonFace EndSub --- 38. Bila kolom isian – kolom isian dalam form tersebut terseleksi ( GotFocus ) , warna
latarnya ( back color ) akan berubah menjadi putih. Kalau lepas seleksi ( LostFocus ) akan kembali menjadi gelap.
---Private Sub nama_GotFocus()
nama.BackColor = vbWhite End Sub
Private Sub nama_LostFocus() nama.BackColor = vbButtonFace End Sub
Private Sub jenis_GotFocus() jenis.BackColor = vbWhite End Sub
jenis.BackColor = vbButtonFace End Sub
Private Sub satuan_GotFocus() satuan.BackColor = vbWhite End Sub
Private Sub satuan_LostFocus() satuan.BackColor = vbButtonFace End Sub
Private Sub hargasatuan_GotFocus() hargasatuan.BackColor = vbWhite End Sub
Private Sub hargasatuan_LostFocus() hargasatuan.BackColor = vbButtonFace End Sub
--- 39. Setelah kita membuat pengaturan warna latar, hal lain yang perlu diatur juga adalah
aktivitas penggunaan keyboard dalam kolom – kolom isian tersebut.
Misalnya, ketika ada aktivitas penekanan tombol Enter dalam object TextBox(nama), apabila kolom ini tidak dalam keadaan kosong maka cursor aktif akan mengarah pada object DataCombo(Jenis).
--- Private Sub nama_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If nama <> "" Then jenis.SetFocus Else
nama.SetFocus End If
End Sub
--- Demikian juga untuk object isian data yang lainnya. Enter pada object TextBox(jenis) akan memindahkan cursor ke TextBox(satuan) dengan catatan apabila TextBox(jenis) tidak kosong, dan seterusnya.
Namun khusus pada object HargaSatuan karena input yang kita butuhkan di sini adalah data type numeric maka ada tambahan pengaturan lagi. Yaitu bila yang diketikkan bukan angka maka akan kita munculkan pesan ( messege box ) adanya kesalahan pengetikan yang bukan angka.
Pengecekan tersebut bisa menggunakan script :
--- Private Sub hargasatuan_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
If Not IsNumeric(hargasatuan) Then
MsgBox "Kolom ini harus di isi dengan angka" HargaSatuan.SetFocus Else cmdSimpan.SetFocus End If End If End Sub ---
Atau bisa juga :
--- Private Sub hargasatuan_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
If hargasatuan <> "" Then cmdSimpan.SetFocus End If
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = 13 Or KeyAscii = vbKeyBack Then
Exit Sub Else
KeyAscii = vbKeyReturn
pilih = MsgBox(" Kolom ini hanya dapat diisi dengan angka!", vbOKOnly + 64, " Salah Ketik")
hargasatuan.SetFocus End If
End Sub
--- Ada baiknya anda coba satu persatu dari dua script tersebut di atas. Setelah anda tahu perbedaannya, pilih salah satu dari dua script tersebut.
N Klo penulis sih lebih suka script yang bawah. Konfirm langsung keluar getoo!!
40. Sekarang apabila yang di klik adalah buton keluar maka form akan diunloading, form utama ditampilkan kembali.
---PrivateSubBtnKeluar_Click()
Form1.Show ‘Form1(MenuUtama.frm) ditampilkan
Form1.Enabled=true ‘menjadikan Form1 enable
Unload me ‘Unload me ( Form6 )
Me.hide ‘Form6 tidak tampil di layar
EndSub
---41. Operasi data yang akan kita gunakan dalam form ini adalah operasi penambahan data
dan penghapusan data. Sebaiknya kita buat sub yang bisa dipanggil.
---SubSimpanData() Databarang.Recordset!nama=nama Databarang.Recordset!jenis=jenis Databarang.Recordset!satuan=satuan Databarang.Recordset!hargasatuan=hargasatuan Databarang.Recordset!JmlPersediaan=0 Databarang.Recordset.update DataBarang.Recordset.MoveLast EndSub ---artinya, record aktif pada DataBarang dalam kolom ( field ) nama diisikan data yang ada pada input nama dan seterusnya sampai field hargasatuan. Dan karena ini adalah jenis barang baru, maka stock kita start dari 0. Setelah itu recordset akan diupdate, dan recordset yang aktif set pada recordset terakhir.
42. Untuk penambahan data atau klik pada btnTambah disamping record DataBarang menjadi bertambah juga kondisikan agar object isian data semua kosong. Lalu cursor akan aktif pada input nama.
---PrivateSubBtnTambah_Click()
DataBarang.Refresh DataBarang.Recordset.AddNew Nama=”” Jenis=”” Satuan=”” hargaSatuan=”” nama.SetFocus EndSub
43. Ketika btnSimpan di klik, sub di atas kita panggil setelah data isian kita validasi dulu.
Jika BOF ( begin of file yang menandakan tidak terdapat record sama sekali ) dari DataBarang adalah benar maka langsung kita tambahkan satu record baru lagi pada DataBarang.
If DataBarang.Recordset.BOF = True then DataBarang. Recordset.AddNew
Bila BOF tidak lagi True, tetapi jika Record pada DataBarang tidak kosong ( ditandai dengan salah satu fieldnya yang juga tidak sama dengan kosong ) maka kita konfirmasikan bahwa record yang aktif sudah terisi data.
Else
If DataBarang.Recordset!IDBarang <> “ ” Then
RecordIsi=MsgBox(”Record sudah terisi data, klik Tambah untuk membuat data baru dulu!”,vbOkOnly + 32, “Record Isi Data”)
Dan bila salah satu input data masih kosong, konfirmasikan pula bahwa semua isian data tidak boleh kosong.
Else
If nama = “ ” or jenis = “ ” or satuan = ” ” or hargasatuan = ” ” Then
RecordIsi=MsgBox(”Data isian yang anda masukan belum
lengkap, lengkapi isian data yang masih kosong!”,vbOkOnly + 48, “Data Tidak Lengkap”)
Ketika semua kondisi sudah tervalidasi, panggil sub SimpanData. Else
Call SimpanData
44. Perintah pada klik btnRefresh akan merefresh data yang digunakan dalam form ini. ---PrivateSubBtnRefresh_Click()
DataBarang.Refresh EndSub
---T
T
u
u
t
t
o
o
r
r
i
i
a
a
l
l
V
V
i
i
s
s
u
u
a
a
l
l
B
B
a
a
s
s
i
i
c
c
6
6
.
.
0
0
M
M
a
a
m
m
b
b
u
u
a
a
t
t
P
P
r
r
o
o
g
g
r
r
a
a
m
m
L
L
o
o
g
g
i
i
s
s
t
t
i
i
k
k
B
B
a
a
r
r
a
a
n
n
g
g
(
(
I
I
n
n
v
v
e
e
n
n
t
t
o
o
r
r
y
y
S
S
y
y
s
s
t
t
e
e
m
m
)
)
Imam Budi Kustantosim_rusak@yahoo. com
T
T
U
U
T
T
O
O
R
R
I
I
A
A
L
L
2
2
F
F
O
O
R
R
M
M
&
&
S
S
C
C
R
R
I
I
P
P
T
T
C
C
O
O
D
D
E
E
(
(
0
0
2
2
)
)
Form3( DataRekanan.frm)
Karena pada prinsipnya operasional form ini adalah sama dengan Form2(DataBarang.frm), maka copy – paste dan replace lebih banyak penulis gunakan dalam mendesain form ini.
45. Biarkan Form2(DataBarang.frm) tetap terbuka, buka Form3(DataRekanan.frm) 46. Seleksi semua ( Edit Î Select All ) object yang ada dalam
Form2(DataBarang.frm), lalu copy dan pastekan ke dalam Form3(DataRekanan.frm). Atur layoutnya sama persis dengan Form2. Buang object Adodc(mstJenis), Adodc(mstSatuan), DataCombo(Satuan) dan DataCombo(jenis)
47. Select TextBox(nama) lalu copy ( Ctrl + C ) dan paste ( Ctrl + V ). Kalau ada konfirmasi telah ada object dengan nama tersebut maka abaikan saja dengan klik No. Rename ( pada object properti ) TextBox hasil copyan tersebut dengan nama Alamat.
48. Ulang langkah tersebut di atas, rename dengan nama Telp. 49. Rename TextBox(HargaSatuan) dengan nama NPWP.
50. Rename object Adodc DataBarang dengan nama DataRekanan. Atur properti RecordSource mengarah pada tabel DataRekanan.
51. Demikian juga untuk properti Caption dari object label berikut ganti menjadi : • Data Barang Persediaan menjadi Data Rekanan / Supplier
• Nama Barang kita ganti dengan Nama Rekanan Lisensi Dokumen:
Copyright © 2003 - 2006 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
• Jenis Barang ganti dengan Alamat • Satuan ganti dengan Telepon, dan
• HargaSatuan ganti dengan Nomor NPWP
Hasil dari langkah – langkah tersebut di atas adalah tampilan Form sebagai berikut :
52. Copy semua kode script dalam Form2, lalu paste dalam script Form3.
53. Lalu seleksi semua baris script yang ada dalam Form3, lakukan operasi find and replace dengan cara Edit Î Replace ( atau press Ctrl + H ).
lalu Replace All.
54. Berturut – turut, replace jenis menjadi alamat, hargasatuan menjadi NPWP, dan satuan menjadi telp.
55. Satu persatu sub prosedur kita teliti, koreksi atau buang yang tidak tepat / relevan digunakan dalam form ini.
Private Sub NPWP_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
If NPWP <> "" Then btnSimpan.SetFocus End If
If (KeyAscii >= vbKey0 And KeyAscii <= vbKey9) Or KeyAscii = 13 Or KeyAscii = vbKeyBack Then
Exit Sub Else
KeyAscii = vbKeyReturn
pilih = MsgBox(" Kolom ini hanya dapat diisi dengan angka!", vbOKOnly + 64, " Salah Ketik")
NPWP.SetFocus End If
End Sub
Pada script tersebut validasi numeric tidak kita berlakukan. Oleh karenanya buang yang tidak perlu. Sehingga tersisa :
Private Sub NPWP_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If NPWP <> "" Then btnSimpan.SetFocus Else NPWP.SetFocus End If End Sub
56. Dalam script Sub SimpanData ( ) buang baris yang tidak lagi digunakan yaitu :
DataRekanan.Recordset!jmlpersediaan = 0
57. Dalam sub prosedur Private Sub btnSimpan_Click() ganti IDBarang menjadi IDRekanan.
58. Ubah properti object TDBGrid1 agar referensi tabel mengarah pada tabel DataRekanan yaitu dengan cara mengganti propertinya :
• DataSource = DataRekanan
Klik kanan Î Edit, lalu seleksi field terakhir ( Jumlah Persediaan ) dan hapuslah 59. Setelah itu, hubungkan kolom – kolom yang ada dalam TDBGrid1 dengan field –
field yang ada pada tabel database DataRekanan. Caranya seperti pada langkah ke 24 dalam tutorial ini.
Form4( DataUnitKerja.frm)
Ulangi langkah dalam pembuatan Form3 di atas untuk membuat Form4(DataUnitKerja). 60. Copy dan paste semua object dalam Form3 ke dalam Form4.
61. Buang Label5(Caption = NPWP) dan TextBox(NPWP). 62. Caption dari object label - label berikut ganti menjadi :
• Data Rekanan / Supplier menjadi Data Unit Pengguna • Nama Rekanan kita ganti dengan Nama Pengguna • Alamat ganti dengan Kepala Unit
63. Ubah nama input TextBox(Alamat) menjadi Kepala dan input TextBox(Telp) menjadi NIP
64. Referensi Record atau RecordSource dari Adodc(DataRekanan) yang tadinya merujuk pada tabel DataRekanan kita set ulang merujuk pada tabel DataUnitKerja. Lalu rename nama Adodc tersebut menjadi DataUnitKerja.
65. Ubah properti object TDBGrid1 pada DataSource yang tadinya mereferensi pada DataRekanan menjadi DataUnitKerja
66. Copy semua script code yang ada pada Form3, paste dalam script code Form4. 67. Buang baris perintah atau prosedur yang berhubungan dengan field NPWP. Antara
lain :
• Buang baris yang mengandung text NPWP pada sub prosedur Form_Load () • Buang sub prosedur NPWP_GotFocus(), NPWP_LostFocus(), dan
NPWP_KeyPress ( KeyAscii As Integer )
• Pada sub prosedur telp_KeyPress(KeyAscii As Integer) ganti NPWP menjadi btnSimpan.
• Buang baris yang berisi text NPWP pada Sub SimpanData()
• Buang baris yang berisi text NPWP pada Sub Prosedur btnTambah_Click() • Hapus text Or NPWP = "" pada Sub Prosedur btnSimpan_Click()
68. Seleksi semua ( Ctrl + A ) script code Form4, lalu Edit Î Replace ( Ctrl + H ) text sebagai berikut :
• Rekanan replace menjadi UnitKerja • Alamat menjadi Kepala
• Telp replace menjadi NIP
Form5( DataPengelola.frm)
Ulangi langkah dalam pembuatan Form4 di atas untuk membuat Form5(DataPengelola). 69. Copy dan paste semua object dalam Form4 ke dalam Form5.
70. Caption dari object label - label berikut ganti menjadi : • Data Unit Pengguna menjadi Data Pengelola Barang • Nama Pengguna kita ganti dengan Nama Pengelola • Kepala Unit ganti dengan Jabatan
71. Ubah nama input TextBox(Kepala) menjadi Jabatan
72. Referensi Record atau RecordSource dari Adodc(DataUnitKerja) yang tadinya merujuk pada tabel DataUnitKerja kita set ulang merujuk pada tabel DataPengelola. Lalu rename nama Adodc tersebut menjadi DataPengelola.
73. Ubah properti object TDBGrid1 pada DataSource yang tadinya mereferensi pada DataUnitKerja menjadi DataPengelola. Sesuaikan Caption kolom – kolomnya. 74. Copy semua script code yang ada pada Form4, paste dalam script code Form5. 75. Seleksi semua ( Ctrl + A ) script code Form4, lalu Edit Î Replace ( Ctrl + H ) text
sebagai berikut :
• UnitKerja replace menjadi Pengelola • Kepala menjadi Jabatan
Hasil dari langkah – langkah tersebut di atas adalah tampilan Form sebagai berikut :
Running Project
Cobalah anda jalankan script yang telah dibuat tadi. Masukkan data – data Barang Persediaan, Rekanan, Pengelola, dan Unit Kerja.
Contoh : Data Barang
Nama JenisBarang Satuan HargaSatuan
Buku Folio Alat Tulis Kantor Buah 7500
Kertas HVS A4 Alat Tulis Kantor Rim 25000
Stetoskop Alat Kesehatan Buah 75000
Spuit 5 CC Alat Kesehatan Buah 9000
Sprey Linen / Kain Buah 25000
Gordyn Linen / Kain Buah 22500
Bolp Lamp 5 W Alat Elektronika Buah 3500
Stand Fan Alat Elektronika Unit 350000
Karcis Pendaftaran Barang Cetakan Pak 35000
Form CM 02 Barang Cetakan Pak 22500
Sapu Ijuk Alat RT / Kebersihan Buah 5500 Sendok Makan Alat RT / Kebersihan Dsn 11250
Almari Pakaian Inventaris Buah 650000
Meja 1 Biro Inventaris Buah 850000
Data Rekanan
Nama Alamat Telp NPWP
PT Maju Mundur Jakarta 021 1111111 123.456.789 PT Angin Ribut Purwokerto 0281 222222 234.567.890 PT Morat Marit Semarang 024 3333333 345.678.901 Data Unit Kerja
Nama Kepala NIP
Bidang Pelayanan Dr. John, Sp.A 140 111 111
Instalasi Gawat Darurat Dr. Smith 140 222 222
Instalasi Rawat Inap Ns. Jean, S.Kep 140 333 333 Data Pengelola
Nama Jabatan NIP
Mr. Brown Kepala Gudang 500 111 222
Mr. White Staff 500 222 333