Mengubah Data Menjadi Bilangan Bulat dengan CInt di VBA Excel

Dalam proses pengolahan data menggunakan VBA Excel, tidak semua nilai yang diterima langsung memiliki tipe data yang sesuai. Misalnya, pengguna memasukkan angka melalui InputBox, data diambil dari worksheet dalam bentuk desimal, atau hasil perhitungan menghasilkan angka pecahan. Padahal, pada kondisi tertentu Anda hanya memerlukan bilangan bulat (Integer) agar proses selanjutnya berjalan lebih sederhana dan efisien.

Untuk mengatasi kebutuhan tersebut, VBA menyediakan fungsi CInt (Convert to Integer). Fungsi ini digunakan untuk mengubah berbagai jenis data numerik menjadi bilangan bulat dengan mengikuti aturan pembulatan yang berlaku di VBA.


Apa Itu Fungsi CInt?

CInt adalah fungsi konversi yang digunakan untuk mengubah suatu nilai menjadi tipe data Integer.

Sintaksnya sangat sederhana.

CInt(Expression)

Parameter

ParameterKeterangan
Expression Nilai atau ekspresi yang akan dikonversi menjadi Integer.

Parameter dapat berupa angka, hasil perhitungan, isi sel worksheet, maupun nilai dari InputBox atau TextBox.


Cara Kerja Fungsi CInt

Berbeda dengan fungsi Int atau Fix yang hanya memotong bagian desimal, CInt akan membulatkan angka ke bilangan bulat terdekat.

Contoh sederhana:

Sub ContohCInt()

    MsgBox CInt(12.3)

End Sub

Hasil:

12

Sedangkan:

MsgBox CInt(12.8)

Hasil:

13

Karena nilai 12,8 lebih dekat ke 13, VBA akan membulatkannya ke atas.


Aturan Pembulatan pada CInt

Fungsi CInt menggunakan aturan pembulatan bawaan VBA.

NilaiHasil CInt
10.2 10
10.5 10
11.5 12
12.7 13
-5.2 -5
-5.8 -6

Hal yang sering mengejutkan pemula adalah nilai 0,5 tidak selalu dibulatkan ke atas. VBA menerapkan metode Banker's Rounding, yaitu membulatkan angka .5 ke bilangan genap terdekat.

Sebagai contoh:

MsgBox CInt(10.5)

Hasilnya adalah:

10

Sedangkan:

MsgBox CInt(11.5)

Menghasilkan:

12

Memahami aturan ini penting agar hasil perhitungan sesuai dengan ekspektasi.


Mengonversi Input dari InputBox

Salah satu penggunaan CInt yang paling umum adalah mengubah data dari InputBox menjadi Integer.

Dim Umur As Integer

Umur = CInt(InputBox("Masukkan umur"))

MsgBox Umur

Dengan cara ini, nilai yang dimasukkan pengguna dapat langsung digunakan untuk proses perhitungan atau validasi.


Mengonversi Nilai dari Worksheet

Fungsi CInt juga sering digunakan saat membaca data dari worksheet.

Dim Jumlah As Integer

Jumlah = CInt(Range("A2").Value)

MsgBox Jumlah

Jika isi sel A2 berupa 25,9, maka hasil yang diperoleh adalah 26.


Studi Kasus 1: Menghitung Jumlah Produk

Misalkan hasil pembagian menghasilkan angka desimal, tetapi jumlah produk harus berupa bilangan bulat.

Dim Produk As Integer

Produk = CInt(125.6)

MsgBox Produk

Hasil:

126

Studi Kasus 2: Membulatkan Nilai Rata-Rata

Perhatikan contoh berikut.

Dim Rata As Double

Rata = 84.7

MsgBox CInt(Rata)

Hasil:

85

Pendekatan ini sering digunakan dalam aplikasi penilaian untuk memperoleh nilai akhir dalam bentuk bilangan bulat.


Studi Kasus 3: Mengolah Data UserForm

Misalkan pengguna memasukkan jumlah barang melalui TextBox.

