Friday, 16 September 2016T9/16/2016 08:35:00 pm

MEMBUAT KONVERSI ANGKA KE ANGKA ROMAWI DI DELPHI

Salam blogger...pada kesempatan kali ini saya akan share cara membuat program konversi angka ke romawi menggunakan delphi, bilangan romawi merupakan sistem bilangan yang menggunakan kode karakter text berupa I, X, C, L, M dan D. sering kali dalam membuat program kita memerlukan angka romawi dalam membuat penomoran untuk output program kita. angka romawi biasanya banyak digunakan dalam membuat nomor surat yang diambil dari tanggal dan bulan, untuk dapat mengkonversikan bilangan ke angka romawi di delphi kita memerlukan / membuat fungsi khusus. fungsi inilah nantinya yang akan berfungsi untuk mengkonversikan bilangan ke angka romawi tersebut. dibawah ini saya akan memberikan coding untuk membuat program konversi tersebut.
Pertama yang harus dilakukan adalah buat sebuah project di delphi, anda dapat membuat program ini baik di delphi 7, delphi 2010, delphi xe ataupun delphi versi lainnya, lalu pada form tambahkan :
  1. Edit text 2 buah
  2. button 2 buah
  3. Label
Jika sudah atur tata letak nya seperti pada gambar di atas. jika sudah maka selanjutnya masukan koding di bawah ini kedalam project sobat.

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Edit1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    function IntToRoman(m: integer): string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var bil : integer;
begin
if (edit1.Text='') then
  begin
    messagebox(self.Handle,'masukan angka !!','Warning',MB_OK + MB_ICONINFORMATION);
    edit1.SetFocus;
  end else
  begin
    try
      bil:=strtoint(edit1.Text);
      if (bil < 0) or (bil > 5999) then
        showmessage('jangan kurang dari 1 dan jangan lebih dari 5999')
      else
        edit2.Text:=IntToRoman(bil);
    except;
      exit;
    end;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
edit1.Clear;
edit2.Clear;
edit1.SetFocus;
end;

procedure TForm1.Edit1Click(Sender: TObject);
begin
edit1.Hint:='hanya dari angka 1 sampai 5999';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
application.HintColor:=clred;
edit2.Enabled:=false;
end;

function TForm1.IntToRoman(m: integer): string;
const
k=10;
roman_unit:array[1..k] of string =
('','I','II','III','IV','V','VI','VII','VIII','IX');
roman_tens:array[1..k] of string =
('','X','XX','XXX','XL','L','LX','LXX','LXXX','XC');
roman_hund:array[1..k] of string =
('','C','CC','CCC','CD','D','DC','DCC','DCCC','CM');
roman_thou:array[1..6] of string =
('','M','MM','MMM','MMMM','MMMMM');
var
n,v,w,x,y:integer;
begin
n:=m;
if n<>5999 then
result:='5999';
v := ((n - (n mod 1000)) div 1000)+1;
n := (n mod 1000);
w := ((n - (n mod 100)) div 100)+1;
n := (n mod 100);
x := ((n - (n mod 10)) div 10)+1;
y := (n mod 10) + 1;
result:= roman_thou[v] + roman_hund[w] + roman_tens[x] +
roman_unit[y];
end;
end.


Jika koding di atas sudah di buat secara benar, coba jalankan programnya dengan menekan RUN/F9 dan lihat hasilnya, masukan angka yang di inginkan lalu tekan button proses. demikian sedikit tips yang dapat saya share kali ini, semoga dapat bermanfaat. jika sobat ingin mencoba program yang saya buat, sobat dapat mengunduh programnya disini.
Previous
Next Post »
0 Komentar untuk "MEMBUAT KONVERSI ANGKA KE ANGKA ROMAWI DI DELPHI"

Silahkan tinggalkan komentar dibawah ini,
Terima kasih sudah :
1. Berkomentar dengan sopan
2. Tidak meninggalkan link aktif dalam form komentar
3. Berkomentar sesuai postingan / artikel
4. Tidak membuat komentar yang mengandung SARA / SPAM
5. Memberikan informasi link / script yang tidak berfungsi

Terima Kasih Sudah Berkomentar

PENDAPAT ANDA TENTANG BLOG INI ?

Follow by Email

 
Copyright © 2014 uduy macal blog's - All Rights Reserved
Template By Kuncidunia
DMCA.com Protection Status