Pemrograman Delphi 7

29
Praktikum 2A Pemrograman Delphi 7 MEMBUAT PROGRAM MATEMATIKA Dalam membuat program perhitungan menggunakan delphi, tidaklah semudah membuat program menggunakan bahasa pemrograman visual lain. Karena semua data yang ada dalam form atau yang terlihat oleh user dianggap sebagai string oleh Delphi. Data ini termasuk data angka, tanggal dan jam. Oleh karena itu jika ingin membuat program matematika dengan delphi, semua data yang akan kita masukan kedalam rumus matematika, terlebih dahulu harus dikonversi kedalam bentuk Angka. Dan sebaliknya jika kita ingin mencetak hasil perhitungan kedalam form , terlebih dahulu angka hasil proses perhitungan harus dikonversi terlebih dahulu kedalam bentuk String. Tabel konversi data dalam Delphi BENTUK KETERANGAN KONVERSI StrToInt( ) Mengubah Data dari tipe String menjadi Integer IntToStr( ) Mengubah Data dari tipe Integer menjadi String StrToFloat( ) Mengubah Data dari tipe String menjadi Real/Extended FloatToStr( ) Mengubah Data dari tipe Real/Extended menjadi String StrToCurr( ) Mengubah Data dari tipe String menjadi Currancy CurrToStr( ) Mengubah Data dari tipe Currency menjadi String StrToDate( ) Mengubah Data dari tipe String menjadi Tanggal DateToStr( ) Mengubah Data dari tipe Tanggal menjadi String TimeToStr( ) Mengubah Data dari tipe Jam menjadi String StrToTime( ) Mengubah Data dari tipe String menjadi Jam Membuat Program Matematika Sederhana 1. Buatlah Desain Form menggunakan objek-objek yang ada pada Componen Pallete, seperti dibawah ini :

description

cara-cara mudah dan cepat untuk membuat kalkutaro dengan menggunakan delphi

Transcript of Pemrograman Delphi 7

Page 1: Pemrograman Delphi 7

Praktikum 2A Pemrograman Delphi 7

MEMBUAT PROGRAM MATEMATIKA

Dalam membuat program perhitungan menggunakan delphi, tidaklah semudah membuat program menggunakan bahasa pemrograman visual lain. Karena semua data yang ada dalam form atau yang terlihat oleh user dianggap sebagai string oleh Delphi. Data ini termasuk data angka, tanggal dan jam. Oleh karena itu jika ingin membuat program matematika dengan delphi, semua data yang akan kita masukan kedalam rumus matematika, terlebih dahulu harus dikonversi kedalam bentuk Angka. Dan sebaliknya jika kita ingin mencetak hasil perhitungan kedalam form , terlebih dahulu angka hasil proses perhitungan harus dikonversi terlebih dahulu kedalam bentuk String.

Tabel konversi data dalam Delphi BENTUK KETERANGAN

KONVERSIStrToInt( ) Mengubah Data dari tipe String menjadi IntegerIntToStr( ) Mengubah Data dari tipe Integer menjadi StringStrToFloat( ) Mengubah Data dari tipe String menjadi Real/ExtendedFloatToStr( ) Mengubah Data dari tipe Real/Extended menjadi StringStrToCurr( ) Mengubah Data dari tipe String menjadi CurrancyCurrToStr( ) Mengubah Data dari tipe Currency menjadi StringStrToDate( ) Mengubah Data dari tipe String menjadi TanggalDateToStr( ) Mengubah Data dari tipe Tanggal menjadi StringTimeToStr( ) Mengubah Data dari tipe Jam menjadi StringStrToTime( ) Mengubah Data dari tipe String menjadi Jam

Membuat Program Matematika Sederhana

1. Buatlah Desain Form menggunakan objek-objek yang ada pada Componen Pallete, seperti dibawah ini :

Page 2: Pemrograman Delphi 7

Edit 2

Button

Edit 1

RadioGroup

StaticText1

Page 3: Pemrograman Delphi 7

