Mengenal Tipe Data Pada VBA Excel (Data Type VBA) #04

 Seri tutorial dasar VBA kali ini akan mengajak anda untuk belajar mengenal tentang  Mengenal Tipe Data Pada VBA Excel (Data Type VBA) #04

Data Type VBA - Seri tutorial dasar VBA kali ini akan mengajak anda untuk belajar mengenal tentang tipe data (datatype) pada pemrograman Visual Basic For Aplication (VBA) Excel.

Sebenarnya setlah membahas tentang saya ingin melanjutkan pembahasan mengenai variabel & konstanta, namun karena pembahasan tentang Variable pada VBA tidak akan pernah terlepas dengan data type, saya kira akan lebih baik jika kita berkenalan dulu dengan tipe data (data type) pada VBA. Tanpa megenal data tipe akan sangat sulit sekali untuk untuk melakukan menejemen Variable & konstanta secara efektif & efisien.

Toh pada dasarnya tujuan utama dari VBA adalah untuk memanipulasi data. Sehingga memiliki pemahaman yg baik tentang data type akan sangat membantu anda untuk menguasai VBA Excel. Benar?


Pengertian Dan Fungsi Tipe Data VBA Excel


Secara umum Data tersimpan di memori komputer. Jika Anda memiliki pemahaman dasar tentang komputer, saya yakin Anda sdh familiar dengan cara kerjanya.

Pada pembahasan VBA, Penyimpanan data di bagi dlm 2 jenis. Beberapa data di simpan dlm bentuk bentuk object & beberapa data lainnya disimpan dlm bentuk variabel.

Objek adalah apa yg dimanipulasi oleh Visual Basic for Applications. Contoh objek adalah Workbook, Worksheet, rentang sel (range) & sel pada excel. Se&gkan Variabel adalah sebuah nama tertentu sbgai lokasi penyimpanan data. Variabel umumnya digunakan untuk mewakili nilai tertentu. Dengan kata lain, variabel adalah wadah untuk sebuah nilai tertentu.

Variabel pada Visual Basic for Applications dibuat dengan melakukan sebuah deklarasi statement tertentu dengan menentukan nama & karakteristik dari setiap variabel tersebut. Salah satu karakteristik yg bisa Anda tentukan adalah tipe data-nya.

Tipe data adalah sebuah cara yg digunakan untuk menentukan & mengelompokkan jenis dari suatu data tersebut. Aktifitas ini biasa di sebut sbgai "deklarasi variabel". Tentang Variabel akan kita bahas tersendiri pada panduan selanjutnya, kali ini kita akan fokus membahas tentang tipe data dulu.

Dalam bahasa pemrograman terdapat banyak jenis-jenis tipe data yg bisa digunakan. Namun setiap bahasa pemrograman mempunyai tipe data yg mungkin tidak ada di bahasa pemrograman lain.

Alasan utama mengapa memahami tipe data VBA itu penting adalah untuk menentukan karakteristik dari variabel yg Anda buat di VBA.

Mengapa demikian? sebab Tipe data VBA akan menentukan cara penyimpanan data di memori komputer. Masing-masing tipe data ini memiliki alokasi nominal yg berbeda pada memori yg artinya akan membutuhkan jumlah byte tertentu yg berbeda untuk setiap tipe data.

Semakin kecil jumlah byte yg digunakan maka eksekusi VBA akan semakin cepat & sebaliknya semakin banyak byte yg digunakan data Anda, semakin lambat aplikasi VBA Anda berjalan.

Nah saya kira Anda sdh cukup memahami kenapa mengetahui tipe data VBA ini menjadi penting untuk dipelajari. Lalu apa saja tipe data pada VBA Excel?

Tipe Data VBA Excel


Tipe data pada VBA, meskipun mirip tentunya berbeda dengan tipe data Excel yg sdh kita bahas pada halaman lain.

