You are on page 1of 10

unit Unit1;

interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls;
type
TForm1 = class(TForm)
StaticText1: TStaticText;
StaticText2: TStaticText;
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button17: TButton;
Button18: TButton;
Button19: TButton;
Button20: TButton;
Button21: TButton;
Button22: TButton;
Button23: TButton;
Button16: TButton;
Button25: TButton;
Button26: TButton;
Button24: TButton;
Button27: TButton;
Button28: TButton;
Image1: TImage;
procedure AktifkanTombol;
procedure CekInput;
procedure Button1Click(Sender:
procedure Button2Click(Sender:
procedure Button3Click(Sender:
procedure Button4Click(Sender:
procedure Button5Click(Sender:
procedure Button6Click(Sender:

TObject);
TObject);
TObject);
TObject);
TObject);
TObject);

procedure Button7Click(Sender: TObject);


procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button25Click(Sender: TObject);
procedure Button26Click(Sender: TObject);
procedure Button24Click(Sender: TObject);
procedure Button27Click(Sender: TObject);
procedure Button28Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Hasil : Real; //untuk menampung hasil proses
Kosong : Boolean; //untuk pengecekan input data
NoBaru : Boolean; //untuk mengecek hasil proses baru
I,N : Integer; //untuk Variabel indek dalam program
implementation
{$R *.dfm}
Procedure TForm1.AktifkanTombol;
Begin
button20.Enabled:=True;
button17.Enabled:=True;
end;
Procedure TForm1.CekInput;
Begin
AktifkanTombol;
if length(trim(edit1.Text))=0 then
Begin
application.MessageBox('Masukan angka dulu...','Cek Input',
MB_IconStop);
edit1.SetFocus;

Kosong:=True;
end
else
Begin
Kosong:=False;
exit;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);


begin
if NoBaru=True Then
begin
edit1.Text:='1';
NoBaru:=False;
end
else
edit1.Text:=edit1.Text+'1';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if NoBaru=True Then
begin
edit1.Text:='2';
NoBaru:=False;
end
else
edit1.Text:=edit1.Text+'2';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if NoBaru=True Then
begin
edit1.Text:='3';
NoBaru:=False;
end
else
edit1.Text:=edit1.Text+'3';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if NoBaru=True Then
begin
edit1.Text:='4';
NoBaru:=False;

end
else
edit1.Text:=edit1.Text+'4';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
if NoBaru=True Then
begin
edit1.Text:='5';
NoBaru:=False;
end
else
edit1.Text:=edit1.Text+'5';
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
if NoBaru=True Then
begin
edit1.Text:='6';
NoBaru:=False;
end
else
edit1.Text:=edit1.Text+'6';
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
if NoBaru=True Then
begin
edit1.Text:='7';
NoBaru:=False;
end
else
edit1.Text:=edit1.Text+'7';
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
if NoBaru=True Then
begin
edit1.Text:='8';
NoBaru:=False;
end
else
edit1.Text:=edit1.Text+'8';
end;
procedure TForm1.Button9Click(Sender: TObject);

begin
if NoBaru=True Then
begin
edit1.Text:='9';
NoBaru:=False;
end
else
edit1.Text:=edit1.Text+'9';
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
if NoBaru=True Then
begin
edit1.Text:='0';
NoBaru:=False;
end
else
edit1.Text:=edit1.Text+'0';
end;
procedure TForm1.Button19Click(Sender: TObject);
begin
NoBaru:=False;
aktifkanTombol;
staticText1.Caption:='';
edit1.Text:='';
staticText2.Caption:='';
edit1.SetFocus;
end;
procedure TForm1.Button20Click(Sender: TObject);
var Kw:Real;
begin
CekInput;
if kosong=true then
exit
else
begin
kw:=strToFloat(edit1.Text);
edit1.Text:=FloatToStr(sqr(kw));
end;
end;
procedure TForm1.Button21Click(Sender: TObject);
var aKw:Real;
begin
CekInput;
if kosong=true then
exit

