Adoc - Pub - Imam Budi Kustanto Com PDF
Adoc - Pub - Imam Budi Kustanto Com PDF
0
Membuat Program Logistik Barang
( Inventory System )
Imam Budi Kustanto
sim_rusak@yahoo. com
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.
Pengantar
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.
Record
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.
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.
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
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
JmlPersediaan Number
klik OK.
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,
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.
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.
TUTORIAL 2
FORM & SCRIPT CODE ( 01 )
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 ) :
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.
Catatan :
Anda juga dapat menggunakan Tools Menu Editor untuk membuat shortcut –
shortcut tersebut. Bedanya kalau menggunakan cara itu, tampilan form tidak bisa
dibuat borderless.
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
----------------------------------------------------------------------------------------------
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.
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
• StartupPosition = 2-CenterScreen
Icon
Form Caption
Label
ComboBox
TDBGrid
Adodc
TextBox
CommandButton
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.
24. Klik kanan object TDBGrid1 kembali, pilih Properti, hingga muncul :
Bila yang di klik adalah BtnKeluar, tambahkan lagi sub prosedur berikut :
----------------------------------------------------------------------------------------------
Private Sub BtnKeluar_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
End Sub
----------------------------------------------------------------------------------------------
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
End If
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
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 :
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
40. Sekarang apabila yang di klik adalah buton keluar maka form akan diunloading, form
utama ditampilkan kembali.
----------------------------------------------------------------------------------------------
Private Sub BtnKeluar_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
End Sub
----------------------------------------------------------------------------------------------
41. Operasi data yang akan kita gunakan dalam form ini adalah operasi penambahan data
dan penghapusan data. Sebaiknya kita buat sub yang bisa dipanggil.
----------------------------------------------------------------------------------------------
Sub SimpanData()
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
End Sub
----------------------------------------------------------------------------------------------
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.
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”)
44. Perintah pada klik btnRefresh akan merefresh data yang digunakan dalam form ini.
----------------------------------------------------------------------------------------------
Private Sub BtnRefresh_Click()
DataBarang.Refresh
End Sub
----------------------------------------------------------------------------------------------
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.
TUTORIAL 2
FORM & SCRIPT CODE ( 02 )
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
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 ).
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
• Telepon ganti dengan NIP.
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
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 Pengelola
Nama Jabatan NIP
Mr. Brown Kepala Gudang 500 111 222
Mr. White Staff 500 222 333
Mrs. Green Staff 140 444 444
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.
TUTORIAL 2
FORM & SCRIPT CODE ( 03 )
Form7( DataPenerimaan.frm)
75. Object & Form LayOut
77. Atur kolom – kolom yang ada dalam TDBGrid(TabelBarang) merujuk pada field –
field dalam tabel DataBarang. Demikian pula pada TDBGrid(TabelDistribusi)
merujuk pada tabel DataDistribusi.
78. Apabila form di-loading maka data – data yang berhubungan dengan penerimaan
barang kita refresh.
----------------------------------------------------------------------------------------------
Private Sub Form_Load()
DataBarang.Refresh
DataRekanan.Refresh
DataPengelola.Refresh
85. Apabila isian text pada NamaBarang berubah, maka akan dilakukan pencarian nama
barang dalam database sesuai karakter yang di ketikkan padanya.
Private Sub NamaBarang_Change()
If NamaBarang = "" Then
idBarang = ""
Else
Dim caribarang As String
caribarang = "%" & NamaBarang.Text & "%"
cariID = " select * from Databarang where Nama like '" &
caribarang & "' "
DataBarang.RecordSource = cariID
DataBarang.Refresh
End If
End Sub
86. Setelah dilakukan pencarian yang dikarenakan perubahan isi dari kolom input ini,
apabila fokus terlepas darinya maka :
Private Sub NamaBarang_LostFocus()
On Error GoTo TdkAdaBarang
NamaBarang.BackColor = vbButtonFace ‘warna dasar jadi gelap
idBarang.BackColor = vbButtonFace ‘s.d.a
NamaBarang = DataBarang.Recordset!nama ‘ hasil pencarian
pada tabel database akan dimasukan dalam kolom isian
NamaBarang
idBarang = DataBarang.Recordset!idBarang ‘kolom IDBarang
mengikuti
Satuan = DataBarang.Recordset!Satuan ‘ satuan, jenis juga
iya
HargaSatuan = DataBarang.Recordset!HargaSatuan
JenisBarang = DataBarang.Recordset!jenis
stockawal = DataBarang.Recordset!jmlpersediaan ‘jml
persediaan akan menjadi stock awal
JumlahTerima.SetFocus
Exit Sub
TdkAdaBarang:
Pesan=MsgBox ("Nama barang yang anda masukkan tidak
terdaftar dalam database", VBOKOnly + 64, “ Data Tidak
Ada”)
NamaBarang = ""
NamaBarang.SetFocus
End Sub
Apabila prosedur pencarian yang kita tetapkan mengakibatkan error pada program,
mudahnya kita katakan saja bahwa data yang dicari tidak ada. Apabila itu terjadi
maka proses akan diarahkan menuju deklarasi TdkAdaBarang yang berisi pesan
barang tidak ditemukan.
87. Demikian juga halnya bila ada penekanan keyboard Enter dalam kolom isian ini.
Scriptnya hampir sama dengan atas.
88. Isian kolom NamaBarang yang kosong akan berakibat IDBarang menjadi kosong.
Dan IDBarang kosong akan berpengaruh pula pada satuan, jenis, harga satuan dan
stockawal.
Private Sub idBarang_Change()
If idBarang = "" Then
Satuan = ""
HargaSatuan = ""
JenisBarang = ""
stockawal = ""
End If
End Sub
90. Apabila semua data dianggap telah terisi, maka logikanya data – data isian tersebut
akan dimasukan dalam database sesuai dengan fieldnya masing – masing. Untuk
mudahnya kita jadikan sub dengan nama Simpan.
Sub simpan()
DataDistribusi.Recordset!tanggal = tanggal
• Bila salah satu kolom isian masih ada yang kosong maka dikonfirmasikan ( text
messege ) untuk melengkapi dulu.
If idPengelola = "" Or idrekanan = "" Or idBarang = "" Or
BuktiTerima = "" Or NoBuktiTerima = "" Or DasarTerima = ""
Or NoDasarTerima = "" Or JumlahTerima = "" Then
Pesan = MsgBox("Periksa kembali data isian anda. Lengkapi
yang masih kosong", vbOKOnly + 64, "Data Tidak Lengkap")
• Apabila record telah terisi data ( terindikasi dengan sudah terisinya field
IDDistribusi ) maka pesan perintah untuk klik btnTambah dahulu.
If DataDistribusi.Recordset!IDDistribusi <> "" Then
Pesan = MsgBox("Record sudah terisi data. Klik tombol
Tambah untuk membuat record baru ! ", vbOKOnly + 64,
"Record Terisi")
92. Perubahan pada kolom isian StockAwal akan menyebabkan adanya operasi hitung
pada StockAkhir
Private Sub stockawal_Change()
If stockawal <> "" And JumlahTerima <> "" Then
Dim VAriabel2 As Double
Dim VAriabel3 As Double
VAriabel2 = JumlahTerima
VAriabel3 = stockawal
stockakhir = VAriabel2 + VAriabel3
93. Demikian juga perubahan isian pada kolom HargaSatuan aka menyebabkan operasi
hitung perkalian pada kolom NilaiTerima
95. Setelah semua object pada Form8 disesuaiakan untuk menginput data pengeluaran,
sekarang copy dan paste semua script Form7 dalam script Form8.
Mengikuti perubahan nama objectnya, script juga perlu dirubah. Caranya seleksi
semua script yang ada ( press Ctrl + A ) lalu Ctrl + H untuk memanggil dialog Find
and Replace. Jangan lupa aktifkan ( beri tanda cek ) pada check box Match Case
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.
TUTORIAL 3
REPORT DESIGN
Untuk memudahkan penanganan report, dalam tabel database buat 2 buah query masing –
masing untuk data penerimaan dan pengeluaran.
97. Buka file database DB_Loghis.mdb, pada tab Object, pilih Queries, lalu double klik
Create query by using wizard.
98. Dalam task Simple Query Wizard, pada field Tables/Queries pilih
Tabel:DataBarang, lalu masukkan field Nama, Satuan, Jenis dan HargaSatuan yang
ada dalam kolom Available Field. ( lihat gambar di bawah ini )
Klik Next, dalam kolom isian title pada task berikutnya, isi dengan nama
CetakPenerimaan, lalu klik Finish.
Dalam baris Criteria pada field KodeDistribusi, isikan T . Sehingga data yang
tampil dalam query tersebut hanya data penerimaan saja yang berkode T.
100. Simpan dengan nama lain ( press F12 ) yaitu CetakPengeluaran. Pada
KodeDistribusi criteria yang tadinya T gantilah dengan K.
CrystalReport1(ReportPenerimaan.Dsr) &
Form9(CetakPenerimaan.frm)
101. Pastikan tool Seagate Criystal Report 8.5 telah terinstall dalam PC anda. Klik kanan
pada area Project Explorer, pilih Add diikuti klik Crystal Reports 8.5, akan muncul
task pane seperti gambar berikut :
103. Pada kolom ODBC pilih atau ketik nama ODBC-nya yaitu DB_Loghis diikuti OK
105. Ketika dalam task Standar Report Expert, pada tab Data, dalam kolom Tables
telah muncul ado, klik Next.
106. Pada tab Field masukan Tanggal, Nama, Jenis, HargaSatuan, JumlahBarang,
Satuan, dan NilaiRupiah. Setelah itu Finish.
Pada gambar di atas menunjukan bahwa section Report Header belum aktif. Untuk
mengaktifkannya kosongi check box Suppress (No Drill-Down). Lakukan juga
untuk section yang belum aktif lainnya.
Pembagian section :
110. Report Header adalah section tempat kita menaruh header dari laporan kita.
Biasanya berupa kop atau identitas organisasi / instansi / kantor. Caranya: dalam area
112. Details adalah section untuk menempatkan data atau isi tabel. Sama seperti di atas,
aturlah menyesuaikan area yang ada baik dari jenis huruf atau text alignnya
menyesuaikan header tabel yang ada pada section Page Header
113. Kebalikan dari Report Header adalah Report Footer. Section ini tampil dalam
halaman laporan sebagai footer dari laporan. Biasanya berisi pejabat / orang yang
berkompeten menandatangani laporan.
114. Sedangkan kebalikan dari Page Header adalah Page Footer. Section ini tampil pada
setiap halaman laporan pada bagian bawah. Biasanya berupa nomor halaman.
116. Double klik form9, lalu tambahkan script untuk sub prosedur form_unload sebagai
berikut :
----------------------------------------------------------------------------------------------
Private Sub Form_Unload(Cancel As Integer)
Form1.Show ‘Form1(MenuUtama.frm)
ditampilkan
Form1.Enabled=true ‘menjadikan Form1 enable
Unload me ‘Unload me ( Form9 )
Me.hide ‘Form9 tidak tampil di layar
End Sub
----------------------------------------------------------------------------------------------
117. Defaultnya, Form ini hanya berisi object CRViewer saja. Klik object tersebut, lalu
atur propertiesnya sebagai berikut :
• DisplayGroupTree = False
• DisplayTabs = False
• EnabledExportButton = True
• EnabledGroupTree = False
• EnabledRefreshButton = True
120. Dan sebagai penutup dari langkah – langkah di atas adalah meng-compile ( bahasa
Indonesianya “ Compile” apa ya ?? ☺ ) project yang telah anda buat ini.
Sebelumnya simpan project terlebih dahulu ( Save Project ).
Lalu File Make Loghis.Exe.. dan tempatkan file compile tersebut dalam folder
C:/Loghis.
Setelah proses compile selesai, keluarlah dari Ms. ViBas 6.0 yang menandakan 90%
pekerjaan anda telah terselesaikan.
Langkah selanjutnya adalah membuat file setup-nya ( Packaging )
Catatan penulis :
Bila perlu, anda cari artikel yang membahas secara tersendiri tentang soft Crystal Report
8.5 ini. Atau kalau masih ada kesempatan, penulis juga akan mencoba membahasnya lebih
terperinci lagi. Karena pada dasarnya soft Seagate Crystal Report 8.5 ini fungsinya tidak
sebatas pada apa yang telah dikerjakan tadi.
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.
TUTORIAL 4
PACKAGING PROJECT
Untuk membuat file setup dari project ini sangatlah mudah. Anda tinggal mengikuti ( Next
dan OK saja ) wizard yang anda panggil dari :
Start Microsoft Visual Basic 6.0 Microsoft Visual Basic 6.0 Tools Package &
Deployment Wizard.
Pada bagian ini anda menentukan lokasi dan nama project yang telah dibuat tadi, yaitu (
klik Browse ) pada folder C:/Loghis/Loghis.vbp
Defaultnya, komputer akan menempatkan file setup tersebut sub folder Package dalam
folder yang sama dengan lokasi file project-nya. Klik Next
Pilih Single cabs bila ingin file setup ( *.cab ) menjadi satu, atau Multiple cabs bila ingin
di-split dalam ukuran tertentu. Klik Next.
Komunitas eLearning IlmuKomputer.Com 87
Copyright © 2003-2006 IlmuKomputer.Com
adalah isian judul / title dari proses instalasi program. Next aja lagi.
Nah kalo yang ini lah gue super tahu. Itu artinya proses telah selesai. Lalu.. FINISH,
Man!
Ternyata untuk membuat sebuah program aplikasi berbasis Visual Basic tidaklah sesulit
yang kita bayangkan semula. Meskipun sedikit yang bisa kita mengerti tentangnya bukan
berarti bahwa itu tidak bisa digunakan untuk membuat program yang jadi.
Namun, hal tersebut juga bukan berarti bahwa proses pembelajaran Visual Basic hanya
cukup sebatas ini saja. Karena tutorial ( yang lumayan panjang ) ini hanyalah membahas
struktur If..Then saja. Masih banyak struktur dan perintah Visual Basic lain yang belum
kita tahu. Sementara “sistem informasi” yang kita bangun tadi juga masih sangat jauh
untuk dikatakan sebagai sebuah sistem informasi yang sebenarnya.
Ada 2 hal penting yang perlu kita pegang dalam membuat sebuah program :
1. Kegagalan umum yang sering terjadi pada sebuah sistem informasi berbasis computer,
faktor utama penyebabnya bukanlah dari bahasa pemrograman apa digunakan untuk
scripting programnya, juga bukan dari software apa yang digunakan untuk administrasi
databasenya. Sehingga kita tidak bisa mengatakan bahwa ViBas lebih baik dari Fox
Pro atau Delphi, Ms SQL lebih baik dari Ms. Access atau yang lainnya. Kegagalan itu
justru disebabkan oleh karena kekurang-pahaman seorang programmer terhadap sistem
yang hendak dibangunnya itu. Karenanya, langkah pertama yang harus dilakukan
dalam membangun sebuah program aplikasi adalah “ pahami sedetail mungkin tentang
sistem yang akan kita transformasikan dalam bahasa pemrograman” tersebut.
2. Jangan pernah beranggapan bahwa program yang kita buat sudah fix segalanya. Selalu
berpikirlah bahwa program yang kita buat adalah tidak pernah sempurna. Selalu
berpikirlah bahwa orang yang mengoperasikan program kita adalah orang yang masih
awam mengoperasikan komputer. Segala kemungkinan kesalahan pengoperasian
program yang bisa saja terjadi harus kita pikirkan antisipasinya. Misalnya, dari awal
program itu dijalankan, kita sudah harus berpikiran bahwa program tersebut running
hanya karena salah pencet shortcut saja. Segala kemungkinan perkembangan sistem
harus kita pikirkan penanganannya.
Terakhir, bila ada kesalahan dan kekurangan dalam tulisan ini yang menyebabkan error
pada project ini, selamat ber- try and error . ☺ ☺