Cara Membuat Integer to Binary Konverter dan Sebaliknya di Delphi


Selamat siang agan-agan.Posting lagi juga ya akhirnya :D.Udah akhir taun nih , untuk itu mari kita tingkatkan pemahaman Delphi kita (hubungannya apa !? :hammer ).Pada postingan kali ini saya akan menyajikan tutorial Cara Membuat Integer to Binary Konverter dan Sebaliknya  di Delphi.Berawal dari sebuah pertanyaan di Grup Delphi di Facebook , hati saya tergugah untuk menulis posting ini.Sebagaimana kita tahu , bahwa komputer hanya mengenal bilangan biner , yang terdiri dari angka 0 dan 1.Apapun yang tampil sekarang ini di depan anda adalah hasil dari pengolahan bilangan
biner.Yuph , semuanya tersusun dari angka 0 dan 1.Udah ah , saya anggap agan-agan udah ngerti apa itu bilangan biner , kalo belum ngerti coba aja cari di mbah google.Mari lanjut ke topik.Dalam pembuatan program ini , kita membutuhkan 2 buah function.Yang pertama , ialah konverter dari biner ke integer , dan satu lagi dari integer ke biner.Okey , buka program anda sekarang.(untuk postingan kali ini , saya pake Delphi XE , tapi pake Delphi 7 juga bisa kok).Tambahkan komponen berikut.


Component
Properties
Keterangan
2 Tbutton
Caption:Integer To Binary dan Binary To Integer

2 TEdit
Name:edNilaiInteger dan edNilaiBinary

2 TLabel
Name:lblNilaInteger dan lblNilaiBiner
 

Susun komponen tersebut sebagai berikut











Okay , nah saatnya koding !! Tambahkan kode berikut setelah {$R *.dfm}


  1. function BinToInt(value:String):integer;  
  2. var i , nilaUkuran:Integer;  
  3. begin  
  4.   Result:=0;  
  5.   nilaUkuran:=Length(value);  
  6.   for i := nilaUkuran downto 1 do  
  7.     begin  
  8.       if value[i]='1' then Result:=Result + (1 shl(nilaUkuran-i));  
  9.     end;  
  10. end;  

Kode diatas merupakan konverter dari Binary Ke Integer.Bila kita liat , ada keyword yang cukup asing , yaitu shl.Apa fungsi shl itu !? Keyword shl berfungsi untuk melakukan pergeseran bitwise kiri Integer.Untuk mengetahui lebih dalam mengenai shl , silahkan cek kesini.Selanjutnya , kita akan membuat konverter dari Integer ke binary.Ketikan kode berikut setelah function di atas.


  1. function IntToBin(value:Longint;Nilai:integer):String;  
  2. var i :Integer;  
  3. begin  
  4.   Result:='';  
  5.   for i := Nilai downto 0 do  
  6.     begin  
  7.       if value and (1 shl i) <> 0 then  
  8.         begin  
  9.           Result := Result+'1';  
  10.         end  
  11.       else  
  12.         begin  
  13.           Result:=Result+'0';  
  14.         end;  
  15.     end;  
  16. end;  

Setelah kedua function tersebut selesai , saatnya memberikan kode untuk mengeksekusinya di Button.Double-click Button Integer To Binary dan ketikan kode berikut


  1. procedure TForm1.Button1Click(Sender: TObject);  
  2. begin  
  3.   if (edNilaiInteger.Text<>'') then  
  4.     begin  
  5.       lblNilaiBiner.Caption:=IntToBin(StrToInt(edNilaiInteger.Text),7)  
  6.     end;  
  7. end;  

Kita akan mengconvert nilai integer menjadi 8 digit nilai biner.Lalu kenapa saya memasukan nilai 7 !? Karena bilangannya dimulai dari 0.Dan selanjutnya untuk Button Binary to Integer , ketikan kode berikut

  1. procedure TForm1.Button2Click(Sender: TObject);  
  2. begin  
  3.   if edNilaiBinary.Text<> '' then  
  4.     begin  
  5.       lblNilaInteger.Caption:=IntToStr(BinToInt(edNilaiBinary.Text));  
  6.     end;  
  7. end;  

Untuk kode lengkapnya , sebagai berikut


  1. unit Unit1;  
  2.   
  3. interface  
  4.   
  5. uses  
  6.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  
  7.   Dialogs, StdCtrls;  
  8.   
  9. type  
  10.   TForm1 = class(TForm)  
  11.     edNilaiInteger: TEdit;  
  12.     Button1: TButton;  
  13.     lblNilaiBiner: TLabel;  
  14.     Button2: TButton;  
  15.     edNilaiBinary: TEdit;  
  16.     lblNilaInteger: TLabel;  
  17.     procedure Button1Click(Sender: TObject);  
  18.     procedure Button2Click(Sender: TObject);  
  19.   private  
  20.     { Private declarations }  
  21.   public  
  22.     { Public declarations }  
  23.   end;  
  24.   
  25. var  
  26.   Form1: TForm1;  
  27.   
  28. implementation  
  29.   
  30. {$R *.dfm}  
  31.   
  32. function BinToInt(value:String):integer;  
  33. var i , nilaUkuran:Integer;  
  34. begin  
  35.   Result:=0;  
  36.   nilaUkuran:=Length(value);  
  37.   for i := nilaUkuran downto 1 do  
  38.     begin  
  39.       if value[i]='1' then Result:=Result + (1 shl(nilaUkuran-i));  
  40.   
  41.     end;  
  42. end;  
  43.   
  44. function IntToBin(value:Longint;Nilai:integer):String;  
  45. var i :Integer;  
  46. begin  
  47.   Result:='';  
  48.   for i := Nilai downto 0 do  
  49.     begin  
  50.       if value and (1 shl i) <> 0 then  
  51.         begin  
  52.           Result := Result+'1';  
  53.         end  
  54.       else  
  55.         begin  
  56.           Result:=Result+'0';  
  57.         end;  
  58.     end;  
  59. end;  
  60.   
  61. procedure TForm1.Button1Click(Sender: TObject);  
  62. begin  
  63.   if (edNilaiInteger.Text<>'') then  
  64.     begin  
  65.       lblNilaiBiner.Caption:=IntToBin(StrToInt(edNilaiInteger.Text),7)  
  66.     end;  
  67. end;  
  68.   
  69. procedure TForm1.Button2Click(Sender: TObject);  
  70. begin  
  71.   if edNilaiBinary.Text<> '' then  
  72.     begin  
  73.       lblNilaInteger.Caption:=IntToStr(BinToInt(edNilaiBinary.Text));  
  74.     end;  
  75. end;  
  76.   
  77. end.  

Okey deh , jalankan program anda dan coba ketikan nilai integer pada edNilaiInteger.Contoh penampakannya











Untuk mengecek apakah valid bilangan biner tersebut , silahkan lihat disini Sekian untuk tutorial kali ini , semoga bermanfaat :)

0 Response to " Cara Membuat Integer to Binary Konverter dan Sebaliknya di Delphi "

Welcome In Kode Blogger

Contoh Sliding Login Dengan JQuery

Disamping ini adalah contoh Sliding Login menggunakan JQuery. Login Form Disamping hanya Contoh dan tidak dapat digunakan layaknya Login Form FB, Karena Blog ini terbuka untuk umum tanpa perlu mendaftar menjadi Member

Tutorial Blog

Untuk membuatnya Silahkan : Klik Disini

Member Login

Lost your password?

Not a member yet? Sign Up!