2. Ubahlah Properties dalam Object Inspector seperti pada tabel dibawah ini :

Page 4: Pemrograman Delphi 7

Praktikum 2A Pemrograman Delphi 7

Tab

Standard

Component PalleteNama Object

Edit1Edit2

Button1

Button2

RadioGroup

Object InspectorProperties Keterangan

Name EdBilAName EdBilBName BtHitungCaption &HitungName BtBatalCaption &BatalName RgOperasi

PerkalianPembagian

Additional StaticText

Items

NameBorderStyleAutoSize

PenjumlahanPengurangan StHasilsbsSunken False

3. Double Klick Tombol Hitung dan Tmbahkan Kode Program sbb:

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;

4. Double Klick Tombol Batal, kemudian tambahkan Kode Program sbb :

procedure TForm1.BtBatalClick(Sender: TObject); begin

EdBilA.Text := ''; EdBilB.Text := ''; StHasil.Caption := ''; EdBilA.SetFocus;

end;

Page 5: Pemrograman Delphi 7

5. Tambahkan kode program pada Form dengan cara mengklik form pada bagian yang kosong. Pada Object Inspector klik Event, pada bagian onActive pilih procedure BtBatalClick.

Page 6: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

Membuat Program Kalkulator

Sebelumnya ubahlah format angka dari Regional setting di komputer menjadi format Indonesia.

1. Buatlah Desain Form menggunakan objek-objek yang ada pada Componen Pallete, seperti dibawah ini :

2.

StaticText1 StaticText2

Edit1

Button

Ubahlah Properties dalam Object Inspector seperti pada tabel dibawah ini :

Component Pallete Object InspectorTab Nama Object Properties Keterangan

Name EdInput

Standard

Edit1

Button1

Button2

Button3

Button4

Button5

Button6

Button7

Button8

Button9

Button10

Button11

Page 7: Pemrograman Delphi 7

Text (Kosongkan)Name BtSinCaption SinName BtCosCaption CosName BtTanCaption TanName BtX2Caption X^2Name BtAkarCaption 2VxName BtPangkatCaption X^YName BtExpCaption ExpName BtLnCaption LnName Bt1perXCaption 1/XName BtFaktorialCaption N!Name BtBaru

Page 8: Pemrograman Delphi 7

Praktikum 2B

Button12

Button13

Button14

Button15

Button16

Button17

Button18

Button19

Button20

Button21

Button22

Button23

Button24

Button25

Button26

Button27

Button28

Button29

Button30

Pemrograman Delphi 7

CaptionNameCaptionNameCaptionNameCaptionNameCap

tionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionNameCaptionAlignmentAutoSize

Page 9: Pemrograman Delphi 7

&BaruBtKeluar&KeluarBtKali*BtTambah+

BtBagi/BtKurang-BtPersen%BtHasil=BtBulat+/-

BtTitik

Bt00Bt11Bt22Bt33Bt44

Bt55Bt66Bt77Bt88Bt99taCenterFalse

StaticText1

Additional

StaticText2

BevelKind bkTileBevelOuter bvSpaceCaption (Kosongkan)BorderStyle sbsSunkenName stOperasiAutoSize FalseCaption (Kosongkan)Name stCetakBorderStyle sbsSunken

Page 10: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

3. Tambahkan unit math, dalam pendeklarasian uses pada bagian interface dalam unit. Ini dimaksudkan

karena kita akan menggunakan operasi-operasi matematika seperti : Sin, Cos, Tan, dll.

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

4. Deklarasikan beberapa variabel global, seperti di bawah ini :

varForm1 : TForm1;Hasil : Real; //untuk menampung hasil prosesKosong : Boolean; //untuk pengecekan input dataNoBaru : Boolean; //untuk mengecek hasil proses baruI,N : Integer; //untuk Variabel indek dalam program

5. Deklarasikan Procedure secara manual, seperti dibawah ini :

