DELPHI, UBAHSEGALANYA.BLOGSPOT.CO.ID - Pada kali ini saya akan membuat sebuah tutorial tentang konversi desimal ke romawi menggunakan Delphi. perlu diketahui bilangan romawi merupakan sistem bilangan yang menggunakan kode karakter teks berupa I, X, C, L, M dan D. Sistem bilangan ini termasuk sistem bilangan yang unik dan sangat popular. Untuk mengkonversi sistem bilangan desimal ke romawi perlu dibuat sebuah fungsi khusus, sebab Delphi tidak menyediakan fungsi ini secara default. Fungsi tersebut dapat dilihat pada kode dibawah ini :
function DecToRoman(Decimal : LongInt): string;
const
Numbers : array[1..13] of Integer =(1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000);
Romans: array [1..13] of string = ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M');
var
i : Integer;
begin
Result := '';
for i := 13 downto 1 do
while (Decimal >= Numbers[i]) do
begin
Decimal := Decimal - Numbers[i];
Result := Result + Romans[i];
end;
end;
Fungsi diatas akan melakukan proses perulangan untuk mendeteksi bilangan desimal yang dimasukan untuk selanjutnya dicocokan dengan array bilanagan romawi yang sudah disiapkan untuk kemudian dikonversi menjadi bilangan romawi. Untuk lebih jelasanya anda bisa melihat pembuatan aplikasi dibawah ini :
- Buka Delphi
- Buat project baru
- Tambahkan komponen dibawah ini :
No
|
Nama Komponen
|
Pallete
|
Jumlah
|
1
|
TGroupBox
|
Standard
|
1
|
2
|
TEdit
|
Standard
|
2
|
3
|
TLabel
|
Standard
|
2
|
4
|
TButton
|
Standard
|
1
|
- Setting komponen seperti dibawah ini :
No
|
Nama Komponen
|
Nama Properties
|
Value
|
1
|
GroupBox1
|
Caption
|
Halaman Convert
|
2
|
Edit1
|
Text
|
-
|
3
|
Edit2
|
Text
|
-
|
4
|
Label1
|
Caption
|
Bilangan Desimal
|
5
|
Label2
|
Caption
|
Bilangan Romawi
|
6
|
Button1
|
Caption
|
Convert
|
- Buat function baru seperti kode dibawah ini :
function DecToRoman(Decimal : LongInt): string;
const
Numbers : array[1..13] of Integer =(1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000);
Romans: array [1..13] of string = ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C', 'CD', 'D', 'CM', 'M');
var
i : Integer;
begin
Result := '';
for i := 13 downto 1 do
while (Decimal >= Numbers[i]) do
begin
Decimal := Decimal - Numbers[i];
Result := Result + Romans[i];
end;
end;
- Klik dua kali pada tombol Convert, dan masukan kode dibawah ini :
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := DecToRoman(StrToInt(Edit1.Text));
end;
- Tekan tombol F9/Compile
- Selesai, selamat mencoba
0 comments:
Post a Comment