Membulatkan Angka di VBA Excel dengan Round, Int, dan Fix

Pembulatan angka merupakan salah satu proses yang paling sering dilakukan dalam pengembangan aplikasi VBA Excel. Mulai dari menghitung total transaksi, menentukan nilai akhir siswa, hingga membuat laporan keuangan, hampir semuanya membutuhkan angka yang lebih ringkas dan mudah dibaca.

Namun, banyak pengguna menganggap bahwa semua fungsi pembulatan bekerja dengan cara yang sama. Padahal, VBA Excel menyediakan beberapa fungsi dengan perilaku yang berbeda, yaitu Round, Int, dan Fix. Memilih fungsi yang kurang tepat dapat menghasilkan nilai yang berbeda dari yang diharapkan, terutama ketika bekerja dengan angka negatif.

Pada artikel ini, kita akan mempelajari perbedaan ketiga fungsi tersebut, kapan masing-masing fungsi digunakan, serta contoh penerapannya dalam berbagai studi kasus.


Mengapa Memahami Fungsi Pembulatan Itu Penting?

Misalkan kita memiliki nilai berikut.

125.875

Dalam satu aplikasi, angka tersebut mungkin harus ditampilkan menjadi:

125.88

Namun pada aplikasi lain, hasil yang diinginkan justru:

125

Atau bahkan:

126

Semuanya benar, tergantung pada kebutuhan perhitungan. Inilah alasan mengapa memahami cara kerja fungsi pembulatan menjadi hal yang penting.


Sekilas Perbedaan Round, Int, dan Fix

Sebelum membahas lebih jauh, berikut gambaran singkat mengenai ketiga fungsi tersebut.

FungsiTujuan UtamaHasil
Round Membulatkan angka ke jumlah digit tertentu Mengikuti aturan pembulatan
Int Membulatkan ke bawah menuju bilangan bulat terdekat Selalu lebih kecil atau sama
Fix Menghilangkan bagian desimal Mendekati nol

Meskipun terlihat mirip, hasilnya bisa sangat berbeda pada kondisi tertentu.


Round: Membulatkan Sesuai Jumlah Digit

Fungsi Round digunakan ketika Anda ingin membulatkan angka berdasarkan jumlah angka di belakang koma.

Sintaks:

Round(Expression, NumDigits)

Contoh:

Sub ContohRound()

    MsgBox Round(125.8764, 2)

End Sub

Hasil:

125.88

Parameter kedua menentukan berapa digit desimal yang akan dipertahankan.

Kapan Menggunakan Round?

Fungsi ini cocok digunakan untuk:

  • laporan keuangan,

  • nilai rata-rata,

  • perhitungan diskon,

  • persentase,

  • hasil perhitungan ilmiah.


Int: Selalu Membulatkan ke Bawah

Fungsi Int akan mengembalikan bilangan bulat yang nilainya lebih kecil atau sama dengan angka asli.

Sintaks:

Int(Expression)

Contoh:

MsgBox Int(15.9)

Hasil:

15

Untuk bilangan negatif, hasilnya sering mengejutkan.

MsgBox Int(-15.2)

Hasil:

-16

Mengapa demikian?

Karena Int selalu bergerak ke bawah pada garis bilangan, bukan sekadar menghapus angka di belakang koma.


Fix: Menghapus Bagian Desimal

Sekilas Fix tampak sama dengan Int, tetapi cara kerjanya berbeda.

Sintaks:

Fix(Expression)

Contoh:

MsgBox Fix(15.9)

Hasil:

15

Perbedaannya terlihat ketika menggunakan angka negatif.

MsgBox Fix(-15.2)

Hasil:

-15

Alih-alih menuju angka yang lebih kecil, Fix hanya membuang bagian desimal sehingga hasilnya mendekati nol.


Perbandingan Hasil

Perhatikan tabel berikut.

NilaiRoundIntFix
12.8 13 12 12
12.2 12 12 12
-12.8 -13 -13 -12
-12.2 -12 -13 -12

Dari tabel tersebut terlihat bahwa perbedaan utama muncul ketika bekerja dengan bilangan negatif.


Studi Kasus 1: Menampilkan Total Pembayaran

Sebuah aplikasi kasir menghasilkan total berikut.

87542.678

Untuk menampilkan dua angka desimal:

Total = Round(Total, 2)

Hasil:

87542.68

Pendekatan ini membuat laporan terlihat lebih profesional.


Studi Kasus 2: Menghitung Jumlah Dus

Sebuah gudang memiliki 125,8 kilogram barang.

Satu dus hanya dapat menampung 1 kilogram.

Jika yang dihitung adalah jumlah dus yang telah terisi penuh:

JumlahDus = Int(125.8)

Hasilnya:

125

Fungsi Int tepat digunakan karena hanya menghitung dus yang benar-benar penuh.


Studi Kasus 3: Menghapus Desimal Tanpa Mengubah Nilai Dasar

Misalkan sebuah aplikasi hanya ingin menghilangkan angka di belakang koma.

Nilai = Fix(98.75)

Hasil:

98

Pendekatan ini sering digunakan ketika angka desimal memang tidak diperlukan.


💡 Tips Praktis

Jika tujuan Anda adalah menampilkan angka yang lebih rapi kepada pengguna, gunakan Round. Namun jika tujuan utamanya adalah mengubah nilai menjadi bilangan bulat untuk proses logika atau perhitungan tertentu, pertimbangkan penggunaan Int atau Fix sesuai kebutuhan.


Kesalahan yang Sering Terjadi

Menganggap Int dan Fix Sama

Untuk angka positif, hasil kedua fungsi memang sering sama.

Namun pada angka negatif, hasilnya berbeda.

Int(-8.6)   'Hasil: -9

Fix(-8.6)   'Hasil: -8

Memahami perbedaan ini akan menghindarkan Anda dari kesalahan perhitungan.


Menggunakan Round untuk Menghilangkan Desimal

Sebagian pengguna menggunakan:

Round(15.4, 0)

Padahal jika hanya ingin menghapus bagian desimal tanpa proses pembulatan, Fix lebih sesuai.


Tidak Menguji Bilangan Negatif

Banyak aplikasi hanya diuji menggunakan angka positif.

Padahal, kesalahan pembulatan biasanya baru terlihat ketika data mengandung nilai negatif, seperti koreksi stok, retur penjualan, atau saldo minus.


Kapan Sebaiknya Menggunakan Masing-Masing Fungsi?

Gunakan panduan berikut sebagai acuan.

KebutuhanFungsi yang Disarankan
Membulatkan nilai untuk laporan Round
Menghitung bilangan bulat ke bawah Int
Menghapus desimal tanpa pembulatan Fix
Perhitungan keuangan Round
Menghitung jumlah unit penuh Int
Memotong angka desimal Fix

Dengan memilih fungsi yang tepat, hasil perhitungan akan lebih akurat dan sesuai dengan kebutuhan aplikasi.


Ringkasan

Walaupun sama-sama digunakan untuk mengolah angka, Round, Int, dan Fix memiliki tujuan yang berbeda.

  • Round digunakan untuk membulatkan angka berdasarkan jumlah digit tertentu.

  • Int selalu membulatkan ke bawah menuju bilangan bulat terdekat.

  • Fix hanya menghilangkan bagian desimal sehingga hasilnya mendekati nol.

Memahami perbedaan ketiga fungsi ini akan membantu Anda menghindari kesalahan logika, terutama saat mengembangkan aplikasi yang melibatkan perhitungan keuangan, stok, maupun statistik.

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.