Rabu, 16 Juni 2010

2

[Pascal] Program Pembilang

  • Rabu, 16 Juni 2010
  • Nurkholish Ardi Firdaus
  • Share
  • 100 = seratus
    200 = dua ratus
    300 = tiga ratus
    1000 = seribu
    dst

    Source Code:
    program membilang;
    
    uses crt;
    
    const
     bil : array[1..10] of string = ('nol','satu','dua','tiga','empat','lima','enam','tujuh','delapan','sembilan');
    
     procedure sbtSatuan(i:byte);{0..9}
        begin
         write(bil[i+1]);
        end;
    
        procedure sbtPuluhan(i:byte);{10..99}
        begin
         if i<10 then
            begin
             sbtSatuan(i);
            end else
      begin
       if i=10 then
       begin
        write('sepuluh');
       end;
       if i=11 then
       begin
        write('sebelas');
       end;
       if (1>=12) and (i<=19) then
       begin
        sbtSatuan(i mod 10);
        write(' belas ');
       end;
       if (i>=20) and (i<99) then
       begin
        sbtSatuan(i div 10);
        write(' puluh ');
        if i mod 10<>0 then   {untuk menghindari dua puluh nol}
        begin
         sbtSatuan(i mod 10);
        end;
       end;
      end;
        end;
    
        procedure sbtRatusan(i:word);{100..999}
        begin
      if i<100 then
      begin
       sbtPuluhan(i);
      end else
      begin
       if (i>=100) and (i<199) then
       begin
        write('seratus ');
       end;
       if (i>=200) and (i<=999) then
       begin
        sbtSatuan(i div 100);
        write(' ratus ');
       end;
       if i mod 100<>0 then      {untuk menghindari seratus nol}
       begin
        sbtPuluhan(i mod 100);
       end;
      end;
        end;
    
        procedure sbtRibuan(i:longint);{1000..999999}
        begin
      if i<1000 then
      begin
       sbtRatusan(i);
      end else
      begin
       if (i>=1000) and (i<=1999) then
       begin
        write('seribu ');
       end;
       if (i>=2000) and (i<=999999) then
       begin
        sbtRatusan(i div 1000);
        write(' ribu ');
       end;
       if i mod 1000<>0 then               {untuk menghindari seribu nol}
       begin
        sbtRatusan(i mod 1000);
       end;
      end;
        end;
    
        procedure sbtJutaan(i:longint);{1000000..999999999}
        begin
         if i<1000000 then
            begin
             sbtRibuan(i);
            end else
            begin
             sbtRatusan(i div 1000000);
                write(' juta ');
                if i mod 1000000<>0 then
                begin
                 sbtRibuan(i mod 1000000);         {untuk menghindari satu juta nol}
                end;
            end; 
        end;
    
        procedure sbtBilangan(i:longint);
        begin
         if i <10 then
            begin
             sbtSatuan(i);
            end else if i <999 then
            begin
             sbtRatusan(i);
            end else if i <999999 then
            begin
             sbtRibuan(i);
            end else if i<999999999 then
            begin
             sbtJutaan(i);
            end;
        end;
    begin
     clrscr;
        sbtBilangan(78900);
        readkey; 
    end.
    
    Jangan Lupa Komentar Yaa..
    Related Posts Plugin for WordPress, Blogger...

    2 Komentar Untuk “[Pascal] Program Pembilang”

    Anonim mengatakan...

    Minggu, 23 Januari 2011 pukul 17.05.00 WIB Reply To This Comment

    trims referensinya gan.
    akhirnya selesai jg tugas kuliah ane... hehe:)


    Nurkholish Ardi Firdaus mengatakan...
    Minggu, 23 Januari 2011 pukul 17.49.00 WIB Reply To This Comment

    @Anonim okedah, smoga sukses kuliahnya. amin


    Posting Komentar

    Berikan komentar positif tentang artikel yang sederhana ini niscaya sobat akan mendapatkan balasannya. Hehehe

    Subscribe