Anda di halaman 1dari 2

Program pemanggilnya

do terbilang with 200 or


=terbilang(200)
*--------------*
proc TERBILANG
*--------------*
para VTOTAL
publ HS
DSATUAN=' Satu
Dua
Tiga
Empat
Lima
Enam
Tujuh
Delapan Sembilan'
stor 0 to SW,SW1,SW2,SW3
ANG = alltrim(str(VTOTAL,15))
JLK = len(ANG)
POSISI = JLK
URUT = 1
stor '' to HS,BILA,rb,JT,ML,TL
do whil URUT <= JLK
BIL = subs(ANG,POSISI,1)
do case
case URUT=1
if JLK > 1
BILA = iif(BIL='0'.and.JLK=1,'Nol',iif(subs(ANG,POSISI-1,1)='1','',;
iif(BIL='0','',subs(DSATUAN,val(BIL)*9-8,9))))
else
BILA = iif(BIL='0','Nol',subs(DSATUAN,val(BIL)*9-8,9))
endi
case URUT=2 .or. URUT=5 .or. URUT=8 .or. URUT = 11 .or. URUT = 14
do case
case BIL = '1'
BILA=iif(subs(ANG,POSISI+1,1)='0','Sepuluh',iif(subs(ANG,POSISI+1,1)='1
','Sebelas',;
alltrim(subs(DSATUAN,val(subs(ANG,POSISI+1,1))*9-8,9))+' belas'))
case BIL='0'
BILA=''
case BIL#'0' .and. URUT > 2
BILA=alltrim(subs(DSATUAN,val(BIL)*9-8,9)) +' Puluh
'+alltrim(subs(DSATUAN,val(subs(ANG,POSISI+1,1))*9-8,9))
othe
BILA=alltrim(subs(DSATUAN,val(BIL)*9-8,9)) +' Puluh'
endc
case URUT=3 .or. URUT=6 .or. URUT=9 .or. URUT = 12 .or. URUT=15
BILA =
iif(BIL='1','Seratus',iif(BIL='0','',alltrim(subs(DSATUAN,val(BIL)*9-8,9)) +'
Ratus'))
if URUT > 3 .and. subs(ANG,POSISI+1,1) = '0'
if val(subs(ANG,POSISI+2,1)) <> 0
BILA = BILA+alltrim(subs(DSATUAN,val(subs(ANG,POSISI+2,1))*9-8,9))
endi
endi
case URUT = 4
BILA=iif(JLK=4.and.BIL='1','Seribu',iif(JLK=4.and.BIL#'0',alltrim(subs(DSA
TUAN,val(BIL)*9-8,9))+' Ribu',''))
case URUT = 7
BILA=iif(JLK=7.and.BIL#'0',alltrim(subs(DSATUAN,val(BIL)*9-8,9))+'
Juta','')
case URUT =10
BILA=iif(JLK=10,alltrim(subs(DSATUAN,val(BIL)*9-8,9))+' Milyard','')
case URUT =13
BILA=iif(JLK=13,alltrim(subs(DSATUAN,val(BIL)*9-8,9))+' Trilyund','')
endc

do case
case URUT=6 .or. URUT = 5 .or. URUT=4
if (URUT=6.and.BIL#'0').or.(URUT=5
.and.BIL#'0').or.
(URUT=4.and.BIL#'0'.and.empt(BILA))
rb = ' Ribu'
endi
case URUT=7 .or. URUT=8 .or. URUT=9
if (URUT=7.and.BIL#'0'.and.empt(BILA)).or.(URUT=8.and.BIL#'0').or.
(URUT=9.and.BIL#'0')
JT = ' Juta'
endi
case URUT=10.or. URUT=11.or. URUT=12
if (URUT=10.and.BIL#'0'.and.empt(BILA)).or.(URUT=11.and.BIL#'0').or.
(URUT=12.and.BIL#'0')
ML = ' Milyard'
endi
case URUT=13.or. URUT=14.or. URUT=15
if (URUT=13.and.BIL#'0'.and.empt(BILA)).or.(URUT=14.and.BIL#'0').or.
(URUT=15.and.BIL#'0')
TL = ' Trilyund'
endi
endc
do case
case .not. empt(rb) .and. SW=0
HS = BILA + rb + ' ' + HS
SW = 1
case .not. empt(JT) .and. SW1=0
HS = BILA + JT + ' ' + HS
SW1 = 1
case !empt(ML) .and. SW2=0
HS = BILA + ML + ' ' + HS
SW2 = 1
case !empt(TL) .and. SW3 = 0
HS = BILA + TL + ' ' + HS
SW3 = 1
othe
HS = BILA + ' ' + HS
endc
HS = alltrim(HS)
POSISI = POSISI - 1
URUT = URUT + 1
enddo
HS = HS + ' Rupiah.'
return(hs)
*---------- end of procedure ----------*

Anda mungkin juga menyukai