السَّلاَمُ عَلَيْكُمْ وَرَحْمَةُ اللهِ وَبَرَكَاتُهُ
بِسمِ اللَّهِ الرَّحمٰنِ الرَّحيمِ

Fungsi Terbilang (Delphi)

Fungsi terbilang versi Delphi ini adalah hasil konversi dari kode yang dibuat untuk Clipper. Cara pemanggilan dan hasil yang dikeluarkannya sama persis dengan kode sebelumnya.

Jika saya sempat, saya akan berusaha untuk membuat beberapa versi fungsi terbilang ini seperti untuk ASP, PHP dan lainnya tapi jangan terlalu berharap ya?

function SayIt(sValue: string):string;
const
  Angka : array [1..20] 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;
  Sen, Sen1, Sen2: string;
  Hitung : integer;
  One, Two, Three: integer;

begin
  One    := 1;
  Two    := 2;
  Three  := 3;
  Hitung := 1;
  Kata   := '';
  S := copy(sPattern, 1, length(sPattern) - length(trim(sValue))) + sValue;
  Sen1 := Copy(S, 14, 1);
  Sen2 := Copy(S, 15, 1);
  Sen  := Sen1 + Sen2;
  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 ';

  if (StrToInt(Sen) > 0) and (StrToInt(Sen) < 20) then
     begin
       if StrToInt(Sen) < 10 then Sen := Copy(Sen, 2, 1);
       Kata := Kata + Angka[StrToInt(Sen)+1] + ' sen';
     end
  else
     if StrToInt(Sen) > 19 then
        Kata := Kata + Angka[StrToInt(Sen1)+1] + 'puluh ' +
                Angka[StrToInt(Sen2)+1] + ' sen';
  Result := Kata;
end;

Incoming search terms:

  • terbilang delphi (58)
  • fungsi terbilang delphi (58)
  • fungsi delphi (42)
  • delphi terbilang (36)
  • program terbilang delphi (35)
  • fungsi pada delphi (27)
  • fungsi terbilang di delphi (18)
  • fungsi terbilang pada delphi (15)
  • fungsi terbilang dengan delphi (14)
  • function terbilang delphi (14)

6 Responses to “Fungsi Terbilang (Delphi)”

  1. citra indah says:

    mas…
    makasih ya atas sharing nya.

  2. izal says:

    kak klo ada conth program ya tolong dikirimin ke email saya donk makasih ya

  3. muhammad says:

    terima kasih mas atas sharingnya kalo mo konsultasi di mana ya mas?

  4. Krisssapto says:

    yes, berhasil.. trims. akhirnya saya berhasil buat programnya…
    Dapat di download di
    download di http://www.ziddu.com/download/8434295/Terbilang.rar.html

  5. Didit A - One Step Learning says:

    nice info, nice sharing…
    salam kenal…

Leave a Reply