BLANTERORBITv102

    Pascal: Konversi Bilangan ke Desimal

    Selasa, 03 Mei 2011
    uses crt;
    var bilangan:String[10];

    procedure satuan(i:integer);
    begin
    if (bilangan[i] = '1') then
      write('satu')
    else
      if (bilangan[i] = '2') then
        write('dua')
      else
        if (bilangan[i] = '3') then
          write('tiga')
        else
          if (bilangan[i] = '4') then
            write('empat')
          else
            if (bilangan[i] = '5') then
              write('lima')
            else
              if (bilangan[i] = '6') then
                write('enam')
              else
                if (bilangan[i] = '7') then
                  write('tujuh')
                else
                  if (bilangan[i] = '8') then
                    write('delapan')
                  else
                    if (bilangan[i] = '9') then
                      write('sembilan');
    end;

    procedure puluhan(i:integer);
    begin
    if (bilangan[i-1] = '1') then
      begin
      if (bilangan[i] = '0') then
        write('sepuluh')
      else
        if (bilangan[i] = '1') then
          write('sebelas')
        else
          if (bilangan[i] = '2') then
            write('duabelas')
          else
            if (bilangan[i] = '3') then
              write('tigabelas')
            else
              if (bilangan[i] = '4') then
                write('empatbelas')
              else
                if (bilangan[i] = '5') then
                  write('limabelas')
                else
                  if (bilangan[i] = '6') then
                    write('enambelas')
                  else
                    if (bilangan[i] = '7') then
                      write('tujuhbelas')
                    else
                      if (bilangan[i] = '8') then
                        write('delapanbelas')
                      else
                        if (bilangan[i] = '9') then
                          write('sembilanbelas');
      end
    else
      begin
      satuan(i-1);
      write(' puluh ');
      satuan(i);
      end;
    end;

    procedure ratusan(i:integer);
    begin
    if (bilangan[i-2] = '1') then
      begin
      write('seratus ');
      if (bilangan[i-1] = '0') then
        satuan(i)
      else
        puluhan(i);
      end
    else
      begin
      satuan(i-2);
      write(' ratus ');
      if (bilangan[i-1] = '0') then
        satuan(i)
      else
        puluhan(i);
      end;
    end;

    procedure ribuan(i:integer);
    begin
    if (bilangan[i-3] = '1') then
      begin
      write('seribu ');
      if (bilangan[i-2] = '0') then
        if (bilangan[i-1] = '0') then
          satuan(i)
        else
          puluhan(i)
      else
        ratusan(i);
      end
    else
      begin
      satuan(i-3);
      write(' ribu ');
      if (bilangan[i-2] = '0') then
        if (bilangan[i-1] = '0') then
          satuan(i)
        else
          puluhan(i)
      else
        ratusan(i);
      end;
    end;

    procedure puluhribu(i:integer);
    begin
    puluhan(i-3);
    write(' ribu ');
    if (bilangan[i-2] = '0') then
      if (bilangan[i-1] = '0') then
        satuan(i)
      else
        puluhan(i)
    else
      ratusan(i);
    end;

    procedure ratusribu(i:integer);
    begin
    ratusan(i-3);
    write(' ribu ');
    if (bilangan[i-2] = '0') then
      if (bilangan[i-1] = '0') then
        satuan(i)
      else
        puluhan(i)
    else
      ratusan(i);
    end;

    procedure juta(i:integer);
    begin
    satuan(i-6);
    write(' juta ');
    if (bilangan[i-5] = '0') then
      if (bilangan[i-4] = '0') then
        if (bilangan[i-3] = '0') then
          if (bilangan[i-2] = '0') then
            if (bilangan [i-1] = '0') then
              satuan(i)
            else
              puluhan(i)
          else
            ratusan(i)
        else
          ribuan(i)
      else
        puluhribu(i)
    else
      ratusribu(i);
    end;

    procedure puluhjuta(i:integer);
    begin
    puluhan(i-6);
    write(' juta ');
    if (bilangan[i-5] = '0') then
      if (bilangan[i-4] = '0') then
        if (bilangan[i-3] = '0') then
          if (bilangan[i-2] = '0') then
            if (bilangan [i-1] = '0') then
              satuan(i)
            else
              puluhan(i)
          else
            ratusan(i)
        else
          ribuan(i)
      else
        puluhribu(i)
    else
      ratusribu(i);
    end;

    procedure ratusjuta(i:integer);
    begin
    ratusan(i-6);
    write(' juta ');
    if (bilangan[i-5] = '0') then
      if (bilangan[i-4] = '0') then
        if (bilangan[i-3] = '0') then
          if (bilangan[i-2] = '0') then
            if (bilangan [i-1] = '0') then
              satuan(i)
            else
              puluhan(i)
          else
            ratusan(i)
        else
          ribuan(i)
      else
        puluhribu(i)
    else
      ratusribu(i);
    end;

    procedure milyar(i:integer);
    begin
    satuan(i-9);
    write(' milyar ');
    if (bilangan[i-8] = '0') then
      if (bilangan[i-7] = '0') then
        if (bilangan[i-6] = '0') then
          if (bilangan[i-5] = '0') then
            if (bilangan [i-4] = '0') then
              if (bilangan[i-3] =  '0') then
                if (bilangan[i-2] = '0') then
                  if (bilangan[i-1] = '0') then
                    satuan(i)
                  else
                    puluhan(i)
                else
                  ratusan(i)
              else
                ribuan(i)
            else
              puluhribu(i)
          else
            ratusribu(i)
        else
          juta(i)
      else
        puluhjuta(i)
    else
      ratusjuta(i);
    end;

    var digit,i,j:integer;

    begin
    clrscr;
    write('digit bilangan    : ');readln(digit);
    write('Masukkan bilangan : ');readln(bilangan);
    case (digit) of
      1:satuan(digit);
      2:puluhan(digit);
      3:ratusan(digit);
      4:ribuan(digit);
      5:puluhribu(digit);
      6:ratusribu(digit);
      7:juta(digit);
      8:puluhjuta(digit);
      9:ratusjuta(digit);
      10:milyar(digit);
    end;
    readkey;
    end.



    thanks for Aly Yasser Pranajaya
    atas bantuannya :)

    Author

    Iqbal Alghifari

    BLOGGER DARI KALIMANTAN SELATAN