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

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

Penjelasan tentang tipe data atau jenis data default pada Visual Basic for Application atau VBA Excel yang digunakan saat melakukan deklarasi variable
Jenis atau Tipe Data Pada VBA Excel

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 setelah membahas tentang saya ingin melanjutkan pembahasan mengenai variabel dan 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 dan konstanta secara efektif dan efisien.

Toh pada dasarnya tujuan utama dari VBA adalah untuk memanipulasi data. Sehingga memiliki pemahaman yang 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 sudah familiar dengan cara kerjanya.

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

Objek adalah apa yang dimanipulasi oleh Visual Basic for Applications. Contoh objek adalah Workbook, Worksheet, rentang sel (range) dan sel pada excel. Sedangkan Variabel merupakan sebuah nama tertentu sebagai lokasi penyimpanan data. Variabel umumnya digunakan untuk mewakili nilai tertentu. Dengan kata lain, variabel merupakan wadah untuk sebuah nilai tertentu.

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

Tipe data merupakan sebuah cara yang digunakan untuk menentukan dan mengelompokkan jenis dari suatu data tersebut. Aktifitas ini biasa di sebut sebagai "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 yang bisa digunakan. Namun setiap bahasa pemrograman mempunyai tipe data yang mungkin tidak ada di bahasa pemrograman lain.

Alasan utama mengapa memahami tipe data VBA itu penting adalah untuk menentukan karakteristik dari variabel yang 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 yang berbeda pada memori yang artinya akan membutuhkan jumlah byte tertentu yang berbeda untuk setiap tipe data.

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

Nah saya kira Anda sudah 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 yang sudah kita bahas pada halaman lain.

Data type (tipe data) pada VBA dapat dikelompokkan dalam dua bagian. Yakni, Numeric Data Types atau tipe data angka/numerik dan non-numeric data types atau tipe data selain angka/numerik.

  • Tipe data numerik (Numeric Data Types) adalah jenis data yang terdiri dari angka, yang dapat dihitung secara matematis dengan berbagai operator standar seperti penambahan, pengurangan, perkalian, pembagian dan banyak lagi. Contoh variabel yang biasanya menggunakan data tipe data numerik ini adalah adalah nomor urut, tinggi badan, berat badan, jumlah siswa di kelas, harga barang, tagihan bulanan, dan lain sebagainya.
  • Tipe data non-numerik (non-Numeric Data Types) adalah tipe data yang 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 yang termasuk ke dalam tipe data numerik ini adalah: Byte, Integer, Long, Single, Double, Currency, Decimal.

TABEL TIPE DATA NUMERIK
TIPEMEMORYRENTANG NILAI
Byte1 byte0 sampai 255
Integer2 bytes-32.768 sampai 32.767
Long4 bytes-2.147.483.648 sampai 2.147.483.648
Single4 bytes-3,402823E+38 sampai -1,401298E-45 untuk nilai negatif.
1,401298E-45 sampai 3,402823E+38 untuk nilai positif.
Double8 bytes-1,79769313486232E+308 sampai -4,94065645841247E-324 untuk nilai negatif.
4.94065645841247E-324 sampai 1.79769313486232E+308 untuk nilai positif.
Currency8 bytes-922.337.203.685.477,5808 sampai 922.337.203.685.477,5807
Decimal12 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 merupakan tipe data yang hanya membutuhkan 1 byte kapasitas memori. Variabel dengan tipe data VBA-nya Byte dapat digunakan untuk menyimpan angka antara 0 dan 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 yang rendah, tipe data Integer di VBA bisa anda jadikan pilihan yang paling efisien dan lebih baik untuk tujuan menyimpan bilangan bulat yang termasuk dalam jangkauannya.

Tipe Data Long

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

Dengan menggunakan tipe data Long VBA, Anda bisa menyimpan angka antara -2.147.483.648 dan 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 yang menentukan bagaimana komputer menangani nomor tersebut.

Anda dapat menggunakan tipe data Single untuk menyimpan nomor dalam rentang berikut:

  • Nilai negatif: -3,402823E38 sampai -1,401298E-45.
  • Nilai positif: 1,401298E-45 sampai 3,402823E38.

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

Tipe Data Double

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

