Skip to main content

Bekerja Dengan Variabel dan Konstanta

BEKERJA DENGAN
VARIABEL & KONSTANTA
     
Hampir semua kode VBA melibatkan variabel. Walaupun VBA memungkinkan fleksibilitas dalam menyatakan variabel, fleksibilitas tersebut dapat menyebabkan praktek coding yang buruk. Bab ini akan menjelaskan paktek-praktek baik yanh harus anda kuasai tentang pernyataan variabel.
            Ketika mengadopsi praktik-praktik ini, ada kemungkinan penulisan kode menjadi lebih banyak, namun dengan praktik tersebut akan membuat kode anda berjalan lebih cepat dan lebih mudah untuk diatur dan debug di masa depan.

   o   Menyatakan/Mendeklarasikan Variabel
    Variabel adalah tempat untuk menyimpan data di memori, yang dapat dipanggil kembali, diubah ,atau tetap sama selama fungsi, prosedur,atau modul tersebut dieksekudi.

Variant 
(dengan nomor)
Nilai numerik apapun sampai dengan range Double
x = 10
Variant 
(dengan karakter)
Rentang sama untuk variabel string
x=”10”


Type (User-defined)
Rentang setiap elemen adalah sama dengan range tipe datanya.

Type struSiswa
Nama As String*35: NIK As
String*7
Jurusan As String:TglDaftar As
Date
End Type




Object
Variabel Object  digunakan untuk menggantikan ojek (kontrol).

Dim Tombol As CommandButton,
LatarBlkg As Form
Set Tombol = Command1
Set LatarBlkg = Form1
Tombol.Caption = “Mulai”
LatarBlkg.Caption = “Selamat Datang”


   o   Ketentuan Dalam Pernyataan Variabel
    Menentukan variabel biasanya dilakukan pada awal kode program dan merupakn bagian dalam satu prosedur. Variabel yang dinyatakan pada sebuah form atau prosedur hanya dikenal pada frm atau prosedur tersebut.
a)      Harus diawali dengan huruf dan tidak boleh menggunkan angka.
Dim 1 As Integer        ‘salah
Dim 3dimensi As Srting  ‘salah
b)      Panjang nama variabel dibatasi sampaip 255 karakter
c)      Tidak boleh menggunkan karakter berikut ( %, &, !, #,@, $,spasi) meskipun karakter tersebut terletak ditengah atau dibelakang.
Menikah&Pria = True     ‘salah karena ada &
Diskon%bln = 0.1  ‘salah karena ada %
Total biaya = 100 ‘salah karena ada spasi
d)     Tidak boleh menggunakan kata kunci (keyword) bahasa VB.
Print = 10 ‘salah karena Print itu kata kunci VB
e)      Pada umunya nama variabel diawali dengan huruf besar. Namun, bahasa VB tidak bersifat case-sensitive sehingga nama variabel yang diawali dengan huruf besar ataupun kecil akan dianggap  sama.
f)       Inisialisasi variabel berarti variabel tersebut diberi nilai awal.
Dim Jumlah As Integer, Tgl As Date, Nama As String
Jumlah = 10
Tgl = #1/2/2009#
Nama =  “Evelyn”
g)      Menetukan variabel dengan cara eksplisit
Dim Jumlah As Integer
h)      Menentukan variabel dengan cara implisit.
Jumlah% = 100
Nama$ = “Evelyn”
i)        Anda dapat menetapkan variabel dengan cara implisit dan menggunakan singkatan seperti berikut.
x%  = 100         ‘% - Integer
x& = 1000000            ‘& - Long
x! = 10000        ‘! – Single
x# = 100,000            ‘# - Double
x@ = 100          ‘@ - Currency
x$ = “Macro”          ‘$ - String
j)        Variabel yang digunakan tanpa pernyataan akan langsung dianggap sebagai tipe variant(angka atau teks).
Dim Jumlah, Harga, Tgl
Jumlah=”10”     :     Harga =     Jumlah*10.35      :     Tgl=#08/17/2009#
k)      Untuk memaksa  agar semua variabel harus dinyatakan terlebih dahulu sebelum dapat digunakan, krtik perintah Option Explicit pada bagian nawal kode program.

   o   Pernyataan Eksplisit
     Sebuah variabel dinyatakan/ditetapkan secara eksplisit jika anda menetapkan variabel tersebut menjadi tipe data tertentu. Jika anda tidak menentukan tipe data, maka tipe data variabel ditetapkan secara default.
Contoh :

     Baris kedua “Dim x As Integer” menyatakan sebuah variabel dengan nama x dengan tipe data integer dan kemudian diberi nilai awal (inisialisasi) sebesar 6 (dibaris ketiga). Pada baris keempat, sel,A1 diberikan nilai variabel x.
