I · Web viewI. MENGENAL DELPHI Delphi adalah sebuah Visual Interface antara pemakai (user) dan...
Transcript of I · Web viewI. MENGENAL DELPHI Delphi adalah sebuah Visual Interface antara pemakai (user) dan...
PENDAHULUAN
I. MENGENAL DELPHI
Delphi adalah sebuah Visual Interface antara pemakai (user) dan komputer.
Delphi merupakan Pemograman berorientasi objek atau Object Oriented
Programming (OOP). Pada umumnya pembuatan program yang memiliki OOP
terdapat 2 tahapan yaitu : tahapan desain yang biasanya berhubungan dengan
manipulasi form editor dan tahap pembuatan code atau sintaks program.
From
Inti dari setiap aplikasi delphi adalah form. Form dapat dianggap sebagai
sebuah window. Informasi mengenai form di simpan didalam dua file yaitu :
file .DFM dan file .PAS. File .DFM berisis informasi mengenai tampilan form,
ukuran, lokasi dan lain-lain. File .PAS atau unit untuk mengontrol form, setiap kali
menambah even handler atau menambah perintah, file ini akan diubah.
Properties
Sebuah objek di akses melalui propertinya. Property dari object delphi
mempunyai nilai yang dapat diubah pada saat desain tanpa perlu menuliskan program.
Semua form dan semua komponen (visual component) mempunyai properties. Form
mempunyai ukuran (tinggi dan lebar), warna background, batas dan juga nama.
Penampilan objek-objek tersebut dengan memanipulasi atribut atau propertinya.
II. LINGKUNGAN DELPHI
IDE (Integrated Development Environment) dari Delphi adalah sebuah
lingkungan dimana semua tools yang diperlukan untuk desain, menjalankan data dan
mengetes sebuah aplikasi sehingga memudahkan pengembang program. Secara garis
besar IDE terdiri dari : Window Utama (Main Window), Toolbar, Component Pallete,
Object Inspector, Form Editor, Code Editor, Code Explorer.
ToolbarComponent Palette
Gambar IDE dari Delphi
Keterangan :
1. Main Window (Jendela Utama) adalah : bagian utama dari IDE. Main
window terdiri dari : menu utama, toolbar dan component pallete.
2. Object Inspector, terdiri dari 2 tab yaitu :
Tab Properties di gunakan untuk melihat dan mengubah property dari
setiap item.
Tab Events berisi evebt-event yang dapat direspon oleh sebuah objek.
3. Editor, terdiri dari: form editor (designer) dan code editor.
Form Editor : digunakan untuk merancang aplikasi window. Untuk
berinteraksi dengan form designer dengan memilih komponen dari
component pallete dan meletakkanya dengan form. Untuk mengubah
tampilan dan prilaku komponen dengan menggunakan object inspector dan
code editor.
Main Window
Form Editor
Code Editor
Object Inspector
Code Explorer
Code Editor digunakan untuk menuliskan program-program delphi.
4. Code Explorer di pakai untuk memudahkan navigasi didalam file unit. Code
explorer berisi type, class, property, method, variabel global dan rutin global
yang didefinisikan didalam unit.
III. FILE- FILE YANG DIBENTUK OLEH DELPHI
Delphi memiliki 2 bagian utama yaitu : bagian primer yang berupa file
program yang mengkoordinasi keseluruh program yang berektensi .DPR dan
bagian sekunder yang melaksanakan tugas-tugas tertentu yang disebut unit dengan
file berektensi .PAS.
File-file yang terbentuk pada saat perancangan, pembuatan dan eksekusi program
delphi diantaranya : *.PAS, *.DPR, *.DFM, *.OPR, *.RES, *~*, *.DCU.
IV. DASAR – DASAR PEMOGRAMAN DELPHI
A. Konstanta dan Variabel
Nilai konstanta tidak dapat diubah pada saat program dieksekusi sedangkan
variabel isinya dapat diubah – ubah pada saat program dijalankan.
Variabel terdiri dari 2 yaitu : variabel Global dan variabel Lokal.
Variabel Global dipakai di seluruh program, di program utama atau didalam
procedure.
Variabel Lokal hanya dapat digunakan di tempat pendefinisiannya. Jika variabel
ini didefinisikan di dalam procedure maka hanya prosedur tersebut yang
menggenalnya.
B. Tipe Data
Tipe Data sangat penting dalam pemograman, karena jika tipe data tidak
sesuai akan terjadi kesalahan pada program. Tipe data mempunyai jangkauan
tertentu. Semakin besar jangkauan akan semakin besar tempat penyimpanan
(Memori). Macam –macam tipe data :
1. Tipe Integer
Tipe data integer dipakai untuk menyatakan bilangan yang tidak mempunyai
desimal.
Tipe-tipe bilangan integer beserta jangkauan dan memori yang diperlukan.
Type Jangkauan Memori (byte)
Byte 0 s.d 255 1
Word 0 s.d 65535 2
ShortInt -128 s.d 127 1
SmallInt -32768 s.d 32767 2
Integer -2147483648 s.d 2147483647 4
Cardinal 0 s.d 2147483647 4
LongInt -2147483647 s.d 2147483647 4
2. Tipe Real
Tipe data real digunakan untuk menyimpan bilangan yang mempunyai desimal.
3. Tipe Currency
Tipe Currency digunakan untuk menyatakan nilai besarnya uang. Tipe Currency
mempunyai ketelitian yang lebih tinggi dalam menangani bilangan yang besar.
4. Tipe Boolean
Tipe Boolean digunakan untuk menyatakan nilai logik. Variabel ini berisi true
atau false.
5. Tipe String
String adalah sederetan karakter yang membentuk kesatuan. String dapat dipakai
untuk menyimpan data nama, alamat dan lain-lain.
C. Operator
Operator Simbol
Operator Aritmatika +, - , * , / , Div (Pembagian Bulat), Mod ( Sisa
Pembagian ).
Operator Logika NOT, AND, OR, XOR
Operator Relasional = , <> , < , > , < =, >=
D. Prosedure dan Function
Prosedure adalah bagian program yang melaksanakan tugas tertentu pada saat
dipanggil. Function sama dengan variabel hanya function menghasilkan sebuah
nilai. Variabel global dan lokal dapat dipakai di dalam function.
E. Prosedur Increment dan Decrement
Procedure Increment dan Descrement menghasilkan program yang sudah
optimasi untuk proses penambahan dan pengurangan pada variabel integer.
Sintax :
Inc ( Variabel ) sama dengan Variabel := Variabel + 1
Des ( Variabel ) sama dengan Variabel := Variabel -1
F. Komentar
Komentar dipakai untuk memberikan penjelasan dalam program. Teks di
dalam komentar tidak diproses oleh kompiler. Simbol yang digunakan :
{ }, (* *), //
MODUL I
INPUT DAN OUTPUT
Program Menghitung Umur
1. Buat Aplikasi Baru dan letakkan komponen seperti berikut :
2. Ubah Properties pada Object Inspector
Komponen Properti Nilai
Form1 Caption Menghitung Umur
Label1 Caption Program Menghitung Umur
Label2 Caption Nama Awal
Label3 Caption Nama Belakang
Label4 Caption Tahun Lahir
Label5 Caption Tahun Sekarang
Label6 CaptionName
< Kosongkan >LNama
Label7 CaptionName
< Kosongkan >LUmur
Edit1 NameText
Eawal< Kosongkan >
Edit2 NameText
Eakhir< Kosongkan >
Edit3 NameText
Elahir< Kosongkan >
Edit4 NameText
Esekarang< Kosongkan >
BitBtn1BitBtn2BitBtn3
KindKindKind
OKCancelClose
3. Buat Kode Program
Klik Ganda Tombol Ok dan Isi kode berikut
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
LNama.caption:='Nama :'+EAwal.text+''+Eakhir.Text;
Lumur.Caption:='Umur:'+inttostr(strtoint(Esekarang.Text)-
strtoint(Elahir.Text));
end;
Klik Ganda Tombol Clear dan isikan kode berikutprocedure TForm1.BitBtn2Click(Sender: TObject);
begin
Eawal.Text:='';
Eakhir.Text:='';
Elahir.Text:='';
Esekarang.Text:='';
LNama.Caption:='' ;
LUmur.caption:='';
end;
Klik Ganda Tombol Close dan Isikan kode berikutprocedure TForm1.BitBtn3Click(Sender: TObject);
begin
close
end;
Keterangan :
Fungsi IntToStr adalah fungsi untuk mengkonversi nilai integer menjadi nilai string.
Fungsi StrToInt adalah fungsi untuk mengkonversi nilai string menjadi nilai integer.
LATIHAN1
1. Buat Program kalkulator dengan operasi : penjumlahan, pengurangan, perkalian,
pembagian, pangkat. ( Buat Folder Latihan1, Nama File : U11.Pas dan P11.Pas ).
2. Buat program mencari luas bangunan dengan inputan panajang, lebar dan jari-jari.
Output luas Kubus, Persegi panjang dan lingkaran.
(Folder Latihan1, Nama File : U12.Pas dan P12.Pas).
MODUL 2
SELEKSI KONDISI
Seleksi kondisi terdiri dari :
1. Case...of
Perintah Case umumnya digunakan untuk kondisi yang banyak percabangan. Syarat
percabangan hanya melibatkan satu buah parameter dengan tipe data bukan Real.
Sintax :
2. If
Pada prinsipnya pemilihan aksi dapat dikelompokkan menjadi 3 bagian :
2.1 If... Then : Pemilihan 1 Kasus
Sintax :
2.2 If... Then...Else : Pemilihan 2 Kasus
Sintax :
2.3 If... Then...Else : Pemilihan N kasus
Sintax :
Case < Parameter > Of < Nilai_1 > : < Aksi_1> < Nilai_2 > : < Aksi_2> . . . < Nilai_n > : < Aksi_n>;Else <Aksi_n+1> ;End;
If < Kondisi > ThenBegin ... { aksi-1 }End;
If < kondisi > thenBegin ... { aksi-1 }EndElseBegin ... { aksi-2 }End;
If < kondisi 1 > then Begin ... { aksi-1 } EndElseIf < kondisi 1 > then Begin ... { aksi-2 } EndElse Begin ... { aksi-3 } End;
Program Seleksi Menu makanan
1. Buat Aplikasi Baru dan tempatkan komponen – komponen seperti berikut :
2. Ubah Properties
Komponen Properti NilaiForm1 Caption Menu MakananLabel1 Caption Menu pilihanLabel2 Caption Harga Per PorsiLabel3 Caption Jumlah PorsiLabel4 Caption BayarCombobox1 Text < Kosongkan >Edit1Edit2Edit3
Text < Kosongkan >< Kosongkan >< Kosongkan >
Button1 Caption HitungButton2 Caption Close
3. Buat Kode Program
Isi items properti combobox1 dengan nama –nama : Nasi kuning, Soto Bandung,
Sup Buntut, Lomie.
Klik combobox pada object inspector, pilih event dan klik ganda sebelah kanan
OnClick, kemudian tulis kode program :
Klik Ganda Tombol Hitungprocedure TForm1.Button2Click(Sender: TObject);
Var banyak, bayar : real;
Begin
banyak:=strtoint(edit2.text);
bayar:=banyak*(strtoint(edit1.text));
edit3.text:=floattostr(bayar);
end;
Klik Ganda tombol Closeprocedure TForm1.Button1Click(Sender: TObject);
begin
close
end;
LATIHAN2
1. Buat Program Menghitung Gaji Karyawan Dengan Inputan Nama, Golongan,
Jabatan, Status dan output program adalah Tunjangan, pajak dan gaji bersih.
Dengan ketentuan sebagai berikut :
Gol Gaji Pokok
I Rp 1000000
II Rp 1500000
III Rp 2000000
IV Rp 2500000
V Rp 3000000
Jabatan Tunjangan Pajak
KaBag 15% 5%
Operasional 10% 4%
Administrasi 7% 3%
Karyawan Biasa 5 % 2%
Status Tunjangan
Belum Menikah -
Menikah 3%
Janda/Duda 1.5 %
( Buat Folder Latihan2, Nama File : U21.Pas dan P21.Pas)
2. Buat Program menginput biodata nama,tahun sekarang, tahun lahir, alamat,no
tlp, pekerjaan dan status. Status ( belum menikah, menikah, janda/duda)
dipilih dengan menggunakan radiobuttun. output program biodata dan
menghitung umur. Tampilan hasilnya pada form berbeda.
(Nama File : U22.Pas dan P22.Pas)
3. Buat Program cek password. Dengan inpputanya : nama, password , confirm
password. Jika password sama maka program akan keluar, jika tidak maka ada
pesan kesalahan (gunakan show message).
(Nama File : U23.Pas dan P23.Pas)
MODUL III
PENGULANGAN
Ada 3 macam bentuk perulangan dalam Delphi yaitu :
1. For ..To.. Do
Sintax :
Atau
Perbedaan To dan Downto adalah pada kondisi nilai awal dan nilai akhir.
Pada To nilai awal lebih kecil dari nilai akhir sedangkan Downto nilai awal lebih
besar dari nilai akhir.
2. While ... Do
Sintax :
Selama kondisi pengulangan bernilai true maka aksi akan dilakukan, dan baru
akan berhenti setelah kondisi pengulangan bernilai false. Kondisi perulangan di
periksa pada bagian awal.
3. Repeat ... Until
Sintax :
Berlawanan dengan While, yang akan memproses aksi hanya bila kondisi
bernilai true, pada perulangan Repeat, sistem akan memproses aksi selama kondisi
berhenti bernilai false. Bila kondisi berhenti tidak pernah bernilai true maka
perulangan dapat terjadi terus menerus.
For < Variabel > := < nilai_awal > to <nilai_akhir > doBegin ... { aksi }End ;
While < kondisi > doBegin
... { aksi }End;
For < Variabel > := < nilai_awal > downto <nilai_akhir > doBegin ... { aksi }End ;
Repeat ... { aksi }Until < kondisi >
Program Perulangan
1. Buat Aplikasi Baru, dan tampilan sebagai berikut
2. Ubah Properties dari Object Inspector
Komponen Properti Nilai
Form1 Caption Perulangan
Label1 Caption Perulangan
Label2 Caption Hasil
Button1 Caption For
Button2 Caption Repeat
Button3 Caption While
Button4 Caption Close
Edit1 & Edit2 Text < Kosongkan >
3. Buat Kode Program
Klik Ganda Button For
procedure TForm1.Button1Click(Sender: TObject);
var k,j: integer;
begin
j:=strtoint(edit2.text);
for k:= 1 to j do
edit1.Text:='Hasil for = '+inttostr(k);
end;
Klik Ganda Button Repeatprocedure TForm1.Button2Click(Sender: TObject);
var i,y: integer;
begin
i:=0;
repeat
y:=strtoint(edit2.text);
inc(i);
edit1.Text:='Hasil Repeat =' +inttostr(i);
until i=y;
end;
Klik Ganda Button Whileprocedure TForm1.Button3Click(Sender: TObject);
var n,m: integer;
begin
n:=0;
m:=strtoint(edit2.text);
while n < m do
begin
inc(n);
edit1.text:='Hasil While =' + inttostr(n);
end;
end;
LATIHAN 3
1. Buat Program dengan output bilangan ganjil
( Buat Folder Latihan3, Nama File U31 dan P31 )
2. Buat Program perulangan bilangan bulat positif dengan output dari atas ke
bawah.
( Buat Folder Latihan3, Nama File U31 dan P31 )
MODUL IV
ARRAY
Program Input nama dengan Array
1. Buat Aplikasi, dengan tampilan sebagai berikut
2. Ubah Properti dari object inspector
Komponen Properti Nilai
Form1 Caption Array
Label1 Caption Data Nama Peserta
Label2 Caption Jumlah Data
Button1 Caption Input
Button2 Caption Clear
Button3 Caption Close
Edit1 Text < Kosongkan >
Listbox1 Name LBData
3. Buat kode Program
Klik Ganda Button InputProcedure tform1.Button1Click(Sender: tobject);
Var i: integer;
Nama1,nama2 :array[1..5] of string;
S: string;
Begin
s:= inputbox('input data','masukkan jumlah data :','0');
For i:= 1 to strtoint(s) do
Begin
nama1[i]:=inputbox('data ke:'+inttostr(i),'nama awal','');
nama2[i]:=inputbox('datake:'+inttostr(i),'namabelakang','');
Lbdata.ITEMS.ADD(NAMA1[I]+ ' ' +NAMA2[I]);
EDIT1.Text:=INTTOSTR(LISTBOX1.Items.COUNT);
END;
End;
Klik Ganda Button Clear Procedure tform1.Button2Click(Sender: tobject);
Begin
LISTBOX1.Clear;
EDIT1.Text:='';
End;
Klik Ganda Button Close Procedure tform1.Button3Click(Sender: tobject);
Begin
CLOSE;
End;
MODUL V
PEMOGRAMAN DATABASE
Mengakses Tabel
Langkah – Langkah :
1. Buat sebuah database di Access.
2. Buat sebuah aplikasi di Delphi. Letakkan komponen Table (Dari tab
BDE), Data Source (Dari Tab Data Access), DBGrid, DBNavigator dan
DBEdit (Dari Tab Data Controls).
3. Ubah Properties dari object Inspector
Komponen Property Nilai
Table1 Database
TableName
Active
Pilih direktori database access
Nama Tabel
True
DataSource1 DataSet Tabel1
DBGrid1 DataSource Datasource1
DBEdit DataSource
DataField
Datasource1
Judul
DBNavigator DataSource
ShowHint
Datasource1
True
Label1 Caption Bedah Buku
Label2 Caption Kode Buku
Edit1 Text < Kosongkan >
Button1 Caption Cari
4. Buat Kode Program
Klik Table1, pilih Event pada Object Inspector, Klik Ganda disebelah
kanan OnFilterRecord. Tulis program sebagai berikut :procedure TForm1.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
accept:=table1.fieldbyname('kode buku').asstring =
edit1.text;
end;
Klik Ganda Tombol Cariprocedure TForm1.Button1Click(Sender: TObject);
begin
table1.next;
end;
MODUL VI
PEMOGRAMAN GRAPHIS
Program aplikasi pengolahan citra
Kode Program
Klik Ganda Tombol OKprocedure TForm1.BitBtn1Click(Sender: TObject);
var
f: file of byte;
gbr: array[1..300,1..300] of byte;
baru:array[1..300,1..300] of byte;
i,j : integer;
begin
assignfile(f,'bottle.raw');
reset(f);
for i:=1 to 256 do
for j:=1 to 256 do
begin
read(f,gbr[j,i]);
paintbox1.Canvas.pixels[j,i]:=tcolor(rgb(gbr[j,i],gbr[
j,i],gbr[j,i]));
end;
closefile(f);
bitbtn1.enabled:=false;
end;
Klik Ganda Tombol Closeprocedure TForm1.BitBtn3Click(Sender: TObject);
begin
close;
end;
Klik Ganda Tombol Negative Imageprocedure TForm1.BitBtn2Click(Sender: TObject);
var
f:file of byte;
gbr:array[1..300,1..300]of byte;
baru: array[1..300,1..300]of byte;
i,j:integer;
begin
assignfile(f,'bottle.raw');
reset(f);
for i:=1 to 256 do
for j:=1 to 256 do
begin
read(f,gbr[j,i]);
baru[j,i]:=255-gbr[j,i];
if baru[j,i] <0 then
baru[j,i]:=0
else if baru[j,i] > 255 then
baru[j,i]:=255;
paintbox2.canvas.pixels[j,i]:=tcolor(rgb(baru[j,i],bar
u[j,i],baru[j,i]));
end ;
closefile(f);
end;
Klik Ganda Tombol Tresholdingprocedure TForm1.BitBtn4Click(Sender: TObject);
var
f:file of byte;
gbr:array[1..300,1..300]of byte;
baru: array[1..300,1..300]of byte;
baru1: array[1..300,1..300]of byte;
i,j:integer;
begin
assignfile(f,'bottle.raw');
reset(f);
for i:=1 to 256 do
for j:=1 to 256 do
begin
read(f,gbr[j,i]);
if gbr[j,i]< strtoint(edit1.text) then
baru1[j,i]:=0
else if gbr[j,i] > strtoint(edit1.text) then
baru1[j,i]:=255;
paintbox2.canvas.pixels[j,i]:=tcolor(rgb(bar
u1[j,i],baru1[j,i],baru1[j,i]));
end ;
closefile(f);
end;
Klik Ganda Tombol Multi Tresholdingprocedure TForm1.BitBtn5Click(Sender: TObject);
var
f:file of byte;
gbr:array[1..300,1..300]of byte;
baru: array[1..300,1..300]of byte;
baru1: array[1..300,1..300]of byte;
i,j:integer;
begin
assignfile(f,'bottle.raw');
reset(f);
for i:=1 to 256 do
for j:=1 to 256 do
begin
read(f,gbr[j,i]);
if gbr[j,i]< strtoint(edit1.text) then
baru1[j,i]:=0
else if (gbr[j,i] >=
strtoint(edit1.text))and (gbr[j,i] <=
strtoint(edit2.text)) then
baru[j,i]:=(strtoint (edit1.text)
+strtoint(edit2.text))div 2
else if gbr[j,i]>strtoint(edit2.text)then
baru1[j,i]:=255;
paintbox2.canvas.pixels[j,i]:=tcolor(rgb(baru1[j,i],ba
ru1[j,i],baru1[j,i]));
end ;
closefile(f);
end;