DELPHI, UBAHSEGALANYA.BLOGSPOT.CO.ID - Pada kali ini saya akan membuat sebuah tutorial tentang konversi heksadecimal ke decimal, seperti tutorial sebelumnya Konversi Bilangan Desimal Ke Romawi Menggunakan Delphi. Kita ketahui bahwasanya bilangan heksadecimal merupakan sistem bilangan lima belasan yang menggunakan kode karakter gabungan antara angka 0-9 dan teks berupa A-F. Sistem bilangan ini termasuk sistem yang cukup unik dan sangat popular dipergunakan oleh pemrograman computer, sebab sistem bilangan yang dipergunakan komputer salah satunya adalah sistem bilangan heksadesimal.
Untuk mengkonversi sistem bilangan heksadesimal ke desimal perlu dibuat sebuah fungsi khusus, mengingat Delphi tidak menyediakan fungsi ini secara default. Adapun fungsi tersebut dapat dilihat pada kode dibawah ini :
function HexToDec(Str: string): Integer;
var
i,M : Integer;
begin
Result:=0;
M:=1;
Str:=AnsiUpperCase(Str);
for i:=Length(Str) downto 1 do
begin
case Str[i] of
'1'..'9': Result:=Result+(Ord(Str[i])-Ord('0'))*M;
'A'..'F': Result:=Result+(Ord(Str[i])-Ord('A')+10)*M;
end;
M:=M shl 4;
end;
end;
Fungsi diatas akan melakukan proses perulangan untuk mendeteksi bilangan heksadesimal yang dimasukan untuk selanjutnya dikonversi menjadi bilangan desimal. 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 Heksadesimal
|
5
|
Label2
|
Caption
|
Bilangan Desimal
|
6
|
Button1
|
Caption
|
Convert
|
- Buat function baru seperti kode dibawah ini :
function HexToDec(Str: string): Integer;
var
i,M : Integer;
begin
Result:=0;
M:=1;
Str:=AnsiUpperCase(Str);
for i:=Length(Str) downto 1 do
begin
case Str[i] of
'1'..'9': Result:=Result+(Ord(Str[i])-Ord('0'))*M;
'A'..'F': Result:=Result+(Ord(Str[i])-Ord('A')+10)*M;
end;
M:=M shl 4;
end;
end;
- Klik dua kali pada tombol Convert, dan masukan kode dibawah ini :
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text:=IntToStr(HexToDec(Edit1.Text));
end;
- Tekan tombol F9/Compile
- Selesai, selamat mencoba
0 comments:
Post a Comment