Wellcome to SINBE Crew Blog. Motto SINBE : Selalu Ingin Bersama

Monday, November 30, 2009

Membulatkan Bilangan Desimal Ke Kelipatan Setengah Berikutnya

Ternyata mengenai bulat-membulatkan bilangan semakin sering ditanya. Setelah dua artikel saya sebelumnya yang membahas pembulatan bilangan pecahan ke kelipatan bilangan bulat di atasnya, serta pembulatan suatu bilangan ke dalam angka kelipatan seratus berikutnya, ada juga yang bertanya kepada saya: Bagaimana dengan pembulatan bilangan desimal ke dalam kelipatan setengah berikutnya? Contoh: Angka 0,1 (Nol koma satu) dibulatkan menjadi 0,5 (Nol koma lima), angka 1,6 (Satu koma enam) dibulatkan menjadi 2, angka 1 tetap menjadi 1, dan seterusnya.

'Deskripsi: Membulatkan setiap angka pecahan ke atas setengah
' berikutnya. Contoh: Angka 6,1 (Enam koma satu)
' akan dibulatkan menjadi 6,5.
'Pembuat : Masino Sinaga (admin@masinosinaga.com)
'Tanggal : Kamis, 4 Desember 2008
'Persiapan: 1. Buat satu project standard exe dengan satu form
' 2. Tambahkan satu CommandButton ke atas form
' 3. Copy-kan code ini ke editor form yang bertalian
'--------------------------------------------------------------

Private Sub Command1_Click()
MsgBox BulatkanKeAtasSetengah(1.6) '<-- menghasilkan 2 MsgBox BulatkanKeAtasSetengah(1.5) '<-- menghasilkan 1.5 MsgBox BulatkanKeAtasSetengah(1.1) '<-- menghasilkan 1.5 MsgBox BulatkanKeAtasSetengah(1) '<-- menghasilkan 1 End Sub Private Function BulatkanKeAtasSetengah(ParamAngka As Double) As Double Dim Desimal As Double Dim BulatAngka As Integer BulatAngka = Val(ParamAngka) Desimal = ParamAngka - BulatAngka If Desimal = 0.5 Then BulatkanKeAtasSetengah = ParamAngka Else If Desimal < 0.5 And Desimal > 0 Then
BulatkanKeAtasSetengah = BulatAngka + 0.5
ElseIf Desimal > 0.5 Then
BulatkanKeAtasSetengah = (ParamAngka - (Desimal - 0.5)) + 0.5
Else
BulatkanKeAtasSetengah = ParamAngka
End If
End If
End Function

No comments:

Post a Comment

 

SINBE Crew Facebook