• Tidak ada hasil yang ditemukan

Membuat Database Logistik Dengan Visual Basic 6.0 dan Microsoft Access

N/A
N/A
Protected

Academic year: 2021

Membagikan "Membuat Database Logistik Dengan Visual Basic 6.0 dan Microsoft Access"

Copied!
70
0
0

Teks penuh

(1)

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 Kustanto

sim_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.

(2)

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

(3)

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.

(4)

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

(5)

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’

(6)

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

(7)

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)

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.

(9)

Primary Key atau Kunci Utamanya adalah field IDDistribusi. Sedangkan IDPengelola, IDRekanan, IDUnitKerja dan IDBarang difungsikan sebagai kunci tamu.

klik OK.

(10)

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,

(11)

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.

(12)

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 Kustanto

sim_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.

(13)

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.

(14)

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

(15)

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.

(16)

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

(17)

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

(18)

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

(19)

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.

(20)

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.

(21)

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()

(22)

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

(23)

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

(24)

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 :

(25)

--- 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 = ""

(26)

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 :

(27)

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

(28)

• 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

(29)

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

(30)

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

(31)

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

(32)

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 ---

(33)

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.

(34)

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

(35)

---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 Kustanto

sim_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.

(36)

• 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.

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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

Gambar

Tabel adalah obyek database yang memuat record ( row / baris ) dimana masing –  masing record tersebut merupakan gabungan dari beberapa sifat data yang identik
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

Referensi

Dokumen terkait

Apabila suatu sekolah tidak memiliki sistem database ini maka akan sangat membuat pegawai ataupun staff waktunya akan banyak terbuang untuk mengumpulkan data

Tabel Ciri Kerusakan digunakan untuk menyimpan informasi mengenai ciri kerusakan yang terjadi sesuai dengan jenis kerusakan yang ada.Berikut adalah tampilan field dari

Tipe data dari kolom – kolom yang terdapat pada sebuah tabel dapat berbeda – beda dan dapat kita tentukan sendiri.. Dalam dunia database, kolom sering disebut sebagai

Namun dua obyek paling atas dalam hierarki DAO yaitu obyek DBEngine dan obyek Workspace memiliki nilai default yang jika tidak dideklarasikan maka menggunakan provider

Jika data yang disimpan akan dibuat mirip dengan program pembelian (nomor faktur di tabel detail disimpan berulang tanpa adanya penambahan nomor urut transaksi yang diambil dari

Character sebagai satuan data terkecil dikumpulkan menjadi field (kolom), kumpulan field membentuk sebuah record (baris), beberapa record disimpan dalam file (tabel),

Pada tab Connection isikan nama server (contoh: DELHERU ), kemudian pilih Use Windows NT Integrated security, kemudian pilih Select the database on the server dan

Algoritma OTP untuk Sistem PengamananAccess Database Server Semua yang bersifat mengamankan data menggunakan metode tertentu merupakan inti dari kriptografi, yaitu menjamin kerahasiaan