Arsip: Rp 200.000 = dua ratus ribu rupiah

 
user image
more 16 years ago

Theo_razor

ada yang punya program delphi yang bisa mengkonvert angga menjadi terbilangnya ga ?? share plis... pemula neh kk!! cth:Rp 125.020 = seratus dua puluh lima ribu dua puluh rupiah.. :D
user image
more 16 years ago

maulaku


 public
    { Public declarations }
    function Terbilang(sValue: string):string;
  end;
var
  Kata, d, x, E, T : String;
implementation
{$R *.DFM}
function Tform1.Terbilang(sValue: string):string;
const
  Angka : array  of string =
          ('', 'Satu', 'Dua', 'Tiga', 'Empat',
           'Lima', 'Enam', 'Tujuh', 'Delapan',
           'Sembilan', 'Sepuluh', 'Sebelas',
           'Duabelas', 'Tigabelas', 'Empatbelas',
           'Limabelas', 'Enambelas', 'Tujuhbelas',
           'Delapanbelas', 'Sembilanbelas');
  sPattern: string = '000000000000000';
var
  S : string;
  Satu, Dua, Tiga, Belas, Gabung: string;
  Hitung : integer;
  One, Two, Three: integer;
begin
  One    := 4;
  Two    := 5;
  Three  := 6;
  Hitung := 1;
  Kata   := '';
  S := copy(sPattern, 1, length(sPattern) - length(trim(sValue))) + sValue;
  while Hitung < 5 do
  begin
    Satu := Copy(S, One, 1);
    Dua  := Copy(S, Two, 1);
    Tiga := Copy(S, Three, 1);
    Gabung := Satu + Dua + Tiga;
    if StrToInt(Satu) = 1 then
       Kata := Kata + 'Seratus '
    else
       if StrToInt(Satu) > 1 Then
          Kata := Kata + Angka[StrToInt(satu)+1] + ' Ratus ';
    if StrToInt(Dua) = 1 then
       begin
         Belas := Dua + Tiga;
         Kata := Kata + Angka[StrToInt(Belas)+1];
       end
    else
       if StrToInt(Dua) > 1 Then
          Kata := Kata + Angka[StrToInt(Dua)+1] + ' Puluh ' +
                  Angka[StrToInt(Tiga)+1]
    else
       if (StrToInt(Dua) = 0) and (StrToInt(Tiga) > 0) Then
          begin
            if ((Hitung = 3) and (Gabung = '001')) or
               ((Hitung = 3) and (Gabung = '  1')) then
               Kata := Kata + 'Seribu '
            else
               Kata := Kata + Angka[StrToInt(Tiga)+1];
          end;
    if (hitung = 1) and (StrToInt(Gabung) > 0) then
       Kata := Kata + ' Milyar '
    else
       if (Hitung = 2) and (StrToInt(Gabung) > 0) then
          Kata := Kata + ' Juta '
    else
       if (Hitung = 3) and (StrToInt(Gabung) > 0) then
          begin
            if (Gabung = '001') or (Gabung = '  1') then
               Kata := Kata + ''
            else
               Kata := Kata + ' Ribu ';
          end;
    Hitung := Hitung + 1;
    One    := One + 3;
    Two    := Two + 3;
    Three  := Three + 3;
  end;
  if length(Kata) > 1 then Kata := Kata + ' Rupiah ';
  Result := Kata;
end;
ini saya copy dari situs SONY-Ak kalo terbilang dollar ada yang tahu ngga
user image
more 16 years ago

cyber_hecker

atau bisa juga http://pascal-id.org/dpr/index.php?name=PNphpBB2&file=viewtopic&p=667#667
user image
more 16 years ago

imam_setiabudi

Atau bisa menggunakan coding tanpa array buatanku sendiri :

function TFrJual.angkakehuruf(angka:integer):string;
var
  juta,ribu  : longint;
  ratus,belas,puluh,bil : integer;