procedure BtCosClick(Sender: TObject); procedure BtTanClick(Sender: TObject); procedure AktifkanTombol; procedure CekInput; procedure BtExpClick(Sender: TObject); procedure BtLnClick(Sender: TObject);

6. Buat Procedure diatas dalam bagian Implementation :

implementation {$R *.dfm}

Procedure TForm1.AktifkanTombol; Begin

btpangkat.Enabled:=True; BtTitik.Enabled:=True;

end;

Procedure TForm1.CekInput; Begin

AktifkanTombol; if length(trim(edinput.Text))=0 then

Begin application.MessageBox('Masukan angka dulu...','Cek Input',

MB_IconStop); edInput.SetFocus; Kosong:=True;

end else

Begin

Page 11: Pemrograman Delphi 7

Kosong:=False; exit;

end;end;

Page 12: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

7. Buat Kode Program untuk setiap Button, sehingga source program lengkapnya seperti di bawah ini :

unit Ukalkulator2;

interface

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

math, Mask;

type TForm1 = class(TForm)

Bt0: TButton; Bt1: TButton; Bt2: TButton; Bt3: TButton; Bt4: TButton; Bt5: TButton; Bt6: TButton; Bt7: TButton; Bt8: TButton; Bt9: TButton; BtTitik: TButton; Button12: TButton; StaticText1: TStaticText; StaticText2: TStaticText; BtBaru: TButton; BtKeluar: TButton; BtKali: TButton; BtBagi: TButton; BtTambah: TButton; BtKurang: TButton; BtBulat: TButton; BtHasil: TButton; StaticText3: TStaticText; BtSin: TButton; BtCos: TButton; BtTan: TButton; BtX2: TButton; BtAkar: TButton; BtPangkat: TButton; StaticText4: TStaticText; BtExp: TButton; BtLn: TButton; Bt1perX: TButton; BtFaktorial: TButton; StaticText5: TStaticText; Edinput: TEdit; StaticText6: TStaticText;

Page 13: Pemrograman Delphi 7

StCetak: TStaticText; StOperasi: TStaticText; StaticText11: TStaticText; procedure Bt1Click(Sender: TObject); procedure Bt0Click(Sender: TObject);

Page 14: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

procedure Bt2Click(Sender: TObject);procedure Bt3Click(Sender: TObject);procedure Bt4Click(Sender: TObject);procedure Bt5Click(Sender: TObject);procedure Bt6Click(Sender: TObject);procedure Bt7Click(Sender: TObject);procedure Bt8Click(Sender: TObject);procedure Bt9Click(Sender: TObject);procedure BtBaruClick(Sender: TObject);procedure BtX2Click(Sender: TObject);procedure BtAkarClick(Sender: TObject);procedure BtKeluarClick(Sender: TObject);procedure BtPangkatClick(Sender: TObject);procedure BtHasilClick(Sender: TObject);procedure BtSinClick(Sender: TObject);procedure BtCosClick(Sender: TObject);procedure BtTanClick(Sender: TObject);Procedure AktifkanTombol;procedure CekInput;procedure BtExpClick(Sender: TObject);procedure BtLnClick(Sender: TObject);procedure Bt1perXClick(Sender: TObject);procedure BtFaktorialClick(Sender: TObject);procedure BtKaliClick(Sender: TObject);procedure BtTambahClick(Sender: TObject);procedure BtBulatClick(Sender: TObject);procedure BtTitikClick(Sender: TObject);procedure BtKurangClick(Sender: TObject);procedure BtBagiClick(Sender: TObject);procedure Button12Click(Sender: TObject);

private{ Private declarations }

public{ Public declarations }

end;var

Form1 : TForm1;Hasil : Real;Kosong : Boolean;NoBaru : Boolean;I,N:Integer;

implementation{$R *.dfm}

Procedure TForm1.AktifkanTombol;Begin

btpangkat.Enabled:=True;BtTitik.Enabled:=True;

end;

Page 15: Pemrograman Delphi 7
Page 16: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

Procedure TForm1.CekInput; Begin

