Pembulatan nilai transaksi Lima ratusan dalam digital printing, retail dan lainnya
Mata uang rupiah yang
terkecil saat ini, tahun 2018, adalah rp 50 ( lima puluh rupiah ). Uang senilai
itu, umumnya, untuk anak SD pun sudah tidak mau lagi menerima. Dengan uang ini,
tidak ada pilihan yang didapatkan, bahlan
untuk permen satu buah.
Dalam transaksi keuangan
secara langsung, uang senilai 500 akan menjadi patokan untuk menghilangkan atau
membulatkan nilai “pecahan ratusan” transaksi tersebut. Misalnya, jumlah total
belanjaan adalah 135.250. oleh karena
nilai 250 rupiah susah diperoleh dan atau orang yang menerima juga akan
mengikhlaskan jika tidak diberikan. Sehingga secara nyata akan membulatkan ke
bawah menjadi 135.000.
Jika ada aturan bahwa
nilai uang pecahan ratusan yang lebih dari 550, maka akan dibulatkan ke ribuan;
pecahan ratusan antara 501 s.d 549 akan dibukatkan menjadi 500 dan pecahan
ratusan kurang dari 500 akan dibulatkan ke bawah (dihilangkan).
Secara algoritma di atas,
apabila diterjemahkan menjadi barisan kode , seperti berikut:
Dim vRatusan As Single,
vRibuan As Single, vRibuanUp As Single
Dim vTotalBaru As Single
Function
TotalBulatNew(pTotal)
Dim vBilangan As Single,
vHasilBulat As Single, vHasilPecahan As Single
Dim VHasilBulatan As
Single
'jika ratusan 551 - up,
bulatkan ke ribuan
'jika ratusan 501 - 549
ke 500
'jika ratusan dibawah 500, buang 500 nya
vBilangan = pTotal
vRatusan =
Val(Right(vBilangan, 3))
vRibuan = Left(pTotal,
(Len(pTotal) - 3)) ‘
If vRatusan >= 550
Then
vRatusan = 0 ' Int(vRatusan / 100) * 100
vRibuanUp = (vRibuan *
1000) + 1000
ElseIf (vRatusan >=
501) And (vRatusan <= 549) Then
vRatusan = Int(vRatusan /
100) * 100 '
Round(vRatusan, 2)
vRibuanUp = (vRibuan *
1000) '+ 1000
ElseIf vRatusan <= 500
Then
vRatusan = 0
vRibuanUp = (vRibuan *
1000)
End If
vTotalBaru = vRibuanUp +
vRatusan
End Function
Call TotalBulatNew(TxtHasil.Text)
TxtHasil.Text= vTotalBaru
Penjelasan code di atas:
Fungsi TotalBulatNew,
mempunyai 1 parameter masukan pTotal, yaitu suatu hasil yang ditampung di dalam
objek TxtHasil.Text
vBilangan mempunyai
variabel deklarasi single (angka), yang menampung parameter pTotal
vRatusan, suatu variabel
yang menKonversi string menjadi angka (Val) yaitu 3 string dihitung dari kanan vBilangan
vRibuan, suatu variabel
single, yang diperoleh dengan mengambil nilai angka dari kiri, sebanyak jumlah seluruh
string dikurangi 3 ( 3 adalah pecahan ratusan)
If vRatusan >= 550
Then
vRatusan = 0 '
vRibuanUp = (vRibuan *
1000) + 1000
ElseIf (vRatusan >=
501) And (vRatusan <= 549) Then
vRatusan = Int(vRatusan /
100) * 100 '
vRibuanUp = (vRibuan *
1000) '+ 1000
ElseIf vRatusan <= 500
Then
vRatusan = 0
vRibuanUp = (vRibuan *
1000)
End If
vTotalBaru = vRibuanUp +
vRatusan
misal ada angka 235668
vBilangan = 235668
vRibuan = 235
vRatusan = 668 ; masuk ke kondisi lebih besr dari
550..... If vRatusan >= 550 Then
vRatusan = 0 '
vRibuanUp = (vRibuan * 1000) + 1000
= (235 x 1000) +1000
= 236000
vTotalBaru = vRibuanUp + vRatusan
= 236000 + 0
Paham kah?
Komentar