begin
  if angka <=11 then
    case angka of
     0: Result:='';
     1: Result:=' satu';
     2: Result:=' dua';
     3: Result:=' tiga';
     4: Result:=' empat';
     5: Result:=' lima';
     6: Result:=' enam';
     7: Result:=' tujuh';
     8: Result:=' delapan';
     9: Result:=' sembilan';
     10:Result:=' sepuluh';
     11:Result:=' sebelas';
    end
  else if angka <=19 then
    begin
      belas:= angka mod 10;
      Result:= angkakehuruf(belas)+' belas';
    end
  else if angka <=99 then
    begin
      puluh:= angka div 10;
      bil:=angka mod 10;
      Result:= angkakehuruf(puluh)+' puluh'+ angkakehuruf(bil);
    end
  else if angka =100 then
    Result:=' seratus'
  else if angka <=199 then
    begin
      angka:=angka-100;
      Result:=' seratus'+ angkakehuruf(angka);
    end
  else if angka <=999 then
    begin
      ratus:=angka div 100;
      angka:=angka mod 100;
      Result:=angkakehuruf(ratus)+' ratus'+ angkakehuruf(angka);
    end
  else if angka = 1000 then Result:=' seribu'
  else if angka < 1999 then
    begin
      angka:=angka-1000;
      Result:=' seribu'+ angkakehuruf(angka);
    end
  else if angka < 999999 then
    begin
      ribu:=angka div 1000;
      angka:=angka mod 1000;
      Result:=angkakehuruf(ribu)+' ribu'+ angkakehuruf(angka);
    end
  else if angka < 999999999 then
    begin
      juta:=angka div 1000000;
      angka:=angka mod 1000000;
      Result:=angkakehuruf(juta)+' juta'+ angkakehuruf(angka);
    end;
end;
[/pas]
user image
more 16 years ago

edi_baek

klau yang dollar gimana..?
user image
more 16 years ago

ImanD

@edi_baek (meskipun ga sesuai judul) aku punya sample sih cuman ga tau bener ngga-nya, xiixixiix jarang pke soalnya...

Function RealToTxt(Amount : Real) : String;
var
  Num : LongInt;
  Fracture : Integer;
  function Num2Str(Num: LongInt): String;
  Const hundred = 100;
        thousand = 1000;
        million = 1000000;
        billion = 1000000000;
   begin
     if Num >= billion then
       if (Num mod billion) = 0 then
         Num2Str := Num2Str(Num div billion) + ' Billion'
       else
         Num2Str := Num2Str(Num div billion) + ' Billion ' +
                    Num2Str(Num mod billion)
     else
       if Num >= million then
         if (Num mod million) = 0 then
           Num2Str := Num2Str(Num div million) + ' Million'
         else
           Num2Str := Num2Str(Num div million) + ' Million ' +
                      Num2Str(Num mod million)
       else
         if Num >= thousand then
           if (Num mod thousand) = 0 then
             Num2Str := Num2Str(Num div thousand) + ' Thousand'
           else
             Num2Str := Num2Str(Num div thousand) + ' Thousand ' +
                        Num2Str(Num mod thousand)
         else
           if Num >= hundred then
             if (Num mod hundred) = 0 then
               Num2Str := Num2Str(Num div hundred) + ' Hundred'
             else
               Num2Str := Num2Str(Num div  hundred) + ' Hundred ' +
                          Num2Str(Num mod hundred)
           else
           case (Num div 10) of
          6,7,9: if (Num mod 10) = 0 then
                    Num2Str := Num2Str(Num div 10) + 'ty'
                  else
                    Num2Str := Num2Str(Num div 10) + 'ty-' +
                               Num2Str(Num mod 10);
               8: if Num = 80 then
                    Num2Str := 'Eighty'
                  else
                    Num2Str := 'Eighty-' + Num2Str(Num mod 10);
               5: if Num = 50 then
                    Num2Str := 'Fifty'
                  else
                    Num2Str := 'Fifty-' + Num2Str(Num mod 10);
               4: if Num = 40 then
                    Num2Str := 'Forty'
                  else
                    Num2Str := 'Forty-' + Num2Str(Num mod 10);
               3: if Num = 30 then
                    Num2Str := 'Thirty'
                  else
                    Num2Str := 'Thirty-' + Num2Str(Num mod 10);
               2: if Num = 20 then
                    Num2Str := 'Twenty'
                  else
                    Num2Str := 'Twenty-' + Num2Str(Num mod 10);
             0,1: case Num of
                     0: Num2Str := 'Zero';
                     1: Num2Str := 'One';
                     2: Num2Str := 'Two';
                     3: Num2Str := 'Three';
                     4: Num2Str := 'Four';
                     5: Num2Str := 'Five';
                     6: Num2Str := 'Six';
                     7: Num2Str := 'Seven';
                     8: Num2Str := 'Eight';
                     9: Num2Str := 'Nine';
                    10: Num2Str := 'Ten';
                    11: Num2Str := 'Eleven';
                    12: Num2Str := 'Twelve';
                    13: Num2Str := 'Thirteen';
                    14: Num2Str := 'Fourteen';
                    15: Num2Str := 'Fifteen';
                    16: Num2Str := 'Sixteen';
                    17: Num2Str := 'Seventeen';
                    18: Num2Str := 'Eightteen';
                    19: Num2Str := 'Nineteen'
                  end
           end
  end {Num2Str};