Data type (tipe data) pada VBA dapat dikelompokkan dlm dua bagian. Yakni, Numeric Data Types atau tipe data angka/numerik & non-numeric data types atau tipe data selain angka/numerik.
  • Tipe data numerik (Numeric Data Types) adalah jenis data yg terdiri dari angka, yg dapat dihitung secara matematis dengan berbagai operator standar sprti penambahan, pengurangan, perkalian, pembagian & banyak lagi. Contoh variabel yg biasanya menggunakan data tipe data numerik ini adalah adalah nomor urut, tinggi ba&, berat ba&, jumlah siswa di kelas, harga barang, tagihan bulanan, & lain sbgainya.
  • Tipe data non-numerik (non-Numeric Data Types) adalah tipe data yg tidak dapat dimanipulasi secara matematis dengan menggunakan operator aritmatika standar.

Untuk lebih jelasnya mari kita pelajari satu persatu.

Numeric Data Types (Tipe Data Numerik) Pada VBA Excel


Tipe data VBA yg termasuk ke dlm tipe data numerik ini adalah: Byte, Integer, Long, Single, Double, Currency, Decimal.

TABEL TIPE DATA NUMERIK
TIPE MEMORY RENTANG NILAI
Byte 1 byte 0 sampai 255
Integer 2 bytes -32.768 sampai 32.767
Long 4 bytes -2.147.483.648 sampai 2.147.483.648
Single 4 bytes -3,402823E+38 sampai -1,401298E-45 untuk nilai negatif.
1,401298E-45 sampai 3,402823E+38 untuk nilai positif.
Double 8 bytes -1,79769313486232E+308 sampai -4,94065645841247E-324 untuk nilai negatif.
4.94065645841247E-324 sampai 1.79769313486232E+308 untuk nilai positif.
Currency 8 bytes -922.337.203.685.477,5808 sampai 922.337.203.685.477,5807
Decimal 12 bytes +/- 79.228.162.514.264.337.593.543.950.335 (tanpa nilai desimal).
+/- 7,9228162514264337593543950335 (28 tempat desimal).

Tipe Data Byte


Tipe data Byte di VBA adalah tipe data yg hanya membutuhkan 1 byte kapasitas memori. Variabel dengan tipe data VBA-nya Byte dapat digunakan untuk menyimpan angka antara 0 & 255.

Tipe Data Integer


Anda dapat menggunakan tipe data Integer untuk menyimpan bilangan bulat antara -32.768 sampai dengan 32.767.

Variabel integer hanya membutuhkan kapasitas 2 byte memori komputer. Karena kebutuhan memori yg rendah, tipe data Integer di VBA bisa anda jadikan pilihan yg paling efisien & lebih baik untuk tujuan menyimpan bilangan bulat yg termasuk dlm jangkauannya.

Tipe Data Long


Tipe data Long biasa juga disebut sbgai "Long Integer". Seperti yg tersirat namanya, Anda dapat menggunakan tipe data Long pada VBA untuk menyimpan nilai integer yg berada dlm rentang yg lebih panjang daripada rentang tipe data Integer.

Dengan menggunakan tipe data Long VBA, Anda bisa menyimpan angka antara -2.147.483.648 & 2.147.483.647.

Jika angka ini belum cukup anda bisa menggunakan tipe data Double.

Tipe Data Single


Tipe data Single mengacu pada "single-precision floating-point", sebuah format angka yg menentukan bagaimana komputer menangani nomor tersebut.

Anda dapat menggunakan tipe data Single untuk menyimpan nomor dlm rentang brkut:
  • Nilai negatif: -3,402823E38 sampai -1,401298E-45.
  • Nilai positif: 1,401298E-45 sampai 3,402823E38.

Variabel yg menggunakan tipe data single membutuhkan 4 byte kapasitas memory komputer.

Tipe Data Double


Tipe data Double bisa digunakan untuk menampung bilangan bulat & pecahan. Double berarti "Double-precision Floating-point".

Lebih tepatnya, Anda bisa menggunakan tipe Double untuk menyimpan nomor floating-point dlm rentang brkut:
  • Bilangan negatif: -1,79769313486231E308 sampai -4,94065645841247E-324.
  • Bilangan positif: 4,94065645841247E-324 sampai 1,79769313486232E308.

