program konversiangkahuruf;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
angka:integer;
huruf: string;
procedure satuan (angka: integer; var huruf: string);
begin
case angka of
0: huruf:= (' ');
1:huruf:= ('satu');
2:huruf:=('dua');
3:huruf:=('tiga');
4:huruf:= ('empat');
5:huruf:= ('lima');
6:huruf:='enam';
7:huruf:='tujuh';
8:huruf:='delapan';
9:huruf:='sembilan';
end;
end;
procedure belasan (angka: integer; var huruf: string);
begin
if angka=10 then huruf:= 'sepuluh'
else
if angka =11 then huruf:= 'sebelas'
else
begin
satuan (angka mod 10, huruf);
huruf:= huruf + ' belas';
end;
end;
procedure puluhan (angka:integer; var huruf: string);
var
a:string;
begin
if angka <10 then
satuan (angka, huruf)
else
if angka < 20 then
belasan (angka, huruf)
else
begin
satuan (angka div 10, huruf);
huruf:= huruf + ' puluh ' ;
a:= huruf;
satuan (angka mod 10, huruf);
huruf:= a + huruf;
end;
end;
procedure ratusan (angka: integer; var huruf: string);
var
a:string;
begin
if angka < 100 then
puluhan (angka, huruf)
else
if angka=100 then huruf:= 'seratus'
else
if angka div 100 = 1 then
begin
puluhan (angka mod 100, huruf);
huruf:= ' seratus ' +huruf;
end
else
if angka mod 100 = 0 then
begin
satuan (angka div 100, huruf);
huruf:= huruf + ' ratus '
end
else
begin
satuan (angka div 100, huruf);
huruf:= huruf + ' ratus ';
a:= huruf;
puluhan (angka mod 100, huruf);
huruf:=a + huruf;
end;
end;
procedure ribuan (angka: integer; var huruf: string);
var
a:string;
begin
if angka=1000 then huruf:= 'seribu'
else
if angka div 1000 = 1 then
begin
ratusan (angka mod 1000, huruf);
huruf:= ' seribu ' +huruf;
end
else
if angka mod 1000 =0 then
begin
satuan (angka div 1000, huruf);
huruf:= huruf + ' ribu ';
end
else
begin
satuan (angka div 1000, huruf);
huruf:= huruf + ' ribu ';
a:= huruf;
ratusan (angka mod 1000, huruf);
huruf:=a + huruf;
end;
end;
procedure konversi (angka: integer; var huruf: string);
begin
if (angka>= 0) and (angka < 10) then satuan (angka, huruf);
if (angka>=10) and (angka < 20) then belasan (angka, huruf);
if (angka>=20) and(angka < 100) then puluhan (angka, huruf);
if (angka>=100)and (angka < 1000) then ratusan (angka, huruf);
if (angka>=1000) and (angka < 10000) then ribuan (angka, huruf);
end;
begin
{ TODO -oUser -cConsole Main : Insert code here }
write ('masukkan angka :'); readln (angka);
konversi (angka, huruf);
writeln (huruf);
readln;
end.
{$APPTYPE CONSOLE}
uses
SysUtils;
var
angka:integer;
huruf: string;
procedure satuan (angka: integer; var huruf: string);
begin
case angka of
0: huruf:= (' ');
1:huruf:= ('satu');
2:huruf:=('dua');
3:huruf:=('tiga');
4:huruf:= ('empat');
5:huruf:= ('lima');
6:huruf:='enam';
7:huruf:='tujuh';
8:huruf:='delapan';
9:huruf:='sembilan';
end;
end;
procedure belasan (angka: integer; var huruf: string);
begin
if angka=10 then huruf:= 'sepuluh'
else
if angka =11 then huruf:= 'sebelas'
else
begin
satuan (angka mod 10, huruf);
huruf:= huruf + ' belas';
end;
end;
procedure puluhan (angka:integer; var huruf: string);
var
a:string;
begin
if angka <10 then
satuan (angka, huruf)
else
if angka < 20 then
belasan (angka, huruf)
else
begin
satuan (angka div 10, huruf);
huruf:= huruf + ' puluh ' ;
a:= huruf;
satuan (angka mod 10, huruf);
huruf:= a + huruf;
end;
end;
procedure ratusan (angka: integer; var huruf: string);
var
a:string;
begin
if angka < 100 then
puluhan (angka, huruf)
else
if angka=100 then huruf:= 'seratus'
else
if angka div 100 = 1 then
begin
puluhan (angka mod 100, huruf);
huruf:= ' seratus ' +huruf;
end
else
if angka mod 100 = 0 then
begin
satuan (angka div 100, huruf);
huruf:= huruf + ' ratus '
end
else
begin
satuan (angka div 100, huruf);
huruf:= huruf + ' ratus ';
a:= huruf;
puluhan (angka mod 100, huruf);
huruf:=a + huruf;
end;
end;
procedure ribuan (angka: integer; var huruf: string);
var
a:string;
begin
if angka=1000 then huruf:= 'seribu'
else
if angka div 1000 = 1 then
begin
ratusan (angka mod 1000, huruf);
huruf:= ' seribu ' +huruf;
end
else
if angka mod 1000 =0 then
begin
satuan (angka div 1000, huruf);
huruf:= huruf + ' ribu ';
end
else
begin
satuan (angka div 1000, huruf);
huruf:= huruf + ' ribu ';
a:= huruf;
ratusan (angka mod 1000, huruf);
huruf:=a + huruf;
end;
end;
procedure konversi (angka: integer; var huruf: string);
begin
if (angka>= 0) and (angka < 10) then satuan (angka, huruf);
if (angka>=10) and (angka < 20) then belasan (angka, huruf);
if (angka>=20) and(angka < 100) then puluhan (angka, huruf);
if (angka>=100)and (angka < 1000) then ratusan (angka, huruf);
if (angka>=1000) and (angka < 10000) then ribuan (angka, huruf);
end;
begin
{ TODO -oUser -cConsole Main : Insert code here }
write ('masukkan angka :'); readln (angka);
konversi (angka, huruf);
writeln (huruf);
readln;
end.
Tidak ada komentar:
Posting Komentar