begin
  Num:= Trunc(Amount);
  Fracture:= Round(1000*Frac(Amount));
  if Num > 0 then
    Result := Num2Str(Num) + ' and ';
  if Fracture > 0 then
    Result := Result + IntToStr(Fracture) + '/1000'
  else
    Result := Result +  '000/1000';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Text:=realtotxt(strtofloat(edit1.Text));
end;
mohon u/ rekan2 di lengkapi n disederhanakan sesuai dengan kaidahnya, huahhahahahha
user image
more 16 years ago

yayaretina

Bro ImanD : hehehheheee duit 1230 jadinya One Thousand Two Hundred Thirty and 000/1000 ni kali ya yg di suruh nglengkapin...
user image
more 16 years ago

maulaku

kalo yang dollar aku barusan dapet nih di delphi abouts download source code : http://delphi.about.com/library/weekly/code/numberstowords.zip tapi ada sedikit masalah. saya compile pake delphi 7 error 'actual many parameters' mungkin pembagiannya tapi kalo di compile d2007 ngga ada masalah
user image
more 16 years ago

ImanD

yuhuuu @yayaretina and 000/1000 itu menunjukkan desimalnya, maksud aku dilengkapin sesuai yg diinginkan misal pke point atw satuan cents untuk pemisah desimalnya atw klo mau ga usah pke desimal,xixiixixi
@maulaku: kalo yang dollar aku barusan dapet nih di delphi abouts download source code : http://delphi.about.com/library/weekly/code/numberstowords.zip tapi ada sedikit masalah. saya compile pake delphi 7 error 'actual many parameters' mungkin pembagiannya tapi kalo di compile d2007 ngga ada masalah
function Copy(S; Index, Count: Integer): string;
function Copy(S; Index, Count: Integer): array;
memang u/ di delphi 7 semua parameter WAJIB diisi tetapi d D2007(bukan dikarenakan pembagiannya) jika parameter Count ga diisi maka delphi akan membuat default Count=Length(S) misal d D2007

Copy('ImanD',4);
//sama dengan
Copy('ImanD',4,Length('ImanD'));
coba teliti pada source-nya delphi {System.pas klo ga salah} kenapa bisa begitu! xixiixi
user image
more 16 years ago

maulaku

waduh mas iman aku ngga paham, tak utak-utik tetep error error messagenya pas di pembagian/2 mas ? gimana supaya jalan di delphi7
more ...
  • Pages:
  • 1
  • 2
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com