Variabel yg menggunakan tipe data ini membutuhkan 8 byte memori, yg artinya 2 kali lipat kebutuhan tipe data Single & Long Integer.

Tipe Data Currency


Seperti namanya tipe data Currency biasa digunakan untuk menyimpan data yg berhubungan dengan nominal uang (moneter). Tentu saja pada dasarnya tidak harus nominal uang saja sih.

Tipe data Mata Currency menghasilkan nilai skala dengan akurasi hingga 15 digit di sebelah kiri titik desimal & 4 digit ke kanan. Gunakan tipe data ini untuk menghindari kesalahan pembulatan saat presisi sangat penting.

Variabel mata uang dapat digunakan untuk menyimpan bilangan positif & negatif. Tipe data ini disimpan sbgai angka dlm format integer yg diskalakan 10.000.

Sebagai konsekuensinya, tipe data ini memungkinkan untuk rentang nilai antara -922.337.203.685.477,5808 & 922.337.203.685.477,5807.

Karena fakta bahwa tipe data VBA Mata Uang tepat & variabel-variabel ini memberi angka fixed-point, Mata Uang sangat berguna untuk perhitungan moneter atau perhitungan fixed-point dimana akurasi sangat penting.

Tipe data Currency membutuhkan 8 byte memori.

Tipe Data Decimal


Tipe data Decimal dapat digunakan untuk menyimpan bilangan bulat yg diukur dengan kekuatan 10. Faktor penskalaan ini bervariasi tergantung pada berapa digit yg ada di sisi kanan titik desimal. Jumlah maksimum digit yg dapat ditahan oleh variabel Desimal adalah 28.

Berapa nilai yg dapat di tampung oleh tipe data ini?
  • Jika tidak mengandung nilai desimal Tipe ini dapat menampung - 79.228.162.514.264.337.593.543.950.335 sampai 79.228.162.514.264.337.593.543.950.335.
  • Jika mengandung nilai desimal Tipe ini dapat digunakan untuk menampung angka -7,9228162514264337593543950335 sampai 7,9228162514264337593543950335.

Tipe data VBA Decimal memberikan jumlah digit terbesar untuk mewakili nomor tertentu. Oleh karena itu, tipe ini lebih sesuai untuk kasus di mana Anda melakukan perhitungan dengan jumlah besar yg membutuhkan presisi & tidak dapat menghindari kesalahan pembulatan.

Ketepatan tipe data Desimal, datang dengan biaya dlm bentuk kebutuhan memori yg besar. Tipe data VBA Desimal membutuhkan 12 byte, yg lebih besar dari tipe data numerik lainnya.

Seperti yg dijelaskan oleh Microsoft, Anda tidak dapat mendeklarasikan tipe data Decimal secara langsung. Sebenarnya, tipe Decimal adalah sub tipe Variant. Karena itu, untuk menggunakan Desimal, Anda harus fungsi konversi CDec.

Tipe Data Non-Numerik(Non-Numeric Data Types)


Yang termasuk kedlm tipe data ini adalah tipe data string atau teks, tipe data Date, tipe data Boolean, tipe data Object & tipe data Variant.

TABEL TIPE DATA NON-NUMERIK
TIPE DATA MEMORY NILAI
String(fixed length) Sesuai panjang string 1 sampai 65.400 karakter
String(variable length) Sesuai panjang string + 10 bytes 0 to 2 Milyar karakter
Date 8 bytes 1 January 100 sampai 31 Desember 9999
Boolean 2 bytes True atau False
Object 4 bytes Untuk setiap objek yg disematkan
Variant(numeric) 16 bytes Nilai apapun sebesar Double
Variant(text) Length+22 bytes Sama sprti variable-length string


Tipe Data String