Lebih tepatnya, Anda bisa menggunakan tipe Double untuk menyimpan nomor floating-point dalam rentang berikut:

  • Bilangan negatif: -1,79769313486231E308 sampai -4,94065645841247E-324.
  • Bilangan positif: 4,94065645841247E-324 sampai 1,79769313486232E308.

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

Tipe Data Currency

Seperti namanya tipe data Currency biasa digunakan untuk menyimpan data yang 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 dan 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 dan negatif. Tipe data ini disimpan sebagai angka dalam format integer yang diskalakan 10.000.

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

Karena fakta bahwa tipe data VBA Mata Uang tepat dan 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 yang diukur dengan kekuatan 10. Faktor penskalaan ini bervariasi tergantung pada berapa digit yang ada di sisi kanan titik desimal. Jumlah maksimum digit yang dapat ditahan oleh variabel Desimal adalah 28.

Berapa nilai yang 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 yang membutuhkan presisi dan tidak dapat menghindari kesalahan pembulatan.

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

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

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

Yang termasuk kedalam tipe data ini adalah tipe data string atau teks, tipe data Date, tipe data Boolean, tipe data Object dan tipe data Variant.

TABEL TIPE DATA NON-NUMERIK
TIPE DATAMEMORYNILAI
String(fixed length)Sesuai panjang string1 sampai 65.400 karakter
String(variable length)Sesuai panjang string + 10 bytes0 to 2 Milyar karakter
Date8 bytes1 January 100 sampai 31 Desember 9999
Boolean2 bytesTrue atau False
Object4 bytesUntuk setiap objek yang disematkan
Variant(numeric)16 bytesNilai apapun sebesar Double
Variant(text)Length+22 bytesSama seperti 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 dalam variabel String. Selain huruf, variabel String dapat berisi angka, spasi, tanda baca dan karakter tertentu.

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

  1. String-fixed length

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

  2. String-variable length

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

Tipe Data Date

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

Kapasitas memory yang 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 dan FALSE dilambangkan dengan 0. Namun, dalam VBA, konversi antara Boolean dan tipe data VBA numerik bekerja sedikit berbeda:

  • Saat mengubah variabel dengan tipe Boolean menjadi tipe data numerik, TRUE menjadi -1 dan FALSE menjadi 0.
  • Saat mengubah tipe data VBA numerik menjadi Boolean, 0 menjadi FALSE dan 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 yang mengacu pada object VBA tertentu. Tipe data ini membutuhkan 4 byte memori.

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

Tipe Data Variant

Varian merupakan tipe data VBA default. Dengan kata lain, ini adalah jenis data yang 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 yang 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 yang dibutuhkan oleh string.

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

Memilih Tipe Data Yang Tepat

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

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

Beberapa saran lain saat memilih jenis data atau tipe data apa yang tepat adalah sebagai berikut:

  • Gunakan tipe BOOLEAN jika Variable yang anda buat digunakan untuk menyimpan nilai logika benar/salah atau TRUE dan 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 yang 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 dan bisa berupa pecahan (fractions) gunakan Single atau Double karena keduanya memiliki rentang yang sangat luas.
  • Apabila digit angka yang disimpan harus dijaga tepat apa adanya dan 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 adanya) yang bisa mencapai 28 digit agar bisa diisi nilai bertipe Decimal.
  • Gunakan Tipe data Date untuk menyimpan data Tanggal, Waktu, atau Tanggal dan 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 yang perlu anda perhatikan:

  1. Jika nilai data yang akan disimpan melebihi batas datatype yang 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 (.) sebagai tanda desimal
  3. Penulisan date dalam VBA sebaiknya menggunakan format universal YYYY-MM-DDuntuk tanggal dan HH:mm:ss. untuk waktu
  4. VBA akan berusaha mengkonversi datatype yang diinputkan menjadi sesuai dengan yang dideklarasikan
  5. Untuk dapat menggunakan datatype Decimal, maka variabel atau prosedur jenis function harus menggunakan datatype Variant yang diisi dengan menggunakan fungsi CDec seperti yang sduah dijelaskan sebelumnya.

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

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

LANGGANAN GRATIS!

Dapatkan update tutorial excel gratis langsung ke email anda.