Senin, 22 Mei 2017

Algoritma Konversi Angka ke Huruf dalam Pascal

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.

Tidak ada komentar:

Posting Komentar

Lihat Juga

Mengenal Keempat Tipe Kecerdasan Buatan (AI)

Kecerdasan Buatan (AI) telah menjadi topik utama dalam banyak diskusi teknologi dan inovasi saat ini. Namun, bagaimana kita mendefinisikan d...

Halaman