Ada seorang teman namanya Joko yang memintaku untuk membuat kode konversi bilangan decimal ke biner oktal dan heksa.
Ini adalah hasilnya, semoga bermanfaat. Dibuat dengan VFP
Konversi Decimal ke Biner
cNil = VAL(Thisform.text1.Value) &&(isikan variable nilai desimal disini)
cHasil = ''
DO WHILE NOT cNil <= 0
cBiner = MOD(cNil,2)
cHasil = cHasil + ALLTRIM(STR(cBiner))
cNil = INT(cNil / 2)
ENDDO
&& disini hasil perhitungan disusun balik biar sesuai dengan kaidah biner
n = LEN(ALLTRIM(cHasil))
cBalik = ''
DO WHILE NOT n <= 0
cBalik = cBalik + SUBSTR(cHasil,n,1)
n = n - 1
ENDDO
Konversi Decimal ke Oktal
cNil = VAL(Thisform.text1.Value) && Masukkan nilai desimal di variable ini
cHasil = ''
DO WHILE NOT cNil <= 0
cBiner = MOD(cNil,8)
cHasil = cHasil + ALLTRIM(STR(cBiner))
cNil = INT(cNil / 8)
ENDDO
n = LEN(ALLTRIM(cHasil))
cBalik = ''
DO WHILE NOT n <= 0
cBalik = cBalik + SUBSTR(cHasil,n,1)
n = n - 1
ENDDO
Konversi desimal ke Heksa desimal
cNil = VAL(Thisform.text1.Value)
cHasil = ''
DO WHILE NOT cNil <= 0
cBiner = MOD(cNil,16)
DO CASE
CASE cBiner = 10
cBiner = 'A'
CASE cBiner = 11
cBiner = 'B'
CASE cBiner = 12
cBiner = 'C'
CASE cBiner = 13
cBiner = 'D'
CASE cBiner = 14
cBiner = 'E'
CASE cBiner = 15
cBiner = 'F'
OTHERWISE
cBiner = ALLTRIM(STR(cBiner))
ENDCASE
cHasil = cHasil + cBiner
cNil = INT(cNil / 16)
ENDDO
n = LEN(ALLTRIM(cHasil))
cBalik = ''
DO WHILE NOT n <= 0
cBalik = cBalik + SUBSTR(cHasil,n,1)
n = n - 1
ENDDO
Hasil disimpan dalam variable cBalik
Semoga bermanfaat.
No comments:
Post a Comment