Pemrograman Delphi 7
-
Upload
muhammad-sultoni -
Category
Documents
-
view
249 -
download
7
description
Transcript of 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 :
Edit 2
Button
Edit 1
RadioGroup
StaticText1
2. Ubahlah Properties dalam Object Inspector seperti pada tabel dibawah ini :
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;
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.
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
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
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
&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
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
Kosong:=False; exit;
end;end;
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;
StCetak: TStaticText; StOperasi: TStaticText; StaticText11: TStaticText; procedure Bt1Click(Sender: TObject); procedure Bt0Click(Sender: TObject);
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;
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;
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
edinput.Text:='7'; NoBaru:=False;
end else
edinput.Text:=Edinput.Text+'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);
var aKw:Real; begin
CekInput; if kosong=true then
exit
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
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;
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;
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;
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.