Contoh :

Variabel bertipe double lebih akurat dari pada variabel bertipe integer, selain itu variabel Double dapat menyimpan nomor setelah koma. Dalam kode berikut, MsgBox menampilkan nilai 6 (bukan 5.5) karena data disimpan sebagai integer.

Untuk menampilkan nilai 5.5. dalam kode x, anda perlu menyatakan variabel tersebut sebagai tipe Double seperti berikut .
Contoh :

Posisi pernyataan deklarasi sangat penting karena akan menetukan apakah variabel itu tersedia untuk digunakan diseluruh modul atau hanya dalam prosedur saat ini. Contoh berikut menyatakan variabel LembarKerjaSaya beripe String dalam subroutine, DeclareString.
Namun, apanila anda menjalankan makro ini, error akan muncul karena DataSaya=ActiveWorkbook.Name tidak valid karena nilai dalam ActiveWorkbook.Name tidak berupa tipe integer tetapi berupa tipe string.
Ketika anda klik pada tombol debug, excel akan menyoroti kode yang salah dalam Vusial Basic Editor (VBE)
Jika anda menetapkan DataSaya sebagai String maka dataSaya = ActiveWorkbook.Name akan menjadi valid.





Contoh :
Anda dapat menggunakan variable Boolean untuk menampung nilai True/False.

Jika variable, Lulus =True, pernyataan MsgBox akan menampilkan pesan “Saya Lulus UAS”.


Contoh :
Anda dapat membuat tipe data user-defined yang dapat mengandung satu atau lebih elemen dari tipe data,array,atau tipe data yang ditetapkan sebelumnya. Dalam contoh berikut, variable struSiswa terdiri dari variabel Nama,NIK,Jurusan, dan TglDaftar.
     

  o   Menggunakan OPTION Explicit

Secara default, VBA tidak mengharuskan anda untuk menyatakan variabel dengan menggunakan pernyataan Dim. Apabila compiler bertemu dengan variabel dengan nama (misalnya BoKTP) yang belum ditetapkan debagai variabel, atau sebagai salah satu kata kunci (keyword) VBA, atau property/metode dari typelib yang direferensikan, maka compiler secara otomatis akan membuat variabel baru dengan nama tersebut.
Walaupun ini dapat dilakukan secra otomatis, namun dapat menimbulkan kesalahan dalam kode yang sulit untuk ditemukan. Misalnya, jika anda menyatakan sebuah variabel jumlah dan kemudian menulis variabel itu sebagai jumlah (karena kesalahan dalam ejaan), VBA tidak akan menandai itu sebagai kesalahan.
Sebaliknya,VBA akan membuat variabel baru dengan nama Jmlah tersebut.
Ini berarti variabel Jmlah dan jika program itu panjang, anda mungkin akan mengalami kesulitan menemukan kesalahan tersebut.
Anda dapat mencegah kesalahan ini dengan megharuskan semua variabel dideklarasikan dengan pernyataan Dim dan menulis Explicit Option pada baris pertama dari kode anda.
Explicit Option
Jika anda menulis Explicit Option dibagian atas macro anda berarti anda harus menyatakan semua variabel dan konstanta yang akan digunakan.
Jika anda tidak menyatakan variabel/konstanta, anda akan mendapatkan pesan kesalahn seperti berikut. 
Anda dapat menambahkan pernyataan Option Explicit secara otomatis di semua kode baru anda (tetapi ridak untuk kode yang ada akerena harus dilakukan secara manual) dengan memilih menu Tools > Options > tab Editor > centang/ceklis Require Variable Declaration.
Ketika anda membuat macro baru, pernyataan Option Explicit secara otomatis akan disisipkan pada baris pertama macro anda.

  o   Hindari menggunakan Tipe data variant !
VBA mendukung tipe data variant yang dapat menyimpan semua jenis data. Jika anda mengakibatkan klusul As[tipe] dalam deklarasi/pernyataan variabel. Variant akan menjadi tipe delfault. Namun cara penulis ini dapat meningkatkan waktu proses karena compiler tersebutu harus menambahkan kode tambahan untuk menguji jenis data yang disimpan dalam variabel tersebut.
Hal ini dilakukan dengan cara memberikan “Return Value” yang berbeda untuk tiap jenis data dalam variabel tersebut.
Hal ini dilakukan dengan cara memberikan “Return Value” yang berbeda untuk tiap jenis data dalam variabel tersebut.
Tipe Data
Return Value
Empty
0
Null
1
Integer
2
Long
3
Single
4
Double
5
Currency
6
Data/Time
7
String
8

