Fungsi Terbilang - Delphi
Kali ini saya akan bagikan source code bagaimana cara membuat fungsi terbilang pada pemrograman delphi, sebelumnya fungsi terbilang ini sering dipakai ketika membuat report (laporan) atau nota pada program kasir dimana fungsinya untuk menjelaskan secara tulisan nominal angka yang di keluarkan atau di inputkan.
contoh sederhanya seperti ini :
Nilai Total Belanja = Rp. 52.000,00
Nilai Terbilang = Lima Puluh Dua Ribu Rupiah
sebenarnya fungsi ini sudah lama dipakai para programmer, dan fungsi yang saya cantumkan ini juga hasil dari googling 5/6 tahun lalu saat sering mengerjakan projek aplikasi kasir.
okey langsung saja kita praktekan :
hal pertama yang harus dilakukan adalah mendesain form sederhana seperti ini :
pada gambar diatas kita menggunakan komponen standard pada delphi 7
2 komponen Label
1 komponen Edit
1 komponen Button
atur properties caption masing-masing komponen
setelah itu, buatlah sebuah fungsi seperti dibawah ini :
implementation
function
terbilang(dNumber:
Extended
):
string
;
const
aNum:
array
[
1..9
]
of
String
= (
'satu'
,
'dua'
,
'tiga'
,
'empat'
,
'lima'
,
'enam'
,
'tujuh'
,
'delapan'
,
'sembilan'
);
aUnit:
array
[
1..5
]
of
String
= (
'trilyun'
,
'milyar'
,
'juta'
,
'ribu'
,
''
);
var
iCount, iDigit1, iDigit2, iDigit3:
Integer
;
sNum2Str, s3Digit, sWord:
string
;
begin
Result :=
''
;
if
(dNumber=
0
)
then
Exit;
sNum2Str:=Copy(Format(
'%18.2f'
, [dNumber]),
1
,
15
);
for
ICount:=
1
to
5
do
begin
s3Digit:=Copy(sNum2Str, iCount*
3
-
2
,
3
);
if
(StrToIntDef(s3Digit,
0
)<>
0
)
then
begin
sWord:=
''
;
iDigit1:=StrToIntDef(Copy(s3Digit,
1
,
1
),
0
);
iDigit2:=StrToIntDef(Copy(s3Digit,
2
,
1
),
0
);
iDigit3:=StrToIntDef(Copy(s3Digit,
3
,
1
),
0
);
case
iDigit1
of
2..9
: sWord:=sWord+aNum[iDigit1]+
' ratus '
;
1
: sWord:=sWord+
'seratus '
;
end
;
{ case }
case
iDigit2
of
2..9
: sWord:=sWord+aNum[iDigit2]+
' puluh '
;
1
:
case
iDigit3
of
2..9
: sWord:=sWord+aNum[iDigit3]+
' belas '
;
1
: sWord:=sWord+
'sebelas '
;
0
: sWord:=sWord+
'sepuluh '
;
end
;
{ case }
end
;
{ case }
if
(iDigit2<>
1
)
then
case
iDigit3
of
2..9
: sWord:=sWord + aNum[iDigit3] +
' '
;
1
:
if
(iCount=
4
)
and
((iDigit1+iDigit2)=
0
)
then
sWord:=sWord+
'se'
else
sWord:=sWord+
'satu '
;
end
;
Result:=Result+sWord+aUnit[iCount]+
' '
;
end
;
end
;
while
Result[Length(Result)]=
' '
do
SetLength(Result, Length(Result)-
1
);
end
;
letakkan fungsi tersebut dibawah implementation
berikutnya pada tombol terbilang sisipkan kode seperti ini (double klik button terbilang) :
label1
.caption
:=terbilang(StrToFloatDef(edit1
.
Text,
0
));
penjelasanya :
label1 = terbilang
edit1 = kolom inputan nominal
jadi hasilnya ketika program dijalankan akan tampak seperti ini :
nah...ngerti kan maksud saya ?
ketika tombol terbilang di tekan label1 akan berubah properties caption nya dan menuliskan berapa terbilangnya nominal yang diinputkan pada komponen edit.
simple dan bermanfaat bukan....?
silahkan teman-teman sekalian coba dan terapkan pada aplikasi yang teman-teman kerjakan, semoga tutorial kali ini bermanfaat.
Sala
aku coba ya mas,, terimakasih atas sharing nya
BalasHapusTerimakasih sudah berkunjung
HapusBagus tutorialnya kak, reques tutorial koneksi database mysql dengan delphi 7 nya ya kak
BalasHapusApa bisa script diatas di implementasikan pada bahasa pemrograman VB(visual basic)
BalasHapus