Pada VBA(Visual Basic for Applications), tipe data String umumnya digunakan untuk menyimpan teks. Namun, ini tidak berarti bahwa Anda hanya boleh menggunakan huruf dlm variabel String. Selain huruf, variabel String dapat berisi angka, spasi, tanda baca & karakter tertentu.

Ada 2 jenis tipe data String yg bisa digunakan. Jumlah karakter & memori yg dibutuhkan bervariasi tergantung jenisnya.

  1. String-fixed length

    Variabel yg menggunakan tipe Fixed-length String dapat berisi antara 1 & sekitar 64.000 karakter. Variabel String ini membutuhkan jumlah memori sejumlah yg dibutuhkan oleh string atau teks itu sendiri.
  2. String-variable length

    Variabel yg menggunakan tipe Variable-length String dapat berisi apapun dari 0 sampai sekitar 2 miliar karakter. Tipe ini membutuhkan 10 byte memori ditambah memori yg dibutuhkan untuk string itu sendiri.

Tipe Data Date


Tipe atau jenis data Date bisa digunakan untuk menyimpan nilai tanggal, waktu atau keduanya sekaligus (Tanggal & waktu). Tipe ini dapat menyimpan nilai yg merepresentasikan tanggal antara 1 Januari 100 sampai 31 Desember 9999 & atau waktu antara 00:00:00 (tengah malam) sampai 23:59:59.

Kapasitas memory yg dibutuhkan oleh tipe Date ini adalah 8 Byte.

Tipe Data Boolean


Tipe data Boolean hanya digunakan untuk menyimpan salah satu dari 2 nilai logika TRUE atau FALSE. Data ini membuthkan 2 byte memori.

Secara umum data Boolean, TRUE dilambangkan dengan 1 & FALSE dilambangkan dengan 0. Namun, dlm VBA, konversi antara Boolean & tipe data VBA numerik bekerja sedikit berbeda:
  • Saat mengubah variabel dengan tipe Boolean menjadi tipe data numerik, TRUE menjadi -1 & FALSE menjadi 0.
  • Saat mengubah tipe data VBA numerik menjadi Boolean, 0 menjadi FALSE & semua nilai lainnya (terlepas dari apakah itu negatif atau positif) menjadi TRUE.

Tipe Data Object


Anda dapat menggunakan tipe data Object untuk tujuan menyimpan alamat yg mengacu pada object VBA tertentu. Tipe data ini membutuhkan 4 byte memori.

Secara umum jika anda membuat sebuah variable yg merujuk pada object VBA Excel tertentu, gunakanlah tipe data ini. Object pada VBA excel ini misalnya Workbook, worksheet, sel, Range, & lain sbgainya.

Tipe Data Variant


Varian adalah tipe data VBA default. Dengan kata lain, ini adalah jenis data yg digunakan oleh VBA(Visual Basic for Applications) saat Anda tidak menentukan jenis datanya pada saat mendeklarasikan sebuah variabel. Dengan kata lain saat anda tidak menyebutkan tipe data saat melakukan deklarasi variabel maka Excel akan menggunakan tipe data yg membutuhkan 16 atau 22 kapasitas memori ini.

Ya tipe data ini memang membutuhkan kapasitas memori lebih besar dibanding lainnya, lebih tepatnya:
  • Variant untuk data numeric membutuhkan 16 byte memori.
  • Variant untuk data teks membutuhkan 22 byte memori ditambah memori yg dibutuhkan oleh string.

Inilah salah satu alasan kenapa pada halaman panduan VBA bagian pertama saya menyarankan untuk menggunakan option explicit pada setiap awal modul yg anda buat. Yakni agar Anda berlatih menentukan tipe data apa yg paling tepat digunakan untuk alasan efektifitas eksekusi VBA yg anda buat.

Memilih Tipe Data Yang Tepat


Aturan umum yg saya sarankan untuk Anda gunakan saat menentukan jenis data yg akan digunakan adalah pilih tipe data yg menggunakan jumlah byte terkecil. Tentu saja jenis data tersebut tetap harus mampu menangani rentang data yg ingin anda pakai.