Untuk mengecek nilai “Return Value” dari suatu variabel variant, anda dapat menggunakan perintah VarType seperti berikut.

Hasil :
Selain itu, variabel bertipe variant membutuhkan lebih banyak memori. Oleh karena itu, aplikasi anda akan lebih efisien jika anda menetapkan variabel secara eksplisit dengan menentukan tipe data untuk masing-masing variabel yang digunakan. Deklarasi atau pernyataan secara eksplisit akan mengurangi timbulnya konflik penggunaan nama variabel yang sama atau kesalahan ejaan.
   o Menggunakan Sau Dim Untuk Pernyataan Variabel
            Anda dapt menyatakan lebih dari satu variabel dengan satu pernyataan Dim. Namun, anda harus memahami bagaimana variabel tersebut akan ditentukan jenis tipenya. Perhatikan kode berikut.
tipe delfault. Namun cara penulis ini dapat meningkatkan waktu proses karena compiler tersebutu harus menambahkan kode tambahan untuk menguji jenis data yang disimpan dalam variabel tersebut.

Hal ini dilakukan dengan cara memberikan “Return Value” yang berbeda untuk tiap jenis data dalam variabel tersebut.
Hal ini dilakukan dengan cara memberikan “Return Value” yang berbeda untuk tiap jenis data dalam variabel tersebut.
Anda mungkin berpikir bahwa ketiga variabel akan ditetapkan sebagai tipe integer. Hanya variabel L yang dinyatakan sebagai tipe Integer. Variabel J dan K dinyatakan sebagai tipe Variant. Pernyataan ini secara fungsional akan sama dengan berikut.

Anda harus menggunakan klausa As [tipe] untuk setiap variabel yang ditetapkan apabila menggunakan satu pernyataan Dim sebagai berikut.
   
  o Menetukan Batas Array

            Ketika anda mentukan array statis (dengan batas dalam pernyataan Dim) atau menggunakan REDim untuk menetapkan batas, maka VBA memungkinkan anda untuk menentukan hanya batas atas saja dan bukan bats  atas dan batas bawah. Secara default, batas bawah array adalah 0, sehingga peentuan array pada kode berikut akan membuat array dengan dua elemen, yaitu harga(0) dan Harga (1).
                              Dim Harga(1) As Double

            Namun, anda dapat menetapkan default batas bawah untuk semua array dalam modl sengan direktif compiler sebagai berikut yang menetapkan bahwa semua array akan menggunakan 1 sebagai batas bawah.

            Jika kemudian anda menetapkan array seperti diatas, Dim Harga(1) As Double, anda telah membuat sebuah array hanya dengan satu  elemen, yaitu Harga(1). Ini dapat menyebabkan masalah saat anda menyalin kode dari satu modul ke modul yang lain.
            Untuk menghindari masalah ini, anda harus sealu menentukan batas  bawah dari Array yang anda buat dan anda harus selalu menggunakan fungsi LBound untuk mendapatkan batas bawah array.
            Lalu, bagaimana mengatur pengulangan melalui array?  Anda harus selalu menggunakan fungsi LBound dan UBound untuk memulai dan mengakhiri pengulangan pada nilai indeks yang benar sebagai berikut.
Contoh :
Jika array ditentukan dengan pernyataan Option Base 1, maka elemen pertama yaitu harga (0) akan dilewatkan. Maka anda sebaliknya menggunakan fungsi LBound dan UBound untuk mendapatkan batas array.
Dengan menggunakan pedoman yang ditetapkan di atas, kode yang anda buat akan lebih efisien, lebih cepat, dan lebih mudah untuk debug dan diatur.
o   Notasi Hungarian
Banyak programmer lebih suka  menggunakan Notasi Hungarian dimana setiap nama variabel dimulai dengan huruf yang mengidentifikasi jenis data. Misalnya, variabel bertipe integer akan diberi nama intCounter, dimana awalan int menunjukkan bahwa variabel ini bertipe integer. Tabel berikut menunjukkan awalan (prefix) yang umum digunakan untuk setiap tipe data.








Jenis Data
Awalan
Contoh
Boolean
bln
blnLanjut
Byte
byt
bytNilaiWeekday
Collection Object
col
colWidgets
Currency
cur
curBiaya
Date (Time)
dtm
dtmTglPesan
Double
dbl
dblSales
Error
rtt
errNoFaktur
Integer
int
intKuantitas
Long
lng
lngJarak
Object
obj
objWordDoc
Single
sng
sngNilaiPpn
String
str
strNamaCostomer
Variant
vnt
vntColumnData atau varColumnData