Dim Jumlah As Integer

Jumlah = CInt(txtJumlah.Text)

MsgBox Jumlah

Dengan melakukan konversi terlebih dahulu, nilai tersebut dapat langsung digunakan untuk proses perhitungan berikutnya.


Perbedaan CInt dan Int

Sekilas kedua fungsi ini tampak serupa, tetapi hasilnya berbeda.

NilaiCIntInt
12.8 13 12
12.2 12 12
-4.3 -4 -5

CInt melakukan pembulatan, sedangkan Int selalu membulatkan ke bawah menuju bilangan bulat yang lebih kecil.

Karena itu, pilih fungsi yang sesuai dengan kebutuhan perhitungan Anda.


💡 Tips Praktis

Gunakan CInt ketika Anda membutuhkan hasil berupa bilangan bulat hasil pembulatan. Jika tujuan Anda hanya menghilangkan angka di belakang koma tanpa pembulatan, gunakan Int atau Fix sebagai alternatif.


Kesalahan yang Sering Terjadi

Mengonversi Data yang Bukan Angka

Contoh berikut akan menghasilkan kesalahan.

MsgBox CInt("VBA")

Pastikan data yang akan dikonversi benar-benar berupa angka.

Jika diperlukan, lakukan validasi menggunakan IsNumeric() sebelum memanggil CInt.


Nilai Melebihi Kapasitas Integer

Tipe data Integer hanya dapat menyimpan nilai antara -32.768 hingga 32.767.

Jika nilai lebih besar dari rentang tersebut, gunakan CLng agar tidak terjadi Overflow Error.


Menganggap CInt Sama dengan Round

Walaupun sama-sama menghasilkan bilangan bulat, CInt merupakan fungsi konversi tipe data, sedangkan Round digunakan untuk membulatkan angka hingga jumlah digit tertentu. Selain itu, aturan pembulatannya juga dapat menghasilkan perilaku yang berbeda pada beberapa kondisi.


Kapan Menggunakan CInt?

Fungsi CInt sangat berguna ketika Anda ingin:

  • mengubah hasil InputBox menjadi Integer,

  • mengonversi data dari worksheet,

  • membulatkan hasil perhitungan,

  • memproses jumlah barang atau kuantitas,

  • mengubah nilai dari TextBox pada UserForm,

  • memastikan suatu variabel bertipe Integer.

Karena fleksibilitasnya, CInt menjadi salah satu fungsi konversi yang paling sering digunakan dalam pengembangan aplikasi VBA Excel.


Kesimpulan

CInt merupakan fungsi konversi yang digunakan untuk mengubah berbagai jenis data numerik menjadi bilangan bulat (Integer). Berbeda dengan fungsi Int, CInt melakukan pembulatan ke bilangan bulat terdekat sehingga lebih sesuai digunakan ketika nilai desimal perlu dibulatkan sebelum diproses lebih lanjut.

Melalui artikel ini, Anda telah mempelajari sintaks fungsi CInt, cara kerjanya, perbedaan dengan Int, serta berbagai contoh penerapan pada InputBox, UserForm, worksheet, dan studi kasus pengolahan data. Dengan memahami fungsi ini, Anda dapat mengelola data numerik secara lebih akurat sekaligus mengurangi risiko kesalahan akibat perbedaan tipe data.

Hubungi Kami

Kantor Berkreasi
Alamat :
Pens Sky Venture - Sukolilo Surabaya
Karangrejo Tmur 17 Surabaya

Email : kantor.berkreasi@gmail.com
WA : wa.me/6287761589881  
(Support  Mbak Ana)

Tim Pengembang

Dr. Rojabi Azharghany, M.Si, S.Sos
Dr. H. Agus Sulthoni Imami, S.Psi. M.Pd.I.
Ali Ishaq, M.Pd.
Didik Rahwiniyanto, S.Si., M.Pd.
Mujiburrohman, M.Pd.
Mohammad Zikky, S.ST, M.T
Amien sawedi, S.Pd.
Didik P Wicaksono, M.Pd.