Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. {author : arickanjass
  2. gunadarma university
  3. dont copy without trademark!}
  4.  
  5. program konversi_angka_arickanjass;
  6. uses crt;
  7.  
  8. var
  9.    masuk,angka,tmp,batas : integer;
  10.    b,c : string;
  11.  
  12. procedure convert;
  13.    begin
  14.         if angka = 0 then
  15.            c := 'nol'
  16.         else
  17.         if angka = 1 then
  18.            c := 'satu'
  19.         else
  20.         if angka = 2 then
  21.            c := 'dua'
  22.         else
  23.         if angka = 3 then
  24.            c := 'tiga'
  25.         else
  26.         if angka = 4 then
  27.            c := 'empat'
  28.         else
  29.         if angka = 5 then
  30.            c := 'lima'
  31.         else
  32.         if angka = 6 then
  33.            c := 'enam'
  34.         else
  35.         if angka = 7 then
  36.            c := 'tujuh'
  37.         else
  38.         if angka = 8 then
  39.            c := 'delapan'
  40.         else
  41.         if angka = 9 then
  42.            c := 'sembilan'
  43.    end;
  44.  
  45. {author : arickanjass
  46. gunadarma university
  47. dont copy without trademark!}
  48.  
  49. procedure belasan;
  50.    begin
  51.         case masuk of
  52.              10 : c := 'sepuluh';
  53.              11 : c := 'sebelas';
  54.              12 : c := 'dua belas';
  55.              13 : c := 'tiga belas';
  56.              14 : c := 'empat belas';
  57.              15 : c := 'lima belas';
  58.              16 : c := 'enam belas';
  59.              17 : c := 'tujuh belas';
  60.              18 : c := 'delapan belas';
  61.              19 : c := 'sembilan belas';
  62.         end;
  63.    end;
  64.  
  65. procedure puluhribuan;
  66.    begin
  67.         if masuk > 10000 then
  68.         begin
  69.                 angka := (masuk div 1000);
  70.                 tmp   := masuk;
  71.                 masuk := angka;
  72.                 belasan;
  73.                 b := concat(b,c,' ribu ');
  74.                 masuk := tmp - (angka * 1000);
  75.         end
  76.    end;
  77.  
  78. procedure ribuan;
  79.    begin
  80.         if (masuk div 1000) = 1 then
  81.            begin
  82.                 b:= concat (b, 'seribu ');
  83.                 masuk := masuk - 1000;
  84.            end
  85.         else
  86.             begin
  87.                 angka := (masuk div 1000);
  88.                 convert;
  89.                 b := concat (b,c,' ribu ');
  90.                 masuk := masuk - (angka * 1000);
  91.             end
  92.    end;
  93.  
  94. {author : arickanjass
  95. gunadarma university
  96. dont copy without trademark!}
  97.  
  98. procedure ratusan;
  99.    begin
  100.         if (masuk div 100) = 1 then
  101.            begin
  102.                 b:= concat (b,'seratus ');
  103.                 masuk := masuk - 100;
  104.            end
  105.         else
  106.         begin
  107.              angka := (masuk div 100);
  108.              convert;
  109.              b := concat (b,c,' ratus ');
  110.              masuk := masuk - (angka * 100);
  111.         end
  112.    end;
  113.  
  114. procedure puluhan;
  115.    begin
  116.         if masuk < 20 then
  117.            belasan
  118.         else
  119.             begin
  120.                  angka := (masuk div 10);
  121.                  convert;
  122.                  b := concat (b,c,' puluh ');
  123.                  masuk := masuk - (angka * 10);
  124.             end;
  125.    end;
  126.  
  127. procedure satuan;
  128.    begin
  129.         angka := masuk;
  130.         if angka > 0 then
  131.            begin
  132.                 convert;
  133.                 b := concat (b,c);
  134.            end
  135.         else
  136.            b := b
  137.    end;
  138.  
  139. begin
  140.      clrscr;
  141.      write   ('masukkan angka 0 - 19999 : ');
  142.      readln  (masuk);
  143.  
  144.      if masuk > 19999 then
  145.         writeln ('otak gua belom sampe segitu bro')
  146.      else
  147.      if masuk < 0 then
  148.         writeln ('itu minus bro, gua belom sampe situ')
  149.      else
  150.  
  151. {author : arickanjass
  152. gunadarma university
  153. dont copy without trademark!}
  154.  
  155.      if masuk = 10000 then
  156.         b := ('sepuluh ribu')
  157.      else
  158.      if masuk > 10000 then
  159.         begin
  160.         puluhribuan;
  161.         if masuk = 0 then
  162.            b:= b
  163.         else
  164.         begin
  165.              if masuk div 100 > 0 then
  166.                 ratusan;
  167.         puluhan;
  168.         satuan;
  169.         end
  170.         end
  171.      else
  172.      if masuk >= 1000 then
  173.         begin
  174.         ribuan;
  175.         if masuk = 0 then
  176.            b := b
  177.         else
  178.         begin
  179.              if (masuk div 100) > 0 then
  180.                 ratusan;
  181.              puluhan;
  182.              satuan;
  183.         end
  184.         end
  185.      else
  186.      if masuk >= 100 then
  187.         begin
  188.         ratusan;
  189.         puluhan;
  190.         satuan;
  191.         end
  192.      else
  193.      if masuk >= 10 then
  194.         begin
  195.         puluhan;
  196.         satuan;
  197.         end
  198.      else
  199.      if masuk > 0 then
  200.          satuan
  201.      else
  202.         b := 'nol';
  203.  
  204.      writeln (b);
  205.      readln;
  206. end.