download

Matakuliah
Tahun
Versi
: T0063/Pemrograman Visual
: 2005
: 1/0
Pertemuan 04
Variable
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• Menerangkan tipe data yang ada dan cara
mendeklarasikan variable (C2)
2
Outline Materi
Variable
• Variable Name
• Scope dan Lifetime
• Native Data Type
• Aggregate Data Type
• Class Module sebagai Tipe Data
• Property Get dan Let
• Contoh penggunaan Class Module
3
Variable Name
•
•
•
•
•
•
Tidak lebih dari 255 karakter
Berisi huruf, angka dan underscore (_)
Karakter pertama harus berupa huruf
Tidak boleh menggunakan spasi atau titik
Tidak dapat menggunakan reserved word (variable
built-in dari Visual Basic)
Tidak case-sensitive
Contoh :
Dim Myvar
Dim _myvar as String
Public MyVar123 as Long
Private MyV4r as Variant
4
Scope dan Lifetime
Scope dan Lifetime
• Scope (visibilty) variable adalah bagian bagian dari aplikasi dimana
sebuah variable masih bisa diakses
Variable yang dianggap public di dalam modul BAS akan bisa diakses di
bagian manapun dari aplikasi tersebut, namun jika dianggap private di
dalam modul BAS, maka variable tersebut hanya bisa dibaca di dalam
scope BAS tersebut.
• Lifetime variable adalah rentang hidup sebuah variable.
Variable yang bersifat public di modul BAS, maka rentang hidupnya adalah
selama aplikasi tersebut jalan, namun sebuah variable didefinisikan
sebagai private di modul X, maka VB akan mengcreate variable
tersebut ketika modul X dipanggil dan menghapus variable tersebut jika
keluar dari modul X.
5
Scope dan Lifetime
• Global Variable
– Secara umum yang dianggap global variable
adalah semua variable bertipe Public yang
ditaruh di modul BAS, namun bisa juga
menggunakan keyword Global
– Variable ini bisa dibaca dan diupdate di
semua bagian aplikasi
– Disarankan tidak terlalu banyak
– Biasa diawali dengan prefix g_ atau glo_
6
Scope dan Lifetime
Global UDT (User Define Type)
• Satu cara yang disarankan, jika harus
menggunakan banyak variable global,
yaitu penggunaan UDT
Module.BAS
Form Code
7
Scope dan Lifetime
• Module Level Variable
– Private Module Level, dideklarasikan dengan
keyword Private atau Dim di bagian deklarasi
variable suatu form dan class module
– Public Module Level, dideklarasikan dengan
keyword Public
– Public Module Level bisa diakses oleh dari
luar form atau class module, sedangkan
private module level tidak bisa
8
Scope dan Lifetime
• Dynamic and Static Local Variable
– Dynamic Local Variable
• Didefinisikan dengan keyword Dim di dalam
sebuah Procedure (Sub/Function)
• Scope : procedure level
• Lifetime : procedure level
– Static Local Variable
• Didefinisikan dengan keyword Static di dalam
Procedure
• Scope : procedure level
• Lifetime : module level
9
Native Data Type
Tipe Data
Batasan Nilai
Byte
8 bit (1 byte) angka antara 0-255
Integer
16 bit (2 byte) angka berkisar dari –32.768 s/d 32.767
Long
32 bit (4 byte) angka berkisar dari –2.147.483.648 sampai 2.147.483.647
Single
32 bit (4 byte) angka floating point yang berkisar dari –3.4E38 sampai 3.8E38 dan
angka pecahan dari –1.4E-45 sampai 1.4E-45
Double
64-bit (8 byte) angka floating-point dari –1.7E308 sampai 1.7E308, dan pecahan
dari –4.9E-324 sampai 4.9E-324
Currency
64 bit (8 byte) angka integer dari –922.337.203.685.477,5808 sampai
922.337.203.685.477,5807
Boolean
16 bit (2 byte) angka yang hanya bisa diisi dengan True / False
String
Variable yang bisa berisi kira kira 2 milyar karakter / alfabet
Date
64 bit (8 byte) angka floating-point yang menyimpan tanggal dari 1 Januari 100
sampai 31 Desember 9999 dan waktu dari jam 0:00:00 sampai 23:59:59
Object
32 bit (4 byte) alamat memori yang menunjuk ke object
Variant (Default)
16 bit (2 byte) Variable yang bisa menampung semua tipe data yang ada di VB
10
Aggregate Data Type
• User-Defined Type (UDT)
– Merupakan struktur data yang tersusun dari data data
yang bertipe lebih sederhana
– Pengguna mendefinisikan sesuai kebutuhan
– Biasanya dideklarasikan dalam module BAS
Private Type EmployeeUDT
Name As String
DepartmentID As Long
Salary As Currency
End Type
11
Aggregate Data Type
• Array
– Berupa sekumpulan data yang homogen
– Dimensi : 1 s/d 60
Dim NIM(100) As String
– Secara umum deklarasi array adalah seperti diatas, namun
kadangkala programmer tidak mengetahui secara pasti jumlah
array :
Dim NIM() as String
...
ReDim NIM(100) as String
– Array juga bisa dikombinasikan dengan UDT dan bahkan
dengan Array itu sendiri (Array of Arrays)
– LBound dan UBound digunakan untuk mengetahui indek
terbesar dan terkecil
12
Aggregate Data Type
• Array of Arrays
13
Aggregate Data Type
• Collection
– Collection adalah sekumpulan dari object
yang mempunyai struktur yang sama.
– Kelebihan Collection adalah kita bisa
membuat array object.
– Secara umum Collection mempunyai 4 buah
property dan method, yaitu Count, Item, Add
dan Remove
14
Aggregate Data Type
– Contoh :
colMyCollection.Item(n)
atau
collMyCollection(n)
(n adalah nomor dari item yang ada, untuk
pemakaian lebih lanjut bisa menggunakan For
Each)
– Form Collection dan Control Collection adalah
collection yang sudah built-in dalam VB
• Form Collection adalah sebuah Collection dimana setiap
elemennya mewakili setiap form dalam sebuah aplikasi
• Control Collection berisi semua object control di dalam
sebuah form
15
Aggregate Data Type
– Cara mengakses Collection sama dengan
Array
For n=0 to colMyCollection.Count-1
colMyCollection(n).Visible= False
Next n
– Menggunakan For Each
For Each objItem in colMyCollection
objItem.Visible= False
Next objItem
16
Aggregate Data Type
– Untuk membangun sebuah Collection kita
perlu deklarasi variable menggunakan tipe
data Collection
Dim colMyCollection as New Collection
– Collection yang dibangun tersebut otomatis
akan mempunyai 4 properties dan method :
•
•
•
•
Count property - jumlah item dalam collection
Item property - menunjuk suatu object dalam Collection
Add method - menempatkan object dalam Collection
Remove method - menghapus object dalam Collection
17
Class Module sebagai Tipe Data
• Class Module dalam VB
menjelaskan tentang class dari
object-object (template untuk
object), setiap object mempunyai
variasi property, tetapi mempunyai
struktur dan kemampuan yang
sama
• Dari sebuah class module bisa
dibuat banyak instance (yang
berupa object)
• Class module menggunakan prefix
cls
Dim objMhs as clsMahasiswa
• Deklarasi :
18
Property Get dan Let
• Property Get dan Let adalah rutin yang
akan dijalankan pada saat property
dipanggil
• Property Get
– mengambil nilai property
• Property Let
– mengeset nilai property
19
Contoh penggunaan Class Module
Let (NIM)
dijalankan
Get (NIM)
dijalankan
20