AktifkanTombol; if length(trim(edinput.Text))=0 then

Begin application.MessageBox('Masukan angka dulu...','Cek

Input',MB_IconStop); edInput.SetFocus; Kosong:=True;

end else

Begin Kosong:=False; exit;

end;end;

procedure TForm1.Bt1Click(Sender: TObject); begin

if NoBaru=True Then begin

edinput.Text:='1'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'1';end;

procedure TForm1.Bt0Click(Sender: TObject); begin

if NoBaru=True Then begin

edinput.Text:='0'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'0';end;

procedure TForm1.Bt2Click(Sender: TObject); begin

if NoBaru=True Then begin

edinput.Text:='2'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'2';end;

Page 17: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

procedure TForm1.Bt3Click(Sender: TObject); begin

if NoBaru=True Then begin

edinput.Text:='3'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'3';end;

procedure TForm1.Bt4Click(Sender: TObject); begin

if NoBaru=True Then begin

edinput.Text:='4'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'4';end;

procedure TForm1.Bt5Click(Sender: TObject); begin

if NoBaru=True Then begin

edinput.Text:='5'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'5';end;

procedure TForm1.Bt6Click(Sender: TObject); begin

if NoBaru=True Then begin

edinput.Text:='6'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'6';end;

procedure TForm1.Bt7Click(Sender: TObject); begin

if NoBaru=True Then begin

Page 18: Pemrograman Delphi 7

edinput.Text:='7'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'7';

Page 19: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

end;

procedure TForm1.Bt8Click(Sender: TObject); begin

if NoBaru=True Then begin

edinput.Text:='8'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'8';end;

procedure TForm1.Bt9Click(Sender: TObject); begin

if NoBaru=True Then begin

edinput.Text:='9'; NoBaru:=False;

end else

edinput.Text:=Edinput.Text+'9';end;

procedure TForm1.BtBaruClick(Sender: TObject); begin

NoBaru:=False; aktifkanTombol; StOperasi.Caption:=''; edinput.Text:=''; stcetak.Caption:=''; edinput.SetFocus;

end;

procedure TForm1.BtX2Click(Sender: TObject); var Kw:Real; begin

CekInput; if kosong=true then

exit else

begin kw:=strToFloat(edinput.Text); edinput.Text:=FloatToStr(sqr(kw));

end; end;

procedure TForm1.BtAkarClick(Sender: TObject);

Page 20: Pemrograman Delphi 7

var aKw:Real; begin

CekInput; if kosong=true then

exit

Page 21: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

elsebegin

akw:=strToFloat(edinput.Text);edinput.Text:=FloatToStr(sqrt(aKw));

end;end;

procedure TForm1.BtKeluarClick(Sender: TObject);begin

halt;end;

procedure TForm1.BtPangkatClick(Sender: TObject);begin

CekInput;if kosong=true then

exitelse

beginstcetak.Caption:=edinput.Text;stOperasi.Caption:='x^y';edinput.Text:='';edinput.SetFocus;btpangkat.Enabled:=False;BtTitik.Enabled:=False;

end;end;

procedure TForm1.BtHasilClick(Sender: TObject);var x:integer;

Bil1,Bil2:Real;beginCekInput;if kosong=true then

exitelse

beginif length(trim(stCetak.Caption))=0 then exit;bil1:=strToFloat(stCetak.Caption);bil2:=strToFloat(EdInput.Text);if StOperasi.Caption='x^y' then

Beginhasil:=1;for x:=1 to strToInt(EdInput.Text) do

beginHasil:=Hasil*Bil1;

End;End

else if StOperasi.Caption='*' Then

Hasil:=bil1*bil2

else if StOperasi.Caption='/' Then

Hasil:=bil1/bil2

else if StOperasi.Caption='+' Then

Page 22: Pemrograman Delphi 7
Page 23: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

Hasil:=bil1+bil2 else if StOperasi.Caption='-' Then

Hasil:=bil1-bil2 else

exit; aktifkanTombol; StCetak.Caption:=FloatToStr(Bil2); EdInput.Text:=FloatToStr(Hasil); NoBaru:=True;

end; end;

procedure TForm1.BtSinClick(Sender: TObject); begin

CekInput; if kosong=true then

exit else

begin Hasil:=StrToFloat(edinput.Text); edinput.Text:=floatToStr(Sin(Hasil));

end; end;

procedure TForm1.BtCosClick(Sender: TObject); begin

CekInput; if kosong=true then

exit else

begin Hasil:=StrToFloat(edinput.Text); edinput.Text:=floatToStr(Cos(Hasil));

end; end;

procedure TForm1.BtTanClick(Sender: TObject); begin

CekInput; if kosong=true then

exit else

begin Hasil:=StrToFloat(edinput.Text); edinput.Text:=floatToStr(Tan(Hasil));

end; end;

Page 24: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

procedure TForm1.BtExpClick(Sender: TObject);begin

CekInput;if kosong=true then

exitelse

beginHasil:=StrToFloat(edinput.Text);edinput.Text:=floatToStr(Exp(Hasil));

end;end;

procedure TForm1.BtLnClick(Sender: TObject);begin

CekInput;if kosong=true then

exitelse

beginHasil:=StrToFloat(edinput.Text);edinput.Text:=floatToStr(Ln(Hasil));

end;end;

procedure TForm1.Bt1perXClick(Sender: TObject);begin

CekInput;if kosong=true then

exitelse

beginHasil:=StrToFloat(edinput.Text);edinput.Text:=floatToStr(1/Hasil);

end;end;

procedure TForm1.BtFaktorialClick(Sender: TObject);var Hfaktorial:Integer;

beginCekInput;if kosong=true then

exitelse

beginhasil:=1;HFaktorial:=StrToInt(edinput.Text);for i:=HFaktorial downto 1 dobegin

hasil:=hasil*i;edinput.Text:=FloatToStr(Hasil);

end;end;

end;

Page 25: Pemrograman Delphi 7
Page 26: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

procedure TForm1.BtKaliClick(Sender: TObject);begin

CekInput;if kosong=true then

exitelse

beginstcetak.Caption:=edinput.Text;stOperasi.Caption:='*';edinput.Text:='';edinput.SetFocus;

end;end;

procedure TForm1.BtTambahClick(Sender: TObject);begin

CekInput;if kosong=true then

exitelse

beginstcetak.Caption:=edinput.Text;stOperasi.Caption:='+';edinput.Text:='';edinput.SetFocus;

end;end;

procedure TForm1.BtBulatClick(Sender: TObject);Var Minus:Real;begin

CekInput;if kosong=true then

exitelse

beginMinus:=StrToFloat(EdInput.Text);EdInput.Text:=FloatToStr(Minus*(0-1));

end;end;

procedure TForm1.BtTitikClick(Sender: TObject);begin

CekInput;if kosong=true then

exitelse

begin

BtTitik.Enabled:=False;EdInput.Text:=EdInput.Text+',';

end;end;

Page 27: Pemrograman Delphi 7
Page 28: Pemrograman Delphi 7
Page 29: Pemrograman Delphi 7

Praktikum 2B Pemrograman Delphi 7

procedure TForm1.BtKurangClick(Sender: TObject);begin

CekInput;if kosong=true then

exitelse

beginstcetak.Caption:=edinput.Text;stOperasi.Caption:='-';edinput.Text:='';edinput.SetFocus;

end;end;

procedure TForm1.BtBagiClick(Sender: TObject);begin

CekInput;if kosong=true then

exitelse

beginstcetak.Caption:=edinput.Text;stOperasi.Caption:='/';edinput.Text:='';edinput.SetFocus;

end;end;

procedure TForm1.Button12Click(Sender: TObject);Var Persen:Real;begin

CekInput;if kosong=true then

exitelse

beginPersen:=StrToFloat(EdInput.Text);EdInput.Text:=FloatToStr(Persen/100);

end;end;

end.