posted by aryo tejo w on November 20, 2018

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                                                            

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

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?    

Leave a Comment

Fields with * are required.

Please enter the letters as they are shown in the image above.
Letters are not case-sensitive.