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

Postingan populer dari blog ini

Monitoring Progress Proses dalam Digital Printing Advertising – Multi User (Sistem Titip)

Surat Perintah Kerja dalam Usaha Digital Printing

Manajemen Informasi Bengkel 02 – Otomatisasi penggajian komisi penjualan