Alasan untuk ini adalah sprti yg saya sampaikan di awal bahwa semakin kecil byte memori yg digunakan maka eksekusi Program VBA Anda akan relatif lebih cepat & tentunya anda tidak ingin kode VBA anda berjalan sangat lambat bukan?.

Beberapa saran lain saat memilih jenis data atau tipe data apa yg tepat adalah sbgai brkut:
  • Gunakan tipe BOOLEAN jika Variable yg anda buat digunakan untuk menyimpan nilai logika benar/salah atau TRUE & FALSE.
  • Untuk menyimpan teks gunakan tipe String dengan ketentuan:
    1. Apabila jumlah karakter tidak tetap maka gunakan String dengan deklarasi biasa
    2. Apabila jumlah karakter harus dijaga tetap N karakter maka gunakan String dengan deklarasi String * Jumlah_karakter
  • Apabila variable yg anda buat akan digunakan untuk menyimpan angka bulat gunakan:
    1. Tipe data Byte untuk angka antara 0 sampai 255
    2. Tipe data Integer untuk angka antara -32,768 sampai 32,767 atau maksimal 4 digit
    3. Tipe data Long untuk angka antara -2,147,483,648 sampai 2,147,483,647 atau maksimal 9 digit
  • Angka tidak harus dijaga ketepatan jumlah digitnya & bisa berupa pecahan (fractions) gunakan Single atau Double karena keduanya memiliki rentang yg sangat luas.
  • Apabila digit angka yg disimpan harus dijaga tepat apa a&ya & dapat berupa angka pecahan (fractions) gunakan:
    1. Tipe data Currency bila berupa nilai uang dengan ketepatan 4 digit dibelakang koma atau maksimal 14 digit.
    2. Tipe data Variant bila nilai tidak boleh berubah (apa a&ya) yg bisa mencapai 28 digit agar bisa diisi nilai bertipe Decimal.
  • Gunakan Tipe data Date untuk menyimpan data Tanggal, Waktu, atau Tanggal & waktu sekaligus.
  • Untuk tipe data Object:
    1. Apabila Anda tahu nama objectnya, gunakan nama objectnya (misal range, worksheet, pivottable, dsb)
    2. Apabila tidak tahu nama objectnya, gunakan Tipe Object
  • Jika tidak pasti datatype-nya (sebisa mungkin dihindari), gunakan tipe data Variant karena bisa berubah menjadi datatype sesuai dengan nilai datanya.

Selain saran pemilihan data type diatas ada beberapa hal lain yg perlu anda perhatikan:
  1. Jika nilai data yg akan disimpan melebihi batas datatype yg ditentukan atau malah berbeda datatype-nya, maka akan menghasilkan error.
  2. Penulisan angka atau number pada VBA selalu menggunakan format English atau menggunakan karakter titik (.) sbgai tanda desimal
  3. Penulisan date dlm VBA sebaiknya menggunakan format universal YYYY-MM-DDuntuk tanggal & HH:mm:ss. untuk waktu
  4. VBA akan berusaha mengkonversi datatype yg diinputkan menjadi sesuai dengan yg dideklarasikan
  5. Untuk dapat menggunakan datatype Decimal, maka variabel atau prosedur jenis function harus menggunakan datatype Variant yg diisi dengan menggunakan fungsi CDec sprti yg sduah dijelaskan sebelumnya.

Sekian dulu pembahasan kita tentang Data Type VBA. Jika ada yg belum jelas slahkan ditanyakan pada kolom komentar yg tersedia. Pada seri tutorial VBA Dasar brkutnya kita akan belajar tentang .

Jangan lupa jika anda menemukan manfaat dari panduan-panduan pada blog tutorial excel ini slahkan share & berkomentar agar manfaatnya dirasakan juga oleh kawan-kwan pengguna excel lainnya.


Sumber https://www.kelasexcel.id

Berlangganan update artikel terbaru via email:

Belum ada Komentar untuk "Mengenal Tipe Data Pada VBA Excel (Data Type VBA) #04"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel