Kamis, 05 April 2012

MEMBUAT KALKULATOR SEDERHANA DENGAN DELPHI

LOGIKA PROGRAM

unit Unit1;


interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    RgOperasi: TRadioGroup;
    EdBilA: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    EdBilB: TEdit;
    BtHitung: TButton;
    BtBatal: TButton;
    Label3: TLabel;
    StHasil: TStaticText;
    Bevel1: TBevel;
    procedure BtBatalClick(Sender: TObject);
    procedure BtHitungClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

Implementation

{$R *.dfm}

Pertama-tama yang dilakukan adalah mendesain form yang ingin kita buat, langkah ini mudah karena kita hanya mengarahkan kursor mouse pada pilihan komponen yang kita inginkan dan meletakkannya sesuai keinginan kita di form. Diform ini ada 3 Label, 2 Edit, 3 Button,1 StaticText,1 RadioGroup dan 1 Bevel. Delphi akan otomatis dengan sendirinya mengkoding desain yang kita buat. Nama-nama dari komponen itu bisa diubah sesuai dengan keinginan kita dan yang saya ubah adalah

Label1             = Bilangan A                                        Button1           = Hitung
Label2             = Bilangan B                                        Button2           = Batal
Label3             = Hasil Perhitungan                              StaticText        = StHasil
Edit1                = EdBilA                                             RadioGroup     = Silahkan Pilih
Edit2                = EdBilB
Di dalam RadioGroup saya juga menambahkan 4 Button yaitu Perkalian, Pembagian, Penjumlahan dan Pengurangan. Nama form diubah menjadi KALKULATOR





procedure TForm1.BtHitungClick(Sender: TObject);

var BilA, BilB, Hasil:Real;
begin
  BilA:=StrToFloat(EdBilA.Text);
  BilB:=StrToFloat(EdBilB.Text);
  case RgOperasi.ItemIndex of
  0:Hasil:=BilA*BilB;
  1:Hasil:=BilA/BilB;
  2:Hasil:=BilA+BilB;
  3:Hasil:=BilA-BilB
  else
  hasil:=0;
  end;
  StHasil.Caption:=FloatToStr(Hasil);
  end;

Selanjutnya klik dua kali pada Button Hitung dan ketikkan kode seperti diatas. Di bagian awal memasukkan  variabel BilA, BilB dan Hasil adalah tipe data real, setelah itu dideklerasikan variabel BilA dan BilB StrToFloat dengan target EdBilA.Text dan EdBilB.Text. Dengan menggunakan Case of di kode case RgOperasi.ItemIndex of pilihan perhitungan ada di RadioGroup yg didesain di awal (RgOperasi:TradioGroup;) , angka 0 menunjukan Hasil perhitungan BilA dan BilB adalah perkalian, 1 adalah pembagian, 2 adalah penjumlahan dan 3 adalah pengurangan bila tidak ada yg dipilih hasilnya akan 0. Hasil dari perhitungan tersebut akan ada di StHasil.






procedure TForm1.BtBatalClick(Sender: TObject);
begin
  EdBilA.Text:=' ';
  EdBilB.Text:=' ';
  StHasil.Caption:=' ';
  EdBilA.SetFocus;
end;

Setelah itu klik dua kali pada button Batal dan ketikkan kode seperti di atas. Kode diatas mengharuskan program mengosongkan Bilangan A yaitu EdBilA, Bilangan B yaitu EdBilB dan Hasil Perhitungan yaitu StHasil saat button Batal di klik. 

KODE PROGRAM DAN FORM

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    RgOperasi: TRadioGroup;
    EdBilA: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    EdBilB: TEdit;
    BtHitung: TButton;
    BtBatal: TButton;
    Label3: TLabel;
    StHasil: TStaticText;
    Bevel1: TBevel;
    procedure BtBatalClick(Sender: TObject);
    procedure BtHitungClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

Implementation

{$R *.dfm}
procedure TForm1.BtBatalClick(Sender: TObject);
begin
  EdBilA.Text:='';
  EdBilB.Text:='';
  StHasil.Caption:='';
  EdBilA.SetFocus;
end;



procedure TForm1.BtHitungClick(Sender: TObject);
var BilA, BilB, Hasil:Real;
begin
  BilA:=StrToFloat(EdBilA.Text);
  BilB:=StrToFloat(EdBilB.Text);
  case RgOperasi.ItemIndex of
  0:Hasil:=BilA*BilB;
  1:Hasil:=BilA/BilB;
  2:Hasil:=BilA+BilB;
  3:Hasil:=BilA-BilB
  else
    hasil:=0;
  end;
  StHasil.Caption:=FloatToStr(Hasil);
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
  BtBatalClick(Sender);
end;

end.



CONTOH OUTPUT
























0 komentar:

Posting Komentar