o   Konstanta
Konstanta merupakan sebuah variabel yang tidak dapat diubah nilainya ketika program berjalan. Ada dua jenis konstanta.
Konstanta intrinsic, yaitu konstanta yang disediakan oleh VBA yang sealu disertai kata vb pada bagian awal konstanta (misalnya,  VYesNo) atau yang disediakan
Oleh Excel yang selalu disertai kata xl pada bagian awal konstanta (misalnya, xlDialogOpen), dan konstanta user yang dapat anda buat sendiri dengan kata kunci Conts.
Sintaks deklarasi/pernyataan sebuah konstanta kurang lebih seperti berikut .

Sebuah konstanta dinyatakan dengan kata kunci Const.



Contoh :

Contoh berikut menetapkan konstanta JUDULBUKU dan diberi nilai “Pintar Macro Excel 2007/10”. Oleh karena itu, dimana pun konstanta JUDULBUKU digunakan, nilai yang akan dikembalikan adalah “Pintar Makro Excel 2007/10”.

Proses :
Hasil :




Comments

Popular posts from this blog

lambang saka wira kartika

LAMBANG SAKA WIRA KARTIKA Lambang Saka Wira Kartika berbentuk segi lima beraturan dengan warda dasar merah dan putih. Di dalamnya terdapat gambar Kartika Eka Paksi, 2 buah tunas kelapa, 2 untai batang padi yang menguning, dan pita bertuliskan Saka Wira Kartika. Gambar Kartika Eka Paksi merupakan lambang dan semboyan TNI Angkatan Darat. lambang Saka Wira Kartika Penjelasan lebih mendalam mengenai lambang Saka Wira Kartika beserta arti kiasan yang terkandung di dalamnya akan diuraikan dalam artikel tersendiri. Anggota Saka Wira Kartika Layaknya pada Satuan Karya Pramuka lainnya, anggota Saka Wira Kartika disyaratkan seorang Pramuka Penegak atau Pramuka Pandega baik putera dan puteri yang menjadi anggota  gugusdepan  di wilayah cabang atau ranting di mana Saka Wira Kartika itu berada.  Untuk dapat mendaftar sebagai anggota Saka Wira Kartika seorang pramuka harus : §   Pramuka Penegak Bantara atau Pramuka Penegak Laksana atau...

Event Programming Dengan Excel VBA

Event Programming Dengan  Excel VBA o    Menggunakan VBA Excel untuk event programming Untuk membuka excel visual basic editor tekn Alt+F11 sesudah anda membuka excel. Jika anda belum membuat macro, jendela code tidak akan menampilkan apa-apa kecuali jika anda klik ganda pada Sheet1 (atau objek lain seperti modul). Atau pilih menu Insert > UserFrom untuk membuat user from baru atau Insert > Module untuk membuat modul baru. Lingkungan Visual Editor pada dasarnya terdiri dari jendela berikut ini. Keterangan dari masing-masing bagian sudah dijelaskan dalam Bab 1. Bagian / Jendela Untuk membuka 1. Standar Toolbar Pilih menu View > Toolsbars > Standard 2. Project Explorer Pilih menu View > Project Explorer atau tekan tombol Ctrl + R 3. Code Pilih menu View > Code atau tekan tombol F7 4.Properties Pilih menu View > Properties Window atau tekan tombol F4 5. Immediate ...

Saka Wirakartika Kabupaten Sragen Tahun 2018

SAKA WIRAKARIKA KABUPATEN SRAGEN TAHUN 2018 Hallo kakak-kakak pramuka diseluruh dunia. Apa kabar nih? Ciyelah,, sehatkan ? Alhamdullilah. Pada kesempatan kali ini kita akan membahas salah satu tentang Satuan Karya Pramuka yaitu saka wira karika. Apasih saka wirakartika itu ? dan kegiatan apakah yang sedang berlangsung? Yuhh, cusss kit abaca arikel berikut. Saka atau Satuan Karya Pramuka Wira Kartika   merupakan salah satu Satuan Karya Pramuka yang bersifat nasional. Saka yang dibentuk lewat kerjasama antara Kwartir Nasional dengan TNI Angkatan Darat ini bertujuan untuk mengembangkan pendidikan bela negara. Di samping Saka Wira Kartika, saka lainnya yang bersifat nasional seperti Saka Bhayangkara ,  Saka Bahari , Saka Bakti Husada, Saka Dirgantara, Saka Kencana, Saka Taruna Bumi, Saka Wanabakti, Saka Pariwisata, Saka Kalpataru, dan Saka Widya Budaya Bakti. Saka Wira Kartika adalah wadah kegiatan bagi  Pramuka Penegak  dan  Pramuka Pandega untuk men...