program konversi_angka_ke_huruf;
uses crt;
var x, bantu, bantu1, bantu2, bantu3, bantu4:integer;
procedure angka (x: integer);
begin
case x of
0:write(\'nol\');
1:write(\'satu\');
2:write(\'dua\');
3:write(\'tiga\');
4:write(\'empat\');
5:write(\'lima\');
6:write(\'enam\');
7:write(\'tujuh\');
8:write(\'delapan\');
9:write(\'sembilan\');
10:write(\'sepuluh\');
11:write(\'sebelas\');
100:write(\'seratus\');
else writeln(\'angka salah\');
end;
end;
begin
clrscr;
writeln(\'Angka untuk dibaca\');readln(x);
if x <= 11 then
begin
angka(x);
end;
if (x>11) and (x<20) then
begin
bantu := x mod 10;
angka(bantu);
write(\' belas\');
end
else
if (x>=20) and (x<100) then
begin
if x mod 10 = 0 then
begin
bantu := x div 10;
angka(bantu);write(\' puluh\')
end
else
begin
bantu := x div 10;
bantu1 := x mod 10;
angka(bantu);write(\' puluh \');angka(bantu1);
end;
end
else
if (x>=100) and (x<112) then
begin
if x mod 100 = 0 then
angka(x)
else
begin
bantu := x mod 100;
write(\'seratus \');angka(bantu)
end;
end
else
if (x>=112) and (x<120) then
begin
bantu := x mod 100;
bantu1 := x mod 10;
write(\'seratus \');angka(bantu1);write(\' belas\');
end
else
if (x>=120) and (x<200) then
begin
bantu := x mod 100;
bantu1 := bantu div 10;
bantu2 := bantu mod 10;
if x mod 10 = 0 then
begin
write(\'seratus \');angka(bantu1);write(\' puluh \');
end
else
begin
write(\'seratus \');angka(bantu1);write(\' puluh \');angka(bantu2);
end;
end
else
if (x>=200) and (x<1000) then
begin
if x mod 100 = 0 then
begin
bantu := x div 100;
angka (bantu);write(\'ratus\');
end
else
if x mod 10 = 0 then
begin
bantu := x div 100;
bantu1 := x mod 100;
bantu2 := bantu1 div 10;
if bantu1 = 10 then
begin
angka(bantu);write(\' ratus \');angka(bantu1);
end
else
begin
angka(bantu);write(\' ratus \');angka(bantu2);write(\' puluh\')
end
end
else
begin
bantu := x div 100; //ratusan
bantu1 := x mod 100;
bantu2 := bantu1 div 10; //puluhan
bantu3 := bantu1 mod 10; //satuan
if bantu1 < 12 then
begin
angka(bantu);write(\' ratus \');angka(bantu1);
end
else
if (bantu1 >= 12) and (bantu1 < 20) then
begin
angka(bantu);write(\' ratus \');angka(bantu3);write(\' belas\');
end
else
begin
angka(bantu);write(\' ratus \');angka(bantu2);write(\' puluh \');angka(bantu3);
end;
end;
end;
readln;
end.