Pemrograman Delphi PDF
Pemrograman Delphi PDF
Disusun Oleh :
Mahmuda
Nim : 080170044
ACEH UTARA
2009
LEMBAR PENGESAHAN
PENGESAHAN LAPORAN PRAKTIKUM
Judul Praktikum
Disusun Oleh
: Mahmuda
Nim
: 080170044
Jurusan / Prodi
: Teknik Informatika
Tanggal Praktikum
Mengetahui,
Asisten Dosen
Ilham Sahputra
Nim : 050170010
Fadlisyah.S.Si
Nip. 132 321 540
KATA PENGANTAR
Puji syukur Alhamdulillah penulis panjatkan kehadirat Allah SWT yang
telah memberikan rahmat dan hidayah-Nya kepada penulis sehingga selesainya
penulisan laporan praktikum ini.
Tulisan yang berjudul Algoritma dan Pemprograman Menggunakan
Delphi 7.0 ini disusun sebagai tugas mata kuliah algoritma dan pemprograman
1. Praktikum ini dilaksanakan di lab biro Unimal lancang garam lantai dua dari
tanggal 19 desember 2008 sampai dengan 18 januari 2009.
Laporan Praktikum ini bertujuan untuk mengetahui cara penggunaan
Delphi 7.0 dalam pembuatan program yang sederhana maupun yang rumit
sekalipun.
Penulis mengucapkan terima kasih yang sebesar-besarnya kepada saudara
Ilham Sahputra sebagai asisten pembimbing praktikum dan kepada Dosen
Pembimbing Praktikum Bapak Fadlisyah.S,Si..
Penulis menyadari masih banyak kekurangn dalam tulisan ini, untuk itu
diharapkan kritik dan saran dari pembaca sekalian. Semoga tulisan ini bermanfaat
terutama bagi penulis sendiri dan bagi pembaca lainnya.
PENULIS
DAFTAR ISI
KATA PENGANTAR... i
DAFTAR ISIii
BAB I PENDAHULUAN.....1
1.1 Latar Belakang...1
1.2 Tujuan Praktikum...1
1.3 Manfaat Praktikum.2
BAB II DASAR TEORI3
2.1 Pengenalan Algoritma....3
2.2 Konsep dasar Algortma..3
2.3 Diagram Alir dan Kode Semu......4-5
2.4 Algorima fundamental.6-8
2.5 Analisis Algoritma dan Kompleksitas Algoritma..9
2.6 Pengenalan Delphi10-12
2.7 Tipe data dalam lingkungan Delphi..13-15
2.8 Operator dalam lingkungan Delphi..16
2.9 Pengoperasian Delphi...16-29
BAB III HASIL PERCOBAAN
3.1 Membuat program kalkulator...30-31
3.2 Membuat program Rumus phtagoras jika a dan b diketahui32-34
3.3 Membuat program Menentukan bilangan genap atau ganjil35-36
3.4 Membuat Program Menentukan Luas persegi panjang37-38
3.5 Membuat Program Menentukan Bil terbesar dari 2 bil....39-40
3.6 Membuat program Urutan Angka dengan for............41
3.7 Membuat program Phytagoras menggunakan radiogroup42-43
3.8 Membuat program Sambutan Awal..44-46
BAB IV ANALLISA HASIL PERCOBAAN..47
BAB V PENUTUP48
5.1 Kesimpulan48
5.2 Saran..48
DAFTAR PUSTAKA...49
ii
BAB I PENDAHULUAN
1.1 Latar Belakang
Di era globalisasi ini, teknologi informasi sangat berpengaruh terhadap
seluruh aspek kehidupan manusia. Sehingga tidak perlu heran ketika masyarakat
mencoba hal-hal yang baru untuk bertambahnya wawasan mereka, seperti :
menjelajahi internet, menguasai Microsoft office serta Membuat programprogram yang sederhana maupun program yang rumit menggunakan bahasa
pemprograman.
Biasanya para programer menggunakan bahasa pemprograman yang mudah
untuk membuat suatu program komputer. Banyak bahasa pemprograman yang ada
saat ini, diantaranya adalah bahasa pascal, C, C++, Visual basic, Delphi dll
Bagi para pemula, biasanya Delphi adalah bahasa yang tepat untuk di pelajari.
Karena Delphi memiliki beberapa keunggulan, diantaranya :
1. IDE (Integrated Development Environment) atau lingkungan
pengembangan aplikasi sendiri adalah satu dari beberapa keunggulan
delphi, didalamnya terdapat menu menu yang memudahkan kita untuk
membuat suatu proyek program.
2. Proses Kompilasi cepat, pada saat aplikasi yang kita buat dijalankan pada
Delphi, maka secara otomatis akan dibaca sebagai sebuah program, tanpa
dijalankan terpisah.
3. Bersifat multipurphase, artinya bahasa pemograman Delphi dapat
digunakan untuk mengembangkan berbagai keperluan pengembangan
aplikasi. Dalam bidang komputer, misalnya EDP (Elektronik Data
Processing) atau MIS
4. Mudah digunakan, source kode delphi yang merupakan turunan dari
pascal, sehingga tidak diperlukan suatu penyesuain lagi.
Singkatnya Delphi ialah suatu bahasa pemrograman yang memberikan
berbagai fasilitas pembuatan aplikasi visual. Keunggulan bahasa pemrograman ini
terletak pada produktivitas, kualitas, software development, kecepatan kompilasi,
pola desain yang menarik serta diperkuat dengan pemprogramannya yang
terstruktur.
1.2 Tujuan Praktikum
Konsep Logika
Matematika
Pseudo Code
Format
Algoritma
Algoritma
Fundamental
Knuth, 1973
Proses
Input dan
output
Prosedur/
Sub routin
Fungsi
Keputusan
Terminal
start dan end
Looping
Puasat data
Hubungan
Operasi manual
Input data
Garis alir
Hubungan
paralel
Aturan-aturan tersebut :
1. Kode semu harus dimulai dengan judul. Aturan ini secara mudah dapat
dimengerti fungsi dan manfaatnya. Judul harus dapat menjelaskan spesifikasi
masalah yang dirancang algoritmanya. Penulisannya dapat dengan huruf kapital
semuanya atau tidak.
2. Kode semu harus ditulis dengan nomor yang menunjukkan urutanurutan langkah-langkah dalam algoritma.
3. Pendeklarasian variabel, konstanta, parameter, rumus dan pernyataan
harus sederhana.
Contoh :
Bandingkan kedua algoritma ini.
Masalah : Mencari akar-akar persamaan non linear dengan metode bagi dua.
A. Kode semu yang dirancang tidak menggunakan aturan.
Penyelesaian:
1. Formulasikan sebuah persaman non linier
2. Cari nilai bawah xb yang menyebabkan nilai fungsif(xb) positif atau negatif,
kemudian cari nilai atas xa yang menyebabkan nilai fungsi f(xa) berlawanan
(positif negatif) dengan nilai bawah.
3. Bandingkan nilai f(xb) dengan f(xa)
4. Jika f(xb).f(xa) > 0 maka ulangi langkah 2
5. Jika f(xb).f(xa) < 0 maka bagi dua interval xb dengan xa. Ulangi langkah 3
6. Jika f(xb).f(xa) = 0 maka iterasi berhenti, akar-akar persamaan x diperoleh.
B. Kode semu yang dirancang menggunakan aturan
Penyelesaian:
Algoritma Bagi Dua
1. Formulasikan masalah f(x)
2. Cari taksiran bawah (xb) dan taksiran atas (xa)
3. Bandingkan dan evaluasi, jika f(xb).f(xa) > 0 maka ulangi langkah 2
4. Jika f(xb).f(xa) < 0 maka bagi dua interval dengan (xb+xa) / 2, kembali
bandingkan dan evaluasi.
5. Jika f(xb).f(xa) = 0 maka iterasi berhenti, akar-akar persamaan x diperoleh
2.4 Algoritma Fundamental
Knuth (1973) menyajikan format algoritma yang dapat digunakan secara
bebas untuk berbagai bahasa pemrograman, artinya dapat dengan mudah
bilangan dalam register maks. Jika bilangan dalam register xi lebih besar
daripada bilangan dalam register maks, pindahkan bilangan dalam register xi ke
register maks; jika tidak jangan lakukan apa-apa.
3. Terakhir, bilangan dalam register maks adalah elemen terbesar di antara n
bilangan.
b. FlowChart (Diagram Alir)
Mulai
x1 = Maks
FOR i = 2 TO n
IF xi > Maks
Maks = xi
NEXT i
Maks
End
tidak
ya
c. Algoritma Fundamental
Algoritma MAKSIMUM
Mencari elemen terbesar di dalam data dengan n bilangan.
1. [Inisialisasi]
Maks x1
2. [Mulai Loop]
I2
3. [Naikkan Pencacah]
II+1
4. [Bandingkan]
IF Maks < xi
THEN Maks xi ELSE GOTO 3
5. [Ulangi Loop]
GOTO 3
6. [Selesai]
Exit
2.5 Analisis Algoritma dan Kompleksitas Algoritma
Seorang programer atau sistem analisis paling tidak harus memiliki dasar
untuk menganalisis algoritma. Analisis algoritma sangat membantu di dalam
meningkatkan efisiensi program. Kecanggihan suatu program bukan dilihat dari
tampilan program, tetapi berdasarkan efisiensi algoritma yang terdapat didalam
program tersebut. Pembuatan program komputer tidak terlepas dari algoritma,
apalagi program yang dibuat sangat kompleks. Program dapat dibuat dengan
mengabaikan algoritma, tetapi jangan heran bila seandainya ada orang lain yang
membuat program seperti program anda tersebut memiliki akses yang lebih cepat
dan memakai memori yang sangat sedikit. Analisis algoritma adalah bahasan
utama dalam ilmu komputer. Dalam menguji suatu algoritma, dibutuhkan
beberapa kriteria untuk mengukur efisiensi algoritma. Terdapat dua tipe analisis
algoritma, yaitu :
1. Memeriksa kebenaran algoritma
Dapat dilakukan dengan cara perurutan, memeriksa bentuk logika,
implementasi algoritma, pengujian dengan data dan menggunakan cara
matematika untuk membuktikan kebenaran.
2. Penyederhanaan Algoritma
Membagi algoritma menjadi bentuk yang sederhana.
MainMenu
Toolbar
ComponentPalette
ObjectTreeview
FormDesigner
ObjectInspector
CodeExplorer
CodeEditor
10
ToolBar
Component
Palette
PageControl
Icon
Code Editor
Form Designer
Object
Treeview
Code Explorer
Pada awal kita menjalankan software Delphi (ver 7), secara default Code
Editor akan memberikan sebarisan kode program berikut dalam bagian unit :
11
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
end.
Penjelasan untuk masing-masing kode di atas adalah sebagai berikut :
Header unit. Dinyatakan dengan kata unit yang diikuti dengan nama unit yang
juga merupakan nama file unit yang disimpan dengan ekstensi .pas.
Interface. Merupakan bagian yang dapat berisi deklarasi tipe data (termasuk
kelas), konstanta, variabel, procedure atau function. Segala sesuatu yang
dideklarasikan pada bagian ini dapat diakses oleh unit lain.
Uses. Merupakan klausa yang menyatakan library yang akan dikompilasi menjadi
file eksekusi.
Type. Merupakan bagian yang digunakan untuk mendeklarasikan variabel.
Private. Modul dalam suatu private tidak dapat dipanggil dari modul lain.
Properti dalam suatu private tidak dapat dibaca atau dituliskan pada modul lain.
Public. Modul dalam suatu public dapat dipanggil dari modul lain. Properti dalam
suatu public dapat dibaca atau dituliskan pada modul lain.
Var. Bagian yang dapat digunakan untuk mendeklarasikan variabel.
Implementation. Bagian yang berisikan implementasi kelas, procedure dan
function yang telah dideklarasikan pada bagian interface. Bagian ini juga dapat
12
berisikan deklarasi tipe data, variabel, konstanta, procedure atau function yang
bersifat internal terhadap unit.
{$R *. DFM}. Direktif ini berfungsi sebagai pengikat form ke file .dfm.
2.7
Tipe data yang dikenal dalam bahasa pemrograman Delphi antara lain
adalah : integer, real, boolean, character, string, array, record, tipe terbilang dan
subrange, increment dan decrement, varian, dan himpunan.
Tipe integer
Sub Tipe
Byte
Word
Shortint
Smallint
Integer
Cardinal
Longint
Longword
Rentang Nilai
0-255
0-65535
-128 127
-32768 32767
-2147483648 - 2147483647
0 2147483647
-2147483648 - 2147483647
0 4294967295
Byte
1
2
1
2
4
4
4
4
Tipe real
Sub Tipe
Real48
Rentang Nilai
2,9 10 39 1,7 10 38
Byte
6
Single
1,5 10 45 3,4 10 38
Double
Extended
Comp
Currency
10
2 63 + 1 2 63 1
8
8
922337203685477,5808 922337203685477,5807
Tipe boolean
Sub Tipe
Boolean
ByteBool
WordBool
LongBool
Byte
1
1
2
4
13
Tipe character
Sub Tipe
Char
Ansichar
WideChar
Byte
1
1
2
Jumlah Maksimum
1 karakter ANSI
1 karakter ANSI
1 karakter Unicode
Tipe string
Sub Tipe
ShortString
AnsiString
String
WideString
Byte
2-256
4 byte 2 GB
255 byte 3 GB
4 byte 2 GB
Jumlah Maksimum
256 karakter
231 karakter
231 karakter
230 karakter
Tipe array
Array adalah suatu variabel tunggal yang digunakan untuk menyimpan
sekumpulan data yang sejenis.
Contoh :
Var a : array[1..7] of strings;
Tipe record
Tipe data record digunakan untuk menyimpan sekumpulan data yang
mungkin mempunyai tipe yang berbeda tetapi saling berkaitan. Elemen-elemen
dalam array mempunyai tipe yang sama, tetapi elemen-elemen record dapat
mempunyai tipe yang berbeda.
Contoh :
Type
Rbarang = record
Kode : string[4];
Nama : string[20];
Harga : integer;
End;
14
15
2.8
Operator
@, not
*,/, div, mod, and, shl, shr, as
+, -, or, xor
=, <, >, <=, >=, <>, in, is
Keterangan :
-
NamaForm
Minimize
Maximize
Tempatkerja
16
Close
JendelaObject
inspector
Nilai/isidari
properties
TabEvents
PropertiesCaption
TabProperties
17
atau atas/bawah). Anda dapat memindahkan form dengan meletakkan kursor pada
form kemudian menggesernya (drag).
Menyimpan Form
Pada Delphi ada 3 buah file utama (*.dpr, *.pas dan *.dfm).
1) *.dpr adalah file proyek yang dibuat berisi program kecil untuk :
mendefinisikan Unit yang ada dalam file proyek
menginisialisasi data
membangun form
menjalankan aplikasi
uses
Forms,
Unit1 in Unit1.pas {Form1};
begin
Application.Initialize;
Application.CreateForm(Tform1, Form1);
Application.Run;
end.
2) *.pas adalah unit-unit (pascal code file), bisa terdiri satu atau banyak file
3) *.dfm adalah file definisi Form (special pseudo code file), bisa terdiri satu atau
banyak file
object Form1: Tform1
Left = 200
Top = 108
Width = 696
Height = 480
Caption = Form1
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = MS Sans Serif
Font.Style = []
PixelsPerInch = 96
TextHeight = 13
object Button1: Tbutton
Left = 176
Top = 116
Width = 75
Height = 25
Caption = Button1
18
TabOrder = 0
end
end
Catatan:
Setiap Form (.dfm) harus memiliki sebuah Unit (.pas), tetapi anda dapat
memiliki Unit tanpa sebuah Form (hanya kode saja). Jika ingin melihat kode
tersebut anda dapat mengklik kanan mouse, lalu pilih VIEW AS TEXT atau
tekan tombol Alt- F12. Sebaiknya anda tidak mengubah isi code tersebut, karena
akan menyebabkan masalah serius. Tunggu saat anda sudah memahami maksud
kode tersebut. Untuk kembali ke bentuk form, pilih VIEW AS FORM atau tekan
tombol Alt- F12 kembali.
Pilih submenu Save Project atau Save Project As pada menu File, dan
Delphi akan menanyakan nama file source code untuk unit (*.pas) dan nama file
proyeknya (*.dpr). Beri nama file form dengan HELLO.PAS dan project
HELLO.DPR. Sesudah disimpan, jalankan program dengan menekan tombol F9
atau pilih menu Run | Run.
Menempatkan Komponen pada Form
Karena Delphi merupakan bahasa pemrograman visual, maka komponenkomponen akan nampak pada layar. Anda tinggal menempatkan komponen yang
diinginkan pada form. Ada empat cara menempatkan komponen pada form. Misal
anda memilih komponen Button pada Components Palette bagian Standard
Page. Anda dapat memilih salah satu langkah berikut:
Klik pada kompenen tersebut, pindahkan kursor ke form, sambil menekan
tombol kiri mouse (drag komponen dan geser pada form) atau
Pilih komponen (klik komponen yang diinginkan) pada Components Palette
kemudian klik pada form dimana komponen itu akan diletakkan.
Klik ganda pada komponen yang diinginkan, maka komponen tersebut akan
ditambahkan pada form
Anda dapat menggunakan Copy dan Paste bila ingin membuat komponen yang
sama yang sudah ada pada form. Caranya Shift-Klik kiri pada komponen yang ada
di form, lalu pilih menu Copy (Ctrl-C) kemudian pilih menu Paste (Ctrl-V).
19
SpeedBar
Komponen Button
Components
Palette- Bagian
Tab Standard
Komponen Label
20
21
Ada beberapa teknik yang dapat dilakukan untuk menangani event misal
OnClick pada komponen button :
Klik ganda pada button tersebut, maka sebuah method/procedure btnHelloClick
Pilih button, kemudian pilih Object Inspectors combo box (called the Object
Selector), pilih Tab Events, dan klik ganda pada area putih disebelah kanan event
OnClick
Pilih button, pilih Tab Events, dan masukkan nama method yang dikehendaki,
missal btnHelloClick pada area putih di sebelah kanan event OnClic
22
23
24
25
26
27
Artinya mengubah data yang bertipe String di komponen edit1 menjadi data yang
bertipe integer yang disimpan di variable nilai integer.
Fungsi Str tofloat
Digunakan untuk mengubah String yang mempresentasikan data bertipe integer
menjadi sebuah nilai floatingpoint (bilangan real)
Sintaks :
Function Strtofloat (const S : String) : Extended ; overload ;
Function Strtofloat (const S : String ; Const format settings : tformat
settings) : Extended ; overload ;
Contoh : Bilangan real:= strtofloat (edit1.text) ;
Artinya mengubah data yang bertipe String di dalam komponen edit1 menjadi
data yang bertipe Extended (real) yang disimpan di variable bilangan real
Fungsi Inttostr
Digunakan untuk mengubah data bertipe integer menjadi sebuah string
Sintaks :
Function inttostr (value : integer) : String ; overload ;
Contoh :
Mystring := Inttostr (5*6)
Artinya data bertipe integer (yaitu 30, yang merupakan hasil perhitungan 5*6)
dirubah menjadi data bertipe string yang disimpan di variable mystring
Fungsi Inttostr
Digunakan untuk mengubah nilai floating-point menjadi sebuah string
Sintaks :
Function floattostr (value : Extended) : String ; overload ;
Contoh :
Mystring := FloatToStr (3,14*4)
Artinya data bertipe real (yaitu 12,56, yang merupakan hasil perhitungan 3,14*4)
dirubah menjadi data bertipe string yang disimpan di variable mystring
28
Except
Label
Resourcestring
Array
Exports
Library
Set
As
File
Mod
Shl
Asm
Finalizaion
Nit
Shr
Begin
Finally
Not
String
Case
For
Object
Then
Class
Function
Of
Threadfor
Const
Goto
Or
To
Constructor
If
Out
Try
Destructr
Implementation
packed
Type
Else
Interface
Record
While
End
Is
Repeat
with
29
Jalankan Delphi
2.
3.
, Button3
, Edit2
dan Button4
, Edit3
, Button1
Edit2
Text
Edit3
Text
Button1
Caption
Tam&bah
Button2
Caption
Kur&ang
Button3
Caption
Ka&li
Button4
Caption
4.
Ba&gi
30
5.
Klik 2x pada Button3 (Ka&li), setelah muncul halaman kode editor maka
tuliskan :
31
32
1.
Jalankan Delphi
2.
Tambahkan
Label2
3.
komponen
Edit1
Edit2
Edit3
, Button1
Edit2
Text
Edit3
Text
Label1
Caption
Variabel a
Label2
Caption
Variabel b
Button1
Caption
Hasil
33
Label1
5.
6.
34
Jalankan Delphi
2.
3.
, Label1
, Button1
Edit1
Text
Label1
Caption
Nilai
Button1
Caption
4.
Proses
35
5.
6.
36
Jalankan Delphi
2.
Tambahkan
Label2
3.
komponen
, Button1
Edit1
Edit3
Label1
Edit2
Text
Edit1
Text
Label1
Caption
Nilai panjang
37
Edit2
Label2
Caption
Nilai lebar
Button1
Caption
Hitung
4.
5.
6.
38
Jalankan Delphi
2.
Tambahkan
Button1
3.
komponen
Edit1
Label1
, Label2
Edit2
Text
Label1
Caption
Nilai pertama
Label2
39
Edit2
Caption
Nilai kedua
Button1
Caption
Proses
4.
5.
40
6.
Jalankan Delphi
2.
Sisipkan listbox1
3.
41
Jalankan Delphi
2.
3.
, Edit2
Edit1
Text
Edit2
Text
Edit3
Text
Radiogroup1
Item (Tstring) Mencari nilai a
Mencari nilai b
Mencari nilai c
42
, Edit3
, radiogroup1.
4.
5.
43
6.
, Label2
, Label4
, Listbox1
Label2
Caption
Choose Country
Label3
Caption
Label4
Caption
44
, Label3
Button1
Caption
Close
Listbox1
4.
5.
45
46
47
AnalisaProgramKalkulator
Klik2xpadaButton1(Tam&bah),setelahmunculhalamankodeeditormaka
tuliskan:
procedureTForm1.Button1Click(Sender:TObject);
vara,b:integer;
Tipeuntukadanbadalahpemisalanuntukdata
yangmerupakanbilanganyangbulat
begin
a:=strtoint(edit1.Text);
b:=strtoint(edit2.Text);
end;
end.
BAB V PENUTUP
5.1 Kesimpulan
5.2 Saran
48
DAFTAR PUSTAKA
Pengantar
Algoritma
dan
Pemrograman,
49