Professional Documents
Culture Documents
Disusun Oleh :
Mahmuda
Nim : 080170044
Delphi 7.0
Nim : 080170044
PENULIS
i
DAFTAR ISI
KATA PENGANTAR…………………………………………………………... i
DAFTAR ISI……………………………………………………………………ii
BAB I PENDAHULUAN………………..……………………….……………..1
1.1 Latar Belakang……………………………………………...……………1
1.2 Tujuan Praktikum………………………………………………………...1
1.3 Manfaat Praktikum……………………………………………………….2
BAB II DASAR TEORI…………………………………………………………3
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 Delphi……………………………………………………10-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 diketahui…………32-34
3.3 Membuat program Menentukan bilangan genap atau ganjil…………35-36
3.4 Membuat Program Menentukan Luas persegi panjang………………37-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 radiogroup……………42-43
3.8 Membuat program Sambutan Awal…………………………………..44-46
BAB IV ANALLISA HASIL PERCOBAAN…………………………………..47
BAB V PENUTUP………………………………………………………………48
5.1 Kesimpulan………………………………………………………………48
5.2 Saran……………………………………………………………………..48
DAFTAR PUSTAKA…………………………………………………………...49
ii
BAB I PENDAHULUAN
1.1 Latar Belakang
1
1.3 Manfaat Praktikum
2
BAB II DASAR TEORI
3
Knuth (1973) menyatakan 5 komponen utama dalam algoritma yaitu
finiteness, definiteness, input, output dan effectiveness. Sehingga dalam
merancang sebuah algoritma. Ada 3 (tiga) komponen yang harus ada yaitu :
FlowChart
→
Pseudo Code
Konsep Logika Format
↔ →
Matematika Algoritma
Algoritma
→ Fundamental
Knuth, 1973
4
Proses Input dan
output
Prosedur/ Keputusan
Sub routin
Fungsi
Terminal Looping
start dan end
Kode Semu
5
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.
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.
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
6
diimplementasikan menggunakan Pascal, C, Fortran, PL atau BASIC. Secara
umum notasi dan aturan yang digunakan sebagai berikut :
Contoh : A ← B (artinya A = B)
X ← 0 (artinya x bernilai 0)
X↔Y (artinya x dan y saling tukar)
b. Pernyataan IF
7
Perintah pengulangan digunakan dengan bentuk :
• Repeat for indeks = barisan nilai
• Repeat while ekspresi logika
• Repeat for indeks = barisan nilai while ekspresi logika
e. Pernyataan Goto dan Exitloop
Perintah untuk melompat ke langkah yang telah ditentukan dan keluar dari
pengulangan.
Bentuknya :
Goto step.....
Exitloop
f. Pernyataan Exit
Contoh :
Masalah : Mencari elemen terbesar dari data dengan n bilangan.
Buatlah algoritma dari masalah ini menggunakan
a. Kode Semu
b. Diagram Alir
c. Algoritma Fundamental
Penyelesaian :
8
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.
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
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
9
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 :
2. Penyederhanaan Algoritma
Membagi algoritma menjadi bentuk yang sederhana.
Toolbar Component Palette
Main Menu
Object Treeview
Form Designer
10
Gambar: IDE Delphi
Main Menu -
Page Control Icon
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.
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.
Tipe real
Tipe boolean
13
Tipe character
Tipe string
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
Tipe terbilang dan subrange
Tipe data terbilang dan subrange digunakan untuk menyatakan data
berurutan yang bertipe sama. Tipe subrange adalah range dari nilai-nilai tertentu.
Subrange harus memiliki nilai-nilai terkecil dan nilai terbesar.
Contoh :
Hari = (senin, selasa, rabu, kamis, jumat, sabtu, minggu);
Var
Namahari : Hari;
Type
Hari1 =’selasa’..’jumat’;
Huruf =’A’..’B’;
Var Nil_Hari1 : Hari1;
Nil_Huruf : Huruf;
Tipe himpunan
Tipe himpunan digunakan untuk menyimpan sekumpulan nilai atau
elemen yang bertipe sama.
Contoh :
Type
Himp_angka = set of integer;
Var angka : Himp_Angka;
Begin
Angka := [1,2,3,4,5];
15
2.8 Operator Dalam Lingkungan Delphi
Dalam melaksanakan proses pengolahan data, Delphi menyediakan
berbagai operator dengan urutan atau derajat proses pengerjaan yang berbeda
untuk beberapa operator yang dilibatkan pada suatu ekspresi matematis. Berikut
ini adalah tabel derajat proses pengolahan data yang terdapat di dalam Delphi :
Urutan Operator
1 @, not
2 *,/, div, mod, and, shl, shr, as
3 +, -, or, xor
4 =, <, >, <=, >=, <>, in, is
Keterangan :
Saat anda pertama kali masuk ke Delphi, anda akan diperhadapkan pada
sebuah Form kosong yang akan dibuat secara otomatis. Form tersebut diberi nama
Form1. Form ini merupakan tempat bekerja untuk membuat antarmuka pengguna.
Nama Form
Maximize
Close
Minimize Tempat kerja
16
Mengganti Nama Form dan Menambahkan Judul
Jendela Object Nilai/isi dari
inspector properties
Tab Events
Properties Caption
Tab Properties
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
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.
19
Menu Utama : File, Edit, Komponen Button
Search, View,
Pada form ini hanya ada satu button, mungkin ada di bagian tengah form.
Anda dapat mengatur letak komponen tersebut dengan menggesernya. Bila anda
ingin merapihkan pilih menu View |Alignment Palette, maka muncul sebuah
Toolbox Align dengan ikon perapihan (alignment icons).
20
Mengubah Nilai Properti
Ubah nilai properti Caption menjadi Katakan Hello dan nilai properti
Name menjadi btnHello. Langkah ini mirip dengan mengubah nama dan
keterangan sebuah form. Setiap komponen sebaiknya diberinama yang memiliki
arti dan diawali oleh jenis komponennya. Misal nama dari form Hello adalah
“frmHello” atau nama dari button Hello adalah “btnHello”. Tujuannya adalah
mengelompokkan komponen-komponen sejenis, karena pada Object Inspector
nama komponen diurutkan berdasarkan alpabet. Properti name adalah properti
internal dan digunakan untuk memberi nama pada sebuah komponen/objek. Nama
ini adalah sebuah variabel yang mengacu pada komponen tersebut.
Beberapa aturan penamaan komponen atau variabel atau identifer sbb :
Sesudah anda mengubah properti anda dapat melihat kode programnya (tekan Alt-
F12) sbb :
object Form1: Tform1
:
Caption = ‘Hello’
:
object btnHello: Tbutton
Caption = ‘Katakan Hello’
End
end
Saat anda menekan tombol pada sebuah form atau komponen, Windows
memberitahukan bahwa aplikasi mengirim pesan yang dibangkitkan oleh event
tertentu . Delphi akan menanggapi dengan menerima event atau panggilan
tersebut. Hal ini yang dinamakan penanganan event (event-handler method).
Delphi mendefinisikan sejumlah event pada setiap komponennya. Daftar event ini
bebeda untuk setiap komponen. Event yang paling umum pada komponen Button
adalah OnClick. Artinya jika komponen Button tersebut di Klik maka akan
melakukan procedure apa.
21
Ada beberapa teknik yang dapat dilakukan untuk menangani event misal
OnClick pada komponen button :
Perintah ini sangat sederhana, yaitu untuk menampilkan pesan. Fungsi ini
mempunyai empat parameter. Untuk rincinya anda dapat melihat Bantuan (F1).
22
• Parameter ketiga : kumpulan tombol yang akan digunakan seperti mbYes,
mbNo, mbOK, mbCancel, atau mbHelp.
• Parameter keempat : untuk help context atau nomor halaman pada Help, beri
angka nol jika anda tidak mempunyai file help.
Tekan tombol Run atau pilih menu Run | Run, Delphi does the following:
1. Kompilasi Pascal source code file yang mendefinisikan form-form yang ada
(.pas, .dfm)
2. Kompilasi project file (.dpr)
3. Buat executable (.EXE) file
4. Jalankan executable file, biasanya pada mode pencarian kesalahan (debug
mode).
Kode yang akan dilihat, serupa dengan struktur Bahasa Pascal. Delphi
adalah bahasa pemrograman berbasis objek, artinya pendekatan pembuatan
program melalui objek-objek yang ada. Misalnya objek form, text dsb. Setiap
objek akan memiliki properti (atribut) dan method yang diaktifkan / dipicu oleh
event. Mari kita lihat penjelasan berikut :
Jadi sebuah objek adalah secara umum kelas dari kumpulan sesuatu.
Komponen pasti objek namun tidak selalu merupakan komponen, misal
23
TstringList adalah sebuah objek (kumpulan karakter), dan bukan sebuah
komponen. Penjelasan mengenai komponen di Lampiran A.
Sebuah Event adalah sebuah aksi pengguna (User Action) misal Mouse
Click, KeyPressed. Setiap Events diawali dengan kata ‘On’.
Contoh :
Nama event Nama method
OnClick .. Button1Click(Sender : Tobject)
OnKeyDown .. Button1KeyDown(Sender : Tobject)
OnMouseMove .. Button1MouseMove(Sender : Tobject)
24
mendefinikan apa yang anda lakukan. Secara normal, ANDA TIDAK
DIHARAPKAN MENGUBAHNYA Unit1.dfm File; Anda hanya bekerja pada
Form1 secara Visual. Ini yang dinamakan bahasa pemrograman Visual (Visual
Programming)
25
PERINTAH PENCABANGAN / STRUKTUR PEMILIHAN
If <kondisi_pencabangan> then
Begin
... {aksi-1}
end;
If <kondisi_pencabangan> then
Begin
... {aksi-1}
end
else
Begin
... {aksi-2}
end;
26
IF … THEN … ELSE : Pemilihan N kasus
If <kondisi_pencabangan1> then
Begin
... {aksi-1}
end
else
If <kondisi_pencabangan2> then
Begin
... {aksi-2}
end
else
Begin
... {aksi-3}
End;
Case <Parameter> Of
<nilai_1> : <aksi_1> ;
<nilai_2> : <aksi_2> ;
...
<nilai_n> : <aksi_n> ;
Else <aksi_n+1> ;
End;
• Fungsi Strtoint
Digunakan untuk mengubah String yang mempresentasikan data bertipe integer
menjadi sebuah angka bertipe integer
Sintaks :
Function Strtoint (const S : String) : Integer;
Contoh : Nilai integer := Strtoint (edit1.text) ;
27
Artinya mengubah data yang bertipe String di komponen edit1 menjadi data yang
bertipe integer yang disimpan di variable nilai integer.
• 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
Identifier (pengenal) dalam Delphi
Identifier : Nama yang diberikan pada suatu elemen program. Pengenal digunakan
pada konstanta (Constants), Variabel (variable), Fields, Tipe (types), property
(properties), proedur ( procedures), fungsi (function), program, Unit, pustaka
(libraries) dan paket (packages).
Aturan penulisan :
1. Panjang karakter bebas, tetapi hanya 255 karakter pertama yang dikenali.
2. Karakter awal harus berupa huruf atau garis bawah (_).
3. Tidak boleh dipisahkan dengan tanda spasi.
4. Sebarang Huruf, angka dan garis bawah diperbolehkan setelah karakter
pertama
5. Kata khusus (reserved word) tidak boleh digunakan sebagai pengenal
Kata khusus :
29
BAB III HASIL PERCOBAAN
3.1 Membuat program Kalkulator
Langkah membuat Kalkulator :
1. Jalankan Delphi
Edit1
Text
Edit2
Text
Edit3
Text
Button1
Caption Tam&bah
Button2
Caption Kur&ang
Button3
Caption Ka&li
Button4
Caption Ba&gi
30
5. Langkah selanjutnya adalah memasukkan kode program ke dalam halaman
kode editor.
Klik 2x pada Button1 (Tam&bah), setelah muncul halaman kode editor
maka tuliskan :
procedure TForm1.Button1Click(Sender: TObject);
var a,b: integer;
begin
a:=strtoint (edit1.Text);
b:=strtoint (edit2.Text);
edit3.Text:=inttostr (a+b);
end;
end.
Klik 2x pada Button2 (Kur&ang), setelah muncul halaman kode editor maka
tuliskan :
procedure TForm2.Button1Click(Sender: TObject);
var a,b: integer;
begin
a:=strtoint (edit1.Text);
b:=strtoint (edit2.Text);
edit3.Text:=inttostr (a-b);
end;
end.
Klik 2x pada Button3 (Ka&li), setelah muncul halaman kode editor maka
tuliskan :
31
procedure TForm1.Button3Click(Sender: TObject);
var a,b: integer;
begin
a:=strtoint (edit1.Text);
b:=strtoint (edit2.Text);
edit3.Text:=inttostr (a*b);
end;
end.
Klik 2x pada Button4 (/), setelah muncul halaman kode editor maka tuliskan
:
procedure TForm1.Button4Click(Sender: TObject);
var a,b: real;
begin
a:=strtofloat (edit1.Text);
b:=strtofloat (edit2.Text);
edit3.Text:=floattostr (a/b);
end;
end.
32
1. Jalankan Delphi
Edit1
Text
Edit2
Text
Edit3
Text
Label1
Caption Variabel a
Label2
Caption Variabel b
Button1
Caption Hasil
33
5. Langkah selanjutnya adalah memasukkan kode program ke dalam halaman
kode editor.
Klik 2x pada Button1 (Hasil), setelah muncul halaman kode editor maka
tuliskan :
procedure TForm1.Button1Click(Sender: TObject);
var a,b,c: real;
begin
a:=strtofloat (edit1.text);
b:=strtofloat (edit2.text);
edit3.text:=floattostr (sqrt(sqr(a)+sqr(b)));
end;
end.
34
3.3 Membuat Program untuk Menentukan bilangan genap atau ganjil
Langkah-langkah :
1. Jalankan Delphi
Edit1
Text
Label1
Caption Nilai
Button1
Caption Proses
35
5. Langkah selanjutnya adalah memasukkan kode program ke dalam halaman
kode editor.
Klik 2x pada Button1 (Proses), setelah muncul halaman kode editor maka
tuliskan :
procedure TForm1.Button1Click(Sender: TObject);
var a,b:integer;
begin
a:=strtoint (edit1.text);
b:=a mod 2;
if b=0 then showmessage (‘Bilangan Genap’)
else
showmessage (‘Bilangan Ganjil’);
end;
end.
36
3.4 Membuat Program Menentukan Luas persegi panjang
Langkah-langkah :
1. Jalankan Delphi
Edit1
Text
Edit2
Text
Edit1
Text
Label1
37
Label2
Button1
Caption Hitung
38
3.5 Membuat Program Menentukan Bil terbesar dari 2 bil
Langkah-langkah :
1. Jalankan Delphi
Edit1
Text
Edit2
Text
Label1
Label2
39
Caption Nilai kedua
Button1
Caption Proses
end;
end.
40
6. Eksekusi program dengan menekan tombol F9.
41
3.7 Membuat Phytagoras menggunakan radiogroup
Langkah-langkah :
1. Jalankan Delphi
Edit1
Text
Edit2
Text
Edit3
Text
Radiogroup1
42
4. Atur sedemikian hingga agar Form memiliki tampilan seperti :
end.
43
6. Eksekusi program dengan menekan tombol F9.
Label3
Caption
Label4
Caption
44
Button1
Caption Close
Listbox1
4. Atur sedemikian hingga agar Form memiliki tampilan seperti :
Klik 2x pada listbox1, setelah muncul halaman kode editor maka tuliskan :
procedure TForm1.ListBox1Click(Sender: TObject);
begin
label3.Caption :=listbox1.items[listbox1.itemindex];
case listbox1.ItemIndex of
45
0:label4.Caption :='hallo, programmer';
1:label4.Caption :='hello, programierer';
2:label4.Caption :='hola, programador';
3:label4.Caption :='Ciao, programator';
end;
end.
46
BAB IV ANALISA HASIL PERCOBAAN
47
BAB IV ANALISA PROGRAM
Analisa Program Kalkulator Menentukan nilai/hasil yang ingin diperoleh dengan
input angka pertama dan angka kedua dan
Menampilkannya pada kotak hasil
Klik 2x pada Button1 (Tam&bah), setelah muncul halaman kode editor maka
tuliskan :
procedure TForm1.Button1Click(Sender: TObject);
var a,b: integer; Tipe untuk a dan b adalah pemisalan untuk data
yang merupakan bilangan yang bulat
begin
a:=strtoint (edit1.Text);
b:=strtoint (edit2.Text);
edit3.Text:=inttostr (a+b); Memproses nilai masukan a dan masukan b
yang di edit menjadi harga ekivalen yang
bertype integer yang akan ditampilkan pada
kolom hasil
end;
end.
BAB V PENUTUP
5.1 Kesimpulan
5.2 Saran
48
DAFTAR PUSTAKA
49