51 grafik pengguna akan lebih mudah menginterpretasikan suatu informasi yang
disajikan.
Gambar 19. Form Grafik Simbapro Krisan Potong PT ABN
2. Implementasi Proses dan Pemrograman Sistem
Pada saat pemrograman dibuatlah modul untuk efektivitas dan efisiensi pengkodean, yaitu dengan meringkas kode-kode program yang sama dan
digunakan secara berulang, kemudian dikumpulkan menjadi suatu sub program sendiri yang dapat dipanggil berulang-ulang sesuai kebutuhan. Sub program-sub
program tersebut disimpan dalam file modul yang bernama modul1.bas. Sub program dalam bentuk prosedur maupun fungsi yang disimpan dalam
file modul1.bas antara lain sebagai berikut. a. Prosedur Form Center
Prosedur ini dijalankan saat form aktif. Semua form secara default diposisikan di tengah jendela form menu utama.
prosedur untuk memposisikan jendela form di menu mdi
Sub FormCenterFrm As Form
Frm.Top = menu.Height 0.85 2 ‐ Frm.Height 2 Frm.Left = menu.Width 2 ‐ Frm.Width 2
End Sub
b. Prosedur Koneksi Basis Data Komunikasi antara aplikasi Simbapro Krisan Potong PT ABN dengan Ms
Access RDBMS dilakukan dengan menggunakan perantara Open Database
52 Conectivity Data Source Name ODBC DSN. Kontrol Data aplikasi
menggunakan ActiveX Data Object ADO. Kontrol ADO inilah yang dikoneksikan ke DSN. Dengan ODBC ini dapat dilakukan pengaksesan data dari
berbagai macam DBMS hanya dengan memastikan bahwa koneksi aplikasi ke ODBC sudah benar.
Koneksi menggunakan perantara ODBC dipilih karena koneksi yang tersebut sekaligus untuk mengkoneksikan Crystal Report 4.6.1.116, yaitu program
untuk pembuatan desain laporan, dengan RDBMS. Program bawaan Visual Basic 6 ini tidak dapat mengenali basis data Ms Acces 2007 yang digunakan dalam
membangun basis data.
Public Conn As New ADODB.Connection
Public conshape As New ADODB.Connection
Public rs As New ADODB.Recordset
Public rshpt As ADODB.Recordset
Public rssuplier As ADODB.Recordset
Public rspengguna As ADODB.Recordset
Public rslahan As ADODB.Recordset
Public rssaprodi As ADODB.Recordset
Public rsgh As ADODB.Recordset
Public rsghdetil As ADODB.Recordset
Public rsbagian As ADODB.Recordset
Public rslokasi As ADODB.Recordset
Public rsbibit As ADODB.Recordset
Public rsvar As ADODB.Recordset
Public rskrisan As ADODB.Recordset
Public rstranstanaman As ADODB.Recordset
prosedur untuk melakukan koneksi basis data
Public Sub bukadb
If Conn.State = 1 Then Conn.Close Set Conn = New ADODB.Connection
Set rssuplier = New ADODB.Recordset Set rshpt = New ADODB.Recordset
Set rslahan = New ADODB.Recordset Set rsgh = New ADODB.Recordset
Set rsghdetil = New ADODB.Recordset Set rssaprodi = New ADODB.Recordset
Set rsbagian = New ADODB.Recordset Set rslokasi = New ADODB.Recordset
Set rsbibit = New ADODB.Recordset Set rskrisan = New ADODB.Recordset
Set rspengguna = New ADODB.Recordset Set rsvar = New ADODB.Recordset
Set rstranstanaman = New ADODB.Recordset Conn.Open dsn=coba
End
Sub prosedur
untuk melakukan penutupan koneksi basis data Public
Sub tutupdb
53
Conn.Close Set Conn = Nothing
End Sub
b. Prosedur Stok Tanaman Prosedur ini digunakan ketika melakukan operasi perubahan jumlah
penanaman awal ataupun pemeliharaan terhadap objek tanaman induk, krisan, bibit. Perubahan tersebut akan mempengaruhi jumlah stok objek tanaman.
Argumen yang digunakan adalah jenis objek tanaman dan kode unik dari objek tanaman tersebut.
Public Sub updatestokByVal strobjek As String, ByVal strkode As String
Dim longstok, longawal, longmasuk, longkeluar As Long
Dim rsawal As New ADODB.Recordset
Dim rsinput As New ADODB.Recordset
Dim rsoutput As New ADODB.Recordset
Dim strtabel, strtabeltrans, strkolom, strkolomid As String
Dim strawal, strinput, stroutput, strupdate As String
Select Case strobjek objek adalah tanaman induk
Case induk: strtabel = tbl_induk
strtabeltrans = tbl_trans_induk strkolomid = [indukid]
strkolom = jmlinduk objek adalah tanaman krisan
Case krisan strtabel = tbl_krisan
strtabeltrans = tbl_trans_krisan strkolomid = [krisanid]
strkolom = jmlkrisan objek adalah bibitkrisan
Case Else strtabel = tbl_bibit
strtabeltrans = tbl_trans_bibit strkolomid = [bibitid]
strkolom = jmlbibit End Select
strinput = SELECT SUM strkolom AS masuk strinput = strinput FROM tbl_trans_tanaman INNER JOIN strtabeltrans ON
tbl_trans_tanaman.[no]
= strtabeltrans .kegiatanid strinput = strinput WHERE tbl_trans_tanaman.status=PLUS AND strkolomid =
strkode stroutput = SELECT SUM strkolom AS keluar
stroutput = stroutput FROM tbl_trans_tanaman INNER JOIN strtabeltrans ON tbl_trans_tanaman.[no]
= strtabeltrans .kegiatanid stroutput = stroutput WHERE tbl_trans_tanaman.status=MINUS AND strkolomid =
strkode Call bukadb
rsinput.Open strinput, Conn
54
rsoutput.Open stroutput, Conn If IsNullrsinputmasuk = True Then
longmasuk = 0 Else
longmasuk = rsinputmasuk End If
If IsNullrsoutputkeluar = True Then longkeluar = 0
Else longkeluar = rsoutputkeluar
End If longstok = longmasuk ‐ longkeluar
update stok terakhier strupdate = UPDATE strtabel SET stok = longstok
strupdate = strupdate WHERE strkolomid = strkode Conn.Execute strupdate
Call tutupdb End
Sub
c. Prosedur Koneksi Data Shape Grafik yang dibuat, di antaranya ada yang menggunakan kontrol data shape,
karena melibatkan 3 variabel yang berbeda. Dengan kontrol ini dapat dibuat bentuk cross tab nilai dari suatu recordset.
Public rsshape As New ADODB.Recordset
Public Sub bukashape
If conshape.State = 1 Then conshape.Close Set conshape = New ADODB.Connection
conshape.OpenPROVIDER=MSDataShape;dsn=coba;uid=;pwd=;Data Provider=MSDASQL End
Sub Public
Sub tutupshape conshape.Close
Set conshape = Nothing End
Sub
d. Prosedur Minggu Kerja Prosedur ini digunakan untuk perhitungan minggu kerja. Minggu kerja aktif
adalah fungsi dari perbedaan waktu dalam minggu tanggal periode awal dengan tanggal saat sistem aktif.
Public Function mk As Integer
Dim rsmk As New ADODB.Recordset Call bukadb
rsmk.Open tbl_periode, Conn mk = DateDiffw, rsmkawal, Date
Call tutupdb End
Function
55 e. Prosedur Kode Transaksi
Pada setiap transaksi diberikan kode unik, sehingga perlu dibuat otomatisasi dalam pembuatan kode transaksi kegiatan pemeliharaan. Prosedur ini memintakan
parameter nilai dari recordset tabel transaksi, tanggal transaksi, dan nama kolom kode transaksi. Kode transaksi dibuat memenuhi yy+mm+dd+0001. Kode tersebut
akan bertambah secara urut dan memulai dari urutan pertama bila ada perubahan hari.
fungsi umum untuk mengambil kode transaksi operasional
Public Function transrs As ADODB.Recordset, tgltrans, kolomid As String As String
baca tabeltrans yang transindukidnya paling akhir rs.Requery
Dim strurutan As String 10 Dim lnHitung As Long
With rs jika data tidak ditemukan maka...
If .EOF Then strurutan = Righttgltrans, 2 + Midtgltrans, 4, 2 + Lefttgltrans, 2 + 0001
no transidnya adalah YYMMDD0001 trans = strurutan
Else jika ganti hari maka... nomor transindukidnya
If Left.Fields kolomid , 6 Righttgltrans, 2 + Midtgltrans, 4, 2 + Lefttgltrans, 2
Then YYMMDD0001
strurutan = Righttgltrans, 2 + Midtgltrans, 4, 2 + Lefttgltrans, 2 + 0001 Else
jika harinya sama maka... YYMMDD0001+1 lnHitung = .Fields kolomid + 1
strurutan = Righttgltrans, 2 + Midtgltrans, 4, 2 + Lefttgltrans, 2 + Right0000 lnHitung,
4 End If
End If trans = strurutan
End With End
Function
f. Prosedur Hapus Tabel Temporer Proses transaksi kadang melibatkan sebuah tabel temporer pada basis data
untuk penyimpanan sementara data transaksi sebelum dilakukan penyimpanan pada tabel utama. Sebelum tabel temporari digunakan, tabel tersebut harus
dikosongkan terlebih dahulu.
56
prosedur umum untuk menghapus isi suatu tabel tertentu
Public Sub hapustabelstrtbl As String
Dim rshapus As New ADODB.Recordset Call bukadb
rshapus.Open strtbl, Conn koreksi keberadaan data, bila ada data maka hapus data
If rshapus.EOF = False Then Conn.Execute delete from strtbl
End If Call tutupdb
End
Sub
g. Prosedur Kontrol Text Box Prosedur ini digunakan untuk melakukan pengosongan nilai dari semua
kontrol text box yang terdapat pada suatu objek form.
prosedur untuk mengosongkan textbox
Public Sub kosongtextobjform As Form
Dim objek As Control
For Each objek In objform If TypeOf objek Is TextBox Then objek.Text =
Next End
Sub
h. Prosedur Cek Data Prosedur ini berupa fungsi boolean untuk mengecek keberadaan data pada
suatu recordset aktif. Fungsi akan mengembalikan nilai true bila data ditemukan pada recordset yang dimaksud. Sebaliknya akan memberikan nilai false bila data
tidak ada.
Public Function cekByVal strtabel As String, ByVal kolom As String, ByVal strnilai As String As
Boolean cek
= False strquery
= SELECT FROM strtabel WHERE [ kolom ] = strnilai Call
bukadb rs.Open
strquery, Conn If
Not rs.EOF Then cek
= True End
If Call
tutupdb End
Function
57 i. Prosedur Pesan Standar
Prosedur ini digunakan untuk menampilkan pesan konfirmasi standar.
prosedur pesan informasi
Public Sub pesanByVal strjenis As String, ByVal strpesan As String
Select Case UCaseTrimstrjenis
Case PERHATIAN
MsgBox UCasestrpesan, vbExclamation + vbOKOnly, [PESAN] Case
INFO: MsgBox UCasestrpesan, vbInformation + vbOKOnly, [PESAN]
End Select
End Sub
j. Prosedur Kode Tanaman Induk Prosedur ini digunakan dalam pembuatan kode internal dan eksternal
tanaman induk yang unik. Kode internal tanaman induk memenuhi yy-mm- 000001. Angka kode akan bertambah bila tanaman induk ditanam pada bulan
yang sama, dan akan mereset dari awal bila ada perubahan bulan. Sementara itu, kode tanaman eksternal memenuhi
VARID + LOKASIID + MM + YY
nomorinduk merupakan kodetanaman internal
Private Sub nomorinduk
Dim lnHitung As Long
Dim strurutan As String
Call bukadb rs.Open select from tbl_induk where indukid inselect maxindukid from tbl_induk ORDER
BY indukid desc, Conn
If rs.EOF Then kode = yy‐mm‐000001
strurutan = RightMe.DTPtgltanam, 2 + MidMe.DTPtgltanam, 4, 2 + 000001 Else
If Leftrsindukid, 4 RightMe.DTPtgltanam, 2 + MidMe.DTPtgltanam, 4, 2 Then strurutan = RightMe.DTPtgltanam, 2 + MidMe.DTPtgltanam, 4, 2 + 000001
Else lnHitung = rsindukid + 1
strurutan = RightMe.DTPtgltanam, 2 + MidMe.DTPtgltanam, 4, 2 + Right0000 lnHitung,
6 End If
End If Call tutupdb
Me.txtindukid.Text = strurutan End
Sub kodeinduk
merupakan kode tanaman induk eksternal VARID + LOKASIID + MM + YY Private
Sub kodeinduk Me.txtkode.Text = MidMe.cmbvarietas.Text, 3, 3 Me.cmblokasi.Text _
MidMe.DTPtgltanam, 4, 2 RightMe.DTPtgltanam, 2
End Sub
58 k. Prosedur Validasi Kelengkapan Data
Sebelum data penting dilengkapi oleh pengguna, sistem akan menolak proses penyimpanan dan memberikan konfirmasi adanya ketidaklengkapan data
yang akan disimpan. Metode vbCrlf digunakan untuk membuat baris baru pada tampilan message box.
validasi kelengkapan data
ms = If Me.cmbvarietas.Text = Then ms = ms + VARIETAS BELUM DIISI + vbCrLf
If Me.txtasalinduk.Text = Then ms = ms + ASAL INDUK BELUM DIIISI + vbCrLf If Me.txtremske.Text = Then ms = ms + TURUNAN INDUK BELUM DIISI + vbCrLf
If Me.txtjumlah.Text = Then ms = ms + JUMLAH STEK BELUM DIISI + vbCrLf If Me.cmblokasi.Text = Then ms = ms + LOKASI BELUM DIISI + vbCrLf
If Me.txtket.Text = Then ms = ms + KETERANGAN INDUK BELUM DIISI + vbCrLf If ms Then
Call pesaninfo, ms Exit Sub
End If
l. Prosedur Validasi Data Unik Sebelum dilakukan penyimpanan data, sistem akan melakukan pengecekan
terhadap keberadaan data baru. Bila sudah terdapat data yang sama sistem akan menolak untuk melakukan proses penyimpanan.
‘validasi unik data
If cektbl_induk, indukid, Me.txtindukid.Text = False Then
MsgBox MOTHERSTOK ID = Me.txtindukid.Text ‐ Me.txtkode.Text Space5 Jumlah
= Me.txtjumlah siap, vbOKOnly + vbInformation, [PESAN] Call simpan
Else Call pesaninfo, DATA TANAMAN INDUK SUDAH ADA
End If
c. Prosedur Setting Grid List View Kode untuk melakukan pengaturan grid objek List View pada saat form
utama tanaman induk dijalankan. Kode ini dipanggil saat form utama pada even form_load.
Sub gridinduk
Dim header As ColumnHeader Me.lsdata.ColumnHeaders.Clear
Set header = Me.lsdata.ColumnHeaders.Add, , ID INDUK, 1500, lvwColumnLeft Set header = Me.lsdata.ColumnHeaders.Add, , KODE INDUK, 1500, lvwColumnLeft
Set header = Me.lsdata.ColumnHeaders.Add, , VARIETAS, 2000, lvwColumnLeft Set header = Me.lsdata.ColumnHeaders.Add, , LOKASI, 800, lvwColumnCenter
59
Set header = Me.lsdata.ColumnHeaders.Add, , ASAL, 1500, lvwColumnCenter Set header = Me.lsdata.ColumnHeaders.Add, , REMS KE, 1500, lvwColumnCenter
Set header = Me.lsdata.ColumnHeaders.Add, , TGL TANAM, 1500, lvwColumnCenter Set header = Me.lsdata.ColumnHeaders.Add, , JUMLAH, 1500, lvwColumnRight
Set header = Me.lsdata.ColumnHeaders.Add, , KETERANGAN, 4000, lvwColumnLeft End
Sub
m. Prosedur Tampil Data Kode untuk mengambil data dari basis data sesuai dengan kategori melalui
perintah sql strquery yang telah dimodifikasi agar bisa dieksekusi pada Visual Basic. Bila data ditemukan maka data tersebut akan ditampilkan dalam kontrol list
view. Perintah sql dieksekusi melalui objek recordset setelah membuka koneksi dengan basis data terlebih dahulu. Kemudian dilakukan proses pengkodean untuk
menampilkan data tersebut menggunakan kontrol objek List View.
Private Sub tampildata
strquery = select
strquery = strquery from tbl_induk inner join tbl_varietas on
strquery = strquery tbl_induk.varid = tbl_varietas.varid
strquery = strquery INNER JOIN Tbl_trans_induk ON tbl_induk.ketinduk =
tbl_trans_induk.transid Dim
i As Long i
= 1 Me.lsdata.ListItems.Clear
Call bukadb
If Me.cmbjk.ListIndex = 1 Then berdasarkan kode induk rs.Open
strquery WHERE [tbl_induk.indukid] LIKE Me.txtcari.Text ORDER BY tbl_induk.tgltanam
desc, Conn ElseIf
Me.cmbjk.ListIndex = 2 Then berdasarkan varietas rs.Open
strquery WHERE [tbl_varietas.varietas] LIKE Me.txtcari.Text ORDER BY tbl_induk.tgltanam
desc, Conn ElseIf
Me.cmbjk.ListIndex = 3 Then rs.Open
strquery where [tbl_induk.lokasiid] LIKE Me.txtcari.Text ORDER BY tbl_induk.tgltanam
desc, Conn Else
rs.Open strquery ORDER BY tbl_induk.tgltanam desc, Conn End
If pengingkatan data dari recordset ke listview databoundcontrol
Do While Not rs.EOF Me.lsdata.ListItems.Add i, , Trimrsindukid
Me.lsdata.ListItemsi.ListSubItems.Add 1, , Trimrskodeinduk Me.lsdata.ListItemsi.ListSubItems.Add 2, , Trimrsvarid ‐ Trimrsvarietas
Me.lsdata.ListItemsi.ListSubItems.Add 3, , Trimrslokasiid Me.lsdata.ListItemsi.ListSubItems.Add 4, , Trimrsasalinduk
Me.lsdata.ListItemsi.ListSubItems.Add 5, , Trimrsremske Me.lsdata.ListItemsi.ListSubItems.Add 6, , Trimrstgltanam
Me.lsdata.ListItemsi.ListSubItems.Add 7, , Trimrsjmlinduk Me.lsdata.ListItemsi.ListSubItems.Add 8, , Trimrskettransinduk
i = i + 1
60
rs.MoveNext Loop
Call tutupdb
Me.lblrecord.Caption = Me.lsdata.ListItems.Count Data Ditemukan
End Sub
o. Prosedur Simpan Data Penyimpanan data master induk melibatkan 2 buah tabel, yaitu tbl_induk
dan tbl_trans_induk. Proses pertama yang dilakukan pada prosedur ini adalah mengambil kode transaksi terakhir dari tbl_trans_induk untuk mendapatkan kode
transaksi penanaman induk. Perintah query penyimpanan disimpan dalam variabel string strquery1 dan strquery2. Strquery1 untuk sintaks perintah penyimpanan
data pada tabel_induk sedangkan strquery2 untuk penyimpanan data tbl_trans_induk.
Proses penyimpanan data ke dalam kedua tabel harus berhasil semuanya. Bila salah satu gagal maka proses penyimpanan pada kedua tabel harus
dibatalkan. Oleh karena itu, digunakanlah metode begintrans, committrans, dan RollbackTrans yang ada pada objek conn ADODB.Connection.
Metode begintrans digunakan untuk memulai transaksi baru, comittrans untuk menyimpan perubahan dari proses transaksi baru yang diawali metode
begintrans. Rollbacktrans untuk membatalkan perubahan yang terjadi saat transaksi atau mengakhiri transaksi yang gagal.
Private Sub simpan
On Error GoTo salahtransaksi
Dim strtransid As String
Dim strquery1 As String
Dim strquery2 As String
ambil data transid terbaru pemeliharaan induk
Call bukadb
rs.Open SELECT FROM tbl_trans_induk WHERE transid inselect maxtransid from
tbl_trans_induk ORDER BY transid desc, Conn
strtransid = transrs, Date, transid
Call tutupdb
simpan data pada tabel induk
strquery1 = INSERT INTO tbl_induk values Me.txtindukid.Text ,
strquery1 = strquery1 Me.txtkode.Text ,
strquery1 = strquery1 LeftMe.cmbvarietas.Text, 5 ,
strquery1 = strquery1 Me.cmblokasi.Text ,
strquery1 = strquery1 Me.txtasalinduk.Text ,
strquery1 = strquery1 Me.txtremske ,
61
strquery1 = strquery1 Me.DTPtgltanam ,
strquery1 = strquery1 Me.txtjumlah.Text ,
strquery1 = strquery1 strtransid ,
strquery1 = strquery1 Me.txtjumlah.Text
simpan data pada tabel trans_induk
strquery2 = INSERT INTO tbl_trans_induk values strtransid ,
strquery2 = strquery2 Me.txtindukid.Text ,
strquery2 = strquery2 K001,
strquery2 = strquery2 Me.DTPtgltanam ,
strquery2 = strquery2 Me.txtjumlah.Text ,
strquery2 = strquery2 Me.txtket.Text
Call bukadb
Conn.BeginTrans Conn.Execute strquery1
Conn.Execute strquery2 Conn.CommitTrans
Call
tutupdb Call
Bersih frmbroinduk.cmdrefresh.Value
= True Call
Form_Activate Exit
Sub salahtransaksi:
Conn.RollbackTrans MsgBox
PENYIMPANAN DATA GAGAL _ KARENA Err.Number Err.Description, vbInformation + vbOKOnly, [PESAN]
Call tutupdb
End Sub
p. Prosedur Update Data Kode untuk update data tidak jauh berbeda dalam algoritma proses
penyimpanan data. Hanya saja berbeda dalam perintah query untuk update data serta adanya proses update stok dengan memanggil prosedur umum updatestok.
Hal itu dikarenakan terdapat perubahan jumlah tanam awal. Perubahan jumlah tanam induk akan mengakibatkan perubahan stok tanaman induk.
On Error GoTo salahtransaksi
Dim strtransid As String
Dim strquery1 As String
Dim strquery2 As String
update pada tabel induk
Call kodeinduk
strquery1 = UPDATE tbl_induk SET
strquery1 = strquery1 kodeinduk = Me.txtkode.Text ,
strquery1 = strquery1 varid = LeftMe.cmbvarietas.Text, 5 ,
strquery1 = strquery1 lokasiid = Me.cmblokasi.Text ,
strquery1 = strquery1 asalinduk = Me.txtasalinduk.Text ,
strquery1 = strquery1 remske = Me.txtremske ,
strquery1 = strquery1 tgltanam = Me.DTPtgltanam ,
strquery1 = strquery1 jmlinduk = Me.txtjumlah.Text
strquery1 = strquery1 WHERE [indukid]= Me.txtindukid.Text
62
Call bukadb
rs.Open SELECT ketinduk FROM tbl_induk WHERE [indukid] = Me.txtindukid.Text , Conn
If rs.EOF = False Then strtransid = rsketinduk
Call tutupdb
update pada tabel trans induk
strquery2 = UPDATE tbl_trans_induk SET
strquery2 = strquery2 tgltrans = Me.DTPtgltanam ,
strquery2 = strquery2 jmlinduk = Me.txtjumlah.Text ,
strquery2 = strquery2 kettransinduk = Me.txtket.Text
strquery2 = strquery2 WHERE [transid]= strtransid
Call bukadb
Conn.BeginTrans Conn.Execute strquery1
Conn.Execute strquery2 Conn.CommitTrans
Call
tutupdb update
stok tanaman Call
updatestokinduk, Me.txtindukid.Text Exit
Sub salahtransaksi:
Conn.RollbackTrans MsgBox
PENYIMPANAN DATA GAGAL _ KARENA Err.Number Err.Description, vbInformation + vbOKOnly, [PESAN]
Call tutupdb
End Sub
q. Prosedur Hapus Data Sistem akan mengambil kode tanaman induk dari list yang dipilih oleh
pengguna, kemudian mengecek keberadaannya dalam basis data. Bila ada, sistem akan melakukan konfirmasi ulang dengan menampilkan pesan. Selanjutnya akan
dilakukan proses penghapusan data yang dipilih.
Private Sub cmdhapus_Click
Dim i As Long
Dim strnoinduk As String
strnoinduk = Me.lsdata.SelectedItem If cektbl_induk, indukid, strnoinduk = True Then
If MsgBoxYAKIN AKAN MENGHAPUS DATA INDUK strnoinduk ?, vbYesNo, [PESAN]
= vbYes Then Call bukadb
Conn.Execute DELETE FROM tbl_induk WHERE [indukid] = strnoinduk Call tutupdb
Call tampildata End If
Else Call pesaninfo, DATA TIDAK DITEMUKAN
63
End If End
Sub
r. ProsedurValidasi Data Numerik Kode program ini digunakan untuk memvalidasi data pemasukan yang
hanya menerima data numerik, misalnya adalah data kolom jumlah tanam induk. Caranya dengan membuat keputusan bila karakter KeyAscii yang diinputkan
bukanlah angka, yaitu antara Asc “0” dan Asc‘”9” maka KeyAscii diberikan nilai 0 artinya tidak ada karakter.
Private Sub txtjumlah_KeyPressKeyAscii As Integer
If Not KeyAscii = Asc0 And KeyAscii = Asc9 Or KeyAscii = vbKeyBack Or KeyAscii = vbKeyReturn
Or KeyAscii = vbKeyTab Then KeyAscii = 0 If KeyAscii = vbKeyTab Or KeyAscii = vbKeyReturn Then Me.txtket.SetFocus
End Sub
s. Prosedur Huruf Kapital. Dengan fungsi Ucase, setiap karakter masukan akan diubah ke dalam bentuk
huruf kapital.
Private Sub txtasalinduk_KeyPressKeyAscii As Integer
KeyAscii = AscUCaseChrKeyAscii If KeyAscii = vbKeyTab Or KeyAscii = vbKeyReturn Then Me.txtremske.SetFocus
End Sub
3. Simulasi Sistem