else
begin
akw:=strToFloat(edit1.Text);
edit1.Text:=FloatToStr(sqrt(aKw));
end;
end;
procedure TForm1.Button22Click(Sender: TObject);
begin
halt;
end;
procedure TForm1.Button23Click(Sender: TObject);
begin
CekInput;
if kosong=true then
exit
else
begin
staticText2.Caption:=edit1.Text;
staticText1.Caption:='x^y';
edit1.Text:=' ';
edit1.SetFocus;
button23.Enabled:=False;
button17.Enabled:=False;
end;
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
CekInput;
if kosong=true then
exit
else
begin
staticText2.Caption:=edit1.Text;
staticText1.Caption:='*';
edit1.Text:='';
edit1.SetFocus;
end;
end;
procedure TForm1.Button15Click(Sender: TObject);
var x:integer;
Bil1,Bil2:Real;
begin
CekInput;
if kosong=true then
exit
else

begin
if length(trim(staticText2.Caption))=0 then
exit;
bil1:=strToFloat(staticText2.Caption);
bil2:=strToFloat(edit1.Text);
if staticText1.Caption='x^y' then
Begin
hasil:=1;
for x:=1 to strToInt(edit1.Text) do
begin
Hasil:=Hasil*Bil1;
End;
End
else if staticText1.Caption='*' Then
Hasil:=bil1*bil2
else if staticText1.Caption='/' Then
Hasil:=bil1/bil2
else if staticText1.Caption='+' Then
Hasil:=bil1+bil2
else if staticText1.Caption='-' Then
Hasil:=bil1-bil2
else
exit;
aktifkanTombol;
staticText2.Caption:=FloatToStr(Bil2);
edit1.Text:=FloatToStr(Hasil);
NoBaru:=True;
end;
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
CekInput;
if kosong=true then
exit
else
begin
staticText2.Caption:=edit1.Text;
staticText1.Caption:='+';
edit1.Text:='';
edit1.SetFocus;
end;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
CekInput;
if kosong=true then
exit

else
begin
staticText2.Caption:=edit1.Text;
staticText1.Caption:='-';
edit1.Text:='';
edit1.SetFocus;
end;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
CekInput;
if kosong=true then
exit
else
begin
staticText2.Caption:=edit1.Text;
staticText1.Caption:='/';
edit1.Text:='';
edit1.SetFocus;
end;
end;
procedure TForm1.Button14Click(Sender: TObject);
Var Persen:Real;
begin
CekInput;
if kosong=true then
exit
else
begin
Persen:=StrToFloat(Edit1.Text);
edit1.Text:=FloatToStr(Persen/100);
end;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
CekInput;
if kosong=true then
exit
else
begin
Hasil:=StrToFloat(edit1.Text);
edit1.Text:=floatToStr(Sin(Hasil));
end;
end;
procedure TForm1.Button25Click(Sender: TObject);
begin

CekInput;
if kosong=true then
exit
else
begin
Hasil:=StrToFloat(edit1.Text);
edit1.Text:=floatToStr(Cos(Hasil));
end;
end;
procedure TForm1.Button26Click(Sender: TObject);
var x:real;
begin
CekInput;
if kosong=true then
exit
else
begin
Hasil:=StrToFloat(edit1.Text);
edit1.Text:=floatToStr(sin(x)/cos(x)*(Hasil));
end;
end;
procedure TForm1.Button24Click(Sender: TObject);
begin
CekInput;
if kosong=true then
exit
else
begin
Hasil:=StrToFloat(edit1.Text);
edit1.Text:=floatToStr(Ln(Hasil));
end;
end;
procedure TForm1.Button27Click(Sender: TObject);
begin
CekInput;
if kosong=true then
exit
else
begin
Hasil:=StrToFloat(edit1.Text);
edit1.Text:=floatToStr(Exp(Hasil));
end;
end;
procedure TForm1.Button28Click(Sender: TObject);
var Hfaktorial:Integer;
begin

CekInput;
if kosong=true then
exit
else
begin
hasil:=1;
HFaktorial:=StrToInt(edit1.Text);
for i:=HFaktorial downto 1 do
begin
hasil:=hasil*i;
edit1.Text:=FloatToStr(Hasil);
end;
end;
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
CekInput;
if kosong=true then
exit
else
begin
button17.Enabled:=False;
edit1.Text:=edit1.Text+',';
end;
end;
end.

You might also like