Modul Algoritma Pemograman II (Delphi)
Modul Algoritma Pemograman II (Delphi)
Disusun Oleh:
Jakarta
2015
1
Bab I
Mengenal Delphi
1.1.
Pengertian Delphi
Delphi adalah suatu bahasa pemograman (development language) yang digunakan untk
merancang suatu aplikasi program.
Delphi adalah sebuah bahasa pemrograman dan lingkungan pengembangan perangkat lunak
yang dikembangkan oleh Borland. Dengan menggunakan Free Pascai yang merupakan
proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan
di sistem operasi Mac OS X dan Windows CE
a. Kegunaan Delphi
1. untuk membuat aplikasi windows
2. Untuk merancang aplikasi program berbasis grafis
3. Untuk membuat program berbasis jaringan (client/server)
4. Untuk merancang program .Net (berbasis internet)
b. Keunggulan Delphi
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. Mudah digunakan, source kode delphi yang merupakan turunan dari pascal, sehingga
tidak diperlukan suatu penyesuain lagi.
4. Bersifat multi purphase, artinya bahasa pemograman Delphi dapat digunakan untuk
mengembangkan berbagai keperluan pengembangan aplikasi.
Catatan = dari dua contoh kasus tersebut terdapat kesamaan proses mengenai
information hiding yang tidak diketahui oleh user sampai hasil ditampilkan.
Contoh = TV dan radio adalah media electronik yang mempunyai sistem yang sama
tentang bagaimana meyebarkan suatu informasi, tetapi cara kerja dari masing
- masing sistem pasti berbeda.
Atau
Object Simpan dan Update adalah icon yang berasal dari induk yang sama yaitu ,
command button tetapi cara kerja tersebut berbeda - beda.
Contoh sederhananya adalah ketika kita merancang suatu form (Tforml) baru, sadar atau
tidak sebenarnya form yang kita aktifkan merupakan turunan dari Tform sebagai induknya
atau ketika kita mengaktikan button pada form merupakan turunan dari tbutton.
Atau
Contoh dalam bahasa program adalah sebagai berikut = ketika merancang suatu label di
form secara otomatis delphi akan menuliskan label tersebut dalam jendela code editor
tentang turunan dari label tersebut.
Type
Tform
class(tform)
Labell = tlabel
End;
2. Object Inspector
Merupakan jendela yang digunakan utnuk mengatur tampilan komponen pada form, misal
bagaimana mengubah tulisan button pada command button menjadi Simpan, atau
menghapus tulisan pada label dan mengganti nama menjadi Nama Mahasiswa atau
memberikan perintah tertentu pada sebuah komponen sehingga ada interaksi ketika
program dijalankan.
Secara Umum Object Inspector terbagi menadi 2, yaitu =
a. Properties
Digunakan untuk mengatur tampilan pada sebuah komponen baik itu meliputi
penggantian nama, warna, jenis huruf, border dan lain -lain.
b. Events
Merupakan jendela properties yang digunakan untuk memberikan fungsi yang lebih detail
dari fungsi sebenarnya. Misalnya ketika tombol Simpan di klik maka program akan
menjalankan perintah penyimpanan data. Dari kalimat tersebut ada event clik untuk
mengeksekusi sebuah tombol simpan. Perintah event clik tersebut dapat diberikan melalui
jendela events.
3. Form Designer
Merupakan tempat yang digunakan untuk merancang semua aplikasi yang diambil dari
komponen pallete.
4. Component Pallete
Merupakan kumpulan icon yang digunakan untuk merancang suatu aplikasi untuk
membentuk sebuah aplikasi user interface. Dalam komponen pallete semua icon dikelompokkan
dalam berbagai komponen sesuai dengan fungsi dan kegunaanya.
5. Code Editor
Bagian dari delphi yang digunakan untuk menuliskan kode program. Pada bagian code editor
terdapat 3 bagian utama yaitu = bagian paling kiri yang berisi berupa angka menunjukan baris
dan kolom. Keterangan modified menunjukan bahwa telah terjadi modifikasi terhapap baris
program. Dan paling kanan menunjukan status keyboard tentang tombol insert atau over write.
6. Code Explorer
Jendela yang digunakan untuk menampilkan seluruh variabel, type, dan rountine yang
didefinisikan pada sebuah unit.
7. Code Diagram
Merupakan fasilitas pada delphi yang digunakan untuk mendesain sebuah diagram atas
komponen - komponen yang digunakan dalam seatu rancangan aplikasi.
d. Proyek Delphi
1. File Proyek
File ini disimpan dengan ber-ekstenion .dpr. File ini berisi informasi mengenai seluruh
proyek program
2. File Unit
File ini merupakan kumpulan dari barisan kode program yang terdapat di jendela code
editor, baik itu yang dituliskan oleh progremmer maupun oleh system. Extention file ini
adalah . pas File Unit dibagi menjadi 2
a. Bagian Interface
Barisan ini dimulai dari kata Interface (setelah nama unit), berisi seluruh deklarasi
variabel, tipe data object maupun deklarasi tambahan.
b. Bagian Implementation
Dimulai dari kata kunci implementation dan diakhiri dengan kata end. Fungsi
digunakan untuk menuliskan kode program sebagai bagain dari interaksi antar
komponen ataupun dengan user.
3. File Form
Berisi tentang seluruh informasi yang ada kaitannya dengan form yang dibuat, meliputi
tinggi, lebar, pososi form atau tentang komponen didalmnya. Penggunaan file ini tidak
dianjurkan karena untu pengaturan sudah disediakan object inspector sebagai media
pengaturan semua komponen.
1.5.
Aplikasi Perkenalkan(LATIHAN 1)
a. Hasil Program
10
b. Desain Form
c. Desian Properties
Object
Name
Caption
Label 1
Label 1
Label 2
Label 2
Kampus
Label 3
Lnama
Label3
Label 4
Lalamat
Label4
Label 5
Ltanggal
Label 5
Label 6
Ljam
Label 6
Timer1
Button1
Btampil
Tampil
Button2
Bkeluar
Keluar
Form 1
Forml
:::Perkenalan:::
component System )
d. Listing program
1. Ketika form dalam keadaan aktif maka form akan menampilkan nama dan
alamat pembuat program
procedure TForm1.btampilClick(Sender: TObject);
begin
11
Bab II
Mengenal Form dan Objek Kontrol
2.1 Form
Form adalah tempat dimana kita membuat tampilan (user interface) dari program aplikasi.
Dengan form, pemakai program dapat berkomunikasi atau berinteraksi dengan program. Pada
waktu anda membuat sebuah proyek pada Delphi 7.0 , maka secara default telah terdapat
sebuah form pada proyek tersebut. Contoh sebuah form adalah seperti pada gambar 2.1
Keterangan
Align
BorderStyle
BorderWidth
Caption
Judul form
ClientHeight
Color
Warna form
Constraints
Cursor
13
Enabled
Font
FormStyle
Bentuk Form
Height
Tinggi form
Hint
Left
Menu
Name
Nama Form
PopupMenu
Position
ShowHint
Menampilkan hint
Top
VertScrollBar
Visible
Widht
Lebar Form
WindowState
Selain properti terdapat juga event. Event adalah kejadian yang dapat terjadi atau
mempengaruhi form pada waktu program dijalankan. Contoh beberapa event yang dipakai
pada form program aplikasi database adalah sebagai berikut.
Event
Waktu Terjadi
OnActivate
OnShow
OnHide
Salah satu contoh penggunaan event yang terdapat pada form adalah OnActivate. Event
OnActivate terjadi pada waktu form telah aktif dilayar. Untuk melihat contohnya lakukan
langkah berikut.
1. Buat sebuah proyek baru.
14
2. Klik ganda pada event OnActivate pada kotak dialog Object Inspector tab Events.
3. Tuliskan kode program pada kode editor sehingga menjadi seperti berikut ini.
procedure TForm1.FormActivate(Sender: TObject);
begin
form1.Caption:='Selamat Belajar Pemrograman Delphi 7.0';
end;
4. Jalankan program tersebut. Hasilnya seperti yang terlihat pada gambar 2.2. dimana
terdapat teks Selamat Belajar Pemrograman Delphi 7.0 pada judul form.
5. Untuk kode program selengkapnya adalh sebagai berikut.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Implementation {$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
form1.Caption:='Selamat Belajar Pemrograman Delphi 7.0';
end;
end.
15
Apabila anda menggunakan lebih dari satu form pada satu proyek, secara default Form1 yang
akan dijalankan pertama kali. Namun, apabila ingin menjalankan dari form yang lain, anda
dapat memilih form mana yang akan dijalankan pertama kali dengan cara seperti berikut :
1. Klik Menu Project.
2. Klik Options.
3. Setelah itu tampil kotak dialog Project Options seperti pada Gambar 2.3.
4. pada kotak dialog Project Options tab Form, pilih form yang akan dijalankan
pertama kali pada saat Run-Time pada bagian Main Form
5. Klik Ok
16
Berikut ini akan dibahas mengenai beberapa contoh kontrol yang sering digunakan dalam
pembuatan program aplikasi.
2.2.1. Edit Box
Edit box merupakan kontrol yang dipakai sebagai tempat untuk mengisi maupun
menampilkan data. Dengan edit box user pengguna aplikasi dapat mengisi data ke dalam
program. Selain itu, edit box juga dapat digunakan untuk menampilkan data pada
user.berikut ini beberapa contoh properti dari edit box yang sering dipakai pada program
aplikasi.
Properti
Keterangan
BorderStyle
CharCase
Color
Ctl3D
Cursor
Enabled
Font
Height
Hint
Height
Hint
Left
Maxlength
Name
ReadOnly
Jika bernilai true, tidak bisa mengisi karakter kedalam edit box
ShowHint
Text
Top
Posisi
17
Visible
Jika true edit box kelihatan, jika false edit box tidak kelihatan
Widht
Untuk beberapa contoh event edit box yang sering dipakai pada programn aplikasi adalah
sebagai berikut :
Event
Waktu Terjadi
OnEnter
OnExit
OnKeyDown
OnKeyPress
OnKeyUp
2.2.2. Label
Label merupakan kontrol yang dipakai sebagai tempat untuk menampilkan keterangan.
Berikut ini beberapa
Properti
Keterangan
Align
Alignment
Autosize
Caption
Color
Warna Label
Cursor
Font
Enabled
Height
Tinggi Label
Hint
Layout
Left
18
Name
Nama Label
Top
Transparent
Visible
Widht
Lebar Label
2.2.3. Button
Button merupakan kontrol yang dipakai sebagai tombol untuk melakukan suatu proses.
Berikut ini beberapa contoh properti dari button yang dipakai pada program aplikasi.
Properti
Keterangan
Cancel
Caption
Cursor
Default
Enabled
Font
Height
Tinggi Button
Hint
Left
Name
Nama button
Top
Visible
Widht
Lebar button
19
Apabila anda mengklik ganda button pada waktu desain, secara otomatis akan
menghasilkan event OnClick. Untuk beberapa contoh event button yang dipakai pada
program aplikasi adalah sebagai berikut.
Event
Waktu Terjadi
OnClick
OnEnter
OnExit
KeyDown
KeyPress
KeyUp
Keterangan
CharCase
Color
Ctl3D
Cursor
DropDownCount Jumlah baris yang tampil pada waktu combo box diklik
Enabled
Font
Height
Hint
Items
Left
MaxLength
Name
PopupMenu
ShowHint
Sorted
Style
Text
Top
Visible
Jika true combo box kelihatan , jika false combo box tidak
Kelihatan
Width
Untuk beberapa contoh event combo box yang dipakai pada aplikasi adalah sebagai
berikut :
Event
Waktu Terjadi
OnClick
OnEnter
OnExit
OnKeyUp
Keterangan
Align
BorderStyle
Color
Columns
Ctl3D
Cursor
Enabled
Font
Height
Hint
Items
Left
MultiSelect
Jika bernilai true, user dapat memilih lebih dari satu pilihan
Name
PopUpMenu
ScrollWidht
ShowHint
Sorted
Style
Top
Visible
Jika true list box kelihatan , jika false list box tidak
Kelihatan
Width
Untuk beberapa contoh event list box yang dipakai pada program aplikasi adalah sebagai
berikut :
Event
Waktu Terjadi
OnClick
OnEnter
OnExit
22
OnKeyDown
OnKeyPress
OnKeyUp
Keterangan
Alignment
AllowGrayed
Caption
Checked
Color
Ctl3D
Cursor
Enabled
Font
Height
Hint
Left
Name
PopUpMenu
ShowHint
State
Top
Visible
Jika true check box kelihatan , jika false check box tidak
23
Kelihatan
Width
Untuk beberapa contoh event check box yang dipakai pada program aplikasi adalah
sebagai berikut :
Event
Waktu Terjadi
OnClick
OnKeyPress
Keterangan
Alignment
Caption
Checked
Color
Ctl3D
Cursor
Enabled
Font
Height
Hint
Left
Name
PopUpMenu
ShowHint
Top
Visible
Jika true radio button kelihatan , jika false radio button tidak
Kelihatan
Width
Untuk beberapa contoh event radio button yang dipakai pada program aplikasi adalah
sebagai berikut.
Event
Waktu Terjadi
OnClick
OnKeyPress
Keterangan
Align
Caption
Color
Ctl3D
Cursor
Enabled
Font
Height
Hint
Left
Name
PopUpMenu
ShowHint
Top
Visible
Jika true group box kelihatan , jika false group box tidak
Kelihatan
Width
Keterangan
Align
Caption
Color
Columns
Ctl3D
Cursor
Enabled
Font
Height
Hint
Items
Left
Name
PopUpMenu
ShowHint
Top
Visible
Jika true radio group kelihatan , jika false radio group tidak
Kelihatan
Width
2.2.10. Memo
Memo merupakan kontrol yang dipakai sebagai tempat untuk mengisi maupun
menampilkan data. Fungsinya hampir sama dengan edit box, perbedaannya adalah pada
edit box teks yang di masukkan dan ditampilkan hanya dalam satu baris saja, sedangkan
pada memo dapat ditampilkan lebih dari satu baris. Dengan memo user pengguna
program aplikasi dapat mengisi data ke dalam program. Selain itu memo juga dapat
digunakan untuk menampilkan data pada user. Berikut ini beberapa contoh properti dari
memo yang sering dipakai pada program aplikasi.
Properti
Keterangan
Align
Alignment
BorderStyle
Color
Warna memo
Ctl3D
Cursor
Enabled
Font
Height
Tinggi Memo
Hint
Left
Lines
MaxLenght
Name
Nama memo
27
PopUpMenu
ReadOnly
ScrollBars
ShowHint
Top
Visible
Width
Lebar memo
Untuk beberapa contoh event memo yang sering dipakai pada program aplikasi adalah
sebagai berikut.
Event
Waktu Terjadi
OnEnter
Mendapat fokus
OnExit
OnKeyDown
OnKeyPress
OnKeyUp
28
Properti
Keterangan
Align
Ctl3D
Cursor
Enabled
Height
Tinggi Memo
Hint
Kind
Jenis Scrollbar
LargeChange
Left
Max
Min
Name
Nama scrollbar
PopUpMenu
Position
ShowHint
SmallChange
Top
Visible
Width
Lebar scroll
2.2.12. Panel
Panel memiliki fungsi yang hampir sama dengan group box. Panel berfungsi untuk
memberikan tempat bagi kontrol-kontrol yang lain. Dengan panel kontrol kontrol pada
form dapat dikelompokkan menjadi satu. Berikut ono beberapa contoh properti dari panel
yang sering dipakai pada program aplikasi.
Properti
Keterangan
Align
29
Alignment
AutoSize
BorderStyle
BorderWidht
Lebar garis tepi panel dengan kontrol yang terdapat pada panel
Caption
Color
Warna panel
Ctl3D
Cursor
Enabled
Font
Height
Tinggi panel
Hint
Left
Name
Nama panel
PopUpMenu
ShowHint
Top
Visible
Width
Lebar panel
30
Bab III
Deklarasi Variabel, Tipe Data dan Operator
3.1 Deklarasi
Dalam setiap penulisan bahasa pemograman deklarasi sangat digunakan apabila dalam
penulisan program dibutuhkan indentifier atau tanda pengenal. Indentifier pada umumnya
di buat oleh progremmmer yang digunakan untuk mewakili nilai dari suatu object.
Indentifier yang dikenal dalam Delphi adalah label, konstanta, tipe, fungsi, procedure
maupun variabel.
3.1.1. Deklarasi Konstanta
Deklarasi konstanta adalah tanda pengenal dalam Delphi yang mempunyai nilai yang
sudah tetap. Definisi konstanta diawali dengan kata baku Const diikuti dengan kumpulan
indentifier yang diberi sebuah nilai.
Contoh
nill:='30000';
begin
end;
3.1.2. Deklarasi Variabel
Deklarasi variabel adalah tanda pengenal dalam Delphi yang mempunyai nilai yang mana
nilai tersebut akan terus berubah selama proses berjalan. Definisi variabel diawali dengan
kata baku Var diikuti dengan kumpulan identifier yang diikuti dengan tipe data yang
dibutuhkan.
Contoh
procedure TForm2.EpraktekKeyPress(Sender: TObject; var Key: Char);
var
praktek,nil2,nill =real;
31
begin
if (key = #13)
then begin
nill := strtof loat(ehtulis.Text);end;
end;
Bentuk Umum:
Var
Nill: integer;
Begin
Nill:=5000;
End;
3.2.2. Tipe Data Real
Tipe data numeric real adalah tipe data dari suatu tanda pengenal selain mengenal
bilangan bulat utuh tipe data ini juga mengenal nilai angka yang mengenal pecahan.
Bentuk Umum :
Var
Nil2: real;
32
Begin
Nil3:=3,14;
End;
3.2.3
Bentuk umum :
Var
Nama: string;
Begin
Nama:='Anton';
End;
3.2.4
3.2.5
3.3 Operator
Operator dipakai untuk memanipulasi dan megolah data. Delphi menyediakan bermacam
macam operator. Setiap operator mempunyai tingkat hierarki, yaitu urutan pelaksanaan
jika ada beberapa operator dalam satu proses.
Sebagai contoh, jika terdapat ekspresi X+Y*Z, maka akan dilaksanakan terlebih dahulu
operasi Y*Z, baru setelah itu, hasil operasi X*Y ditambah X. Hal ini disebabkan operator
perkalian ( dengan simbol *) hierarkinya lebih tinggi dari operator penambahan (dengan
simbol +).
Jika dalam satu ekspresi terdapat beberapa operator dengan tingkat hierarki yang sama,
maka pelaksanaannya didahulukan dari paling kiri.
Anda dapat menggunakan tanda kurung untuk mendahulukan suatu operasi, mendahului
semua tingkat hierarki. Jika terdapat tanda kurung dalam tanda kurung, maka didahulukan
yang paling dalam. Sebagai contoh, bila ada ekspresi (X+Y)*Z, maka yang dilaksanakan
pertama kali adalah operasi X+Y, kemudian hasilnya baru ditambah dengan Z.
Hierarki operator dalam delphi adalah seperti pada tabel berikut :
OPERATOR
HIERARKI
^ , @ , not first
Tertinggi
+, - , or , xor
Ketiga
Keempat
Integer
Integer
Real
Real
Integer
Real
Real
Real
Perkalian
Pembagian
Div
Integer
Mod
Sisa Pembagian
Integer
Integer
Penambahan
Integer
Integer
Real
Real
Integer
Integer
Real
Real
Pengurangan
35
Operator aritmatika diatas disebut juga sebagai operator aritmatika binari. Selain itu, ada
juga operator aritmatika unari, yaitu tanda + (plus) sebagai tanda positif dan operator
(minus) sebagai tanda negatif. Operator aritmatika unari dapat dipakai pada tipe data
integer maupun real. Hierarki operator unari lebih tinggi dari semua operator binari.
Sebagai contoh, perhatikan potongan program berikut ini :
A := -2 * 3 ;
// hasilnya 6
B := 2 * 3 ;
// hasilnya 6
C := 5 / 2 ;
// hasilnya 2.5
D := 5 div 2 ;
// hasilnya 2
E := 5 mod 2 ;
// hasilnya 1
F := 5 + 1 ;
// hasilnya 7
G := 5 2 ;
// hasilnya 3
Untuk operasi perpangkatan , delphi secara tradisi memang tidak menyediakan operator
untuk pemangkatan. Sebagai gantinya anda dapat menggunakan rumus matematika :
exp (x * ln (a))
Atau exp ( <pangkat> * ln (< yangDipangkat>))
Perhatikan potongan program berikut ini :
A:=2;
B := 3 ;
C := exp (B * ln (A)) ; // C berisi 8
D := exp (B* ln (5)) ; // D berisi 125
harus mempunyai tipe yang sama. Tabel operator relasi yang disediakan Delphi adalah
seperti berikut ini :
Operator Keterangan
=
Sama Dengan
<>
<
Lebih Kecil
>
Lebih besar
<=
>=
Beberapa contoh penggunaan operator relasi dapat anda lihat seperti dibawah ini.
A:=2>3;
// A berisi False
A:=2+2>3;
// A berisi True
A:=3>2+2;
// A berisi False
A:=3>=3;
// A berisi True
Dari contoh diatas terlihat bahwa operator relasi hierarkinya lebih rendah dari operator
aritmatika, sehingga operator aritmatika selalu dijalankan lebih dahulu sebelum operator
relasi.
Tidak
And
Dan
Or
Atau
Xor
Exclusive Or
37
False
Not False
True
Contoh hasil penggunaan operator logika Not dapat anda lihat di bawah ini.
Tes : = Not (5 > 4 ) ;
Tes : = Not (5 = 4 ) ;
Hasil
False
False
True
Contoh hasil penggunaan operator logika And dapat anda lihat seperti berikut ini.
Tes : = ( 5 < 4 ) And ( 3 < 2 ) ;
c. Operator Logika Or
Operator logika Or akan menghasilkan nilai boolean True jika salah satu dari dua
buah ekspresi atau kedua ekspresi di kiri dan kanan operator Or bernilai True. Jadi
Operator Or akan menghasilkan nilai False hanya jika kedua ekspresi di kiri dan
38
kanan operator Or semuanya bernilai False. Tabel hasil ekspresi logika Or adalah
seperti berikut ini.
Ekspresi
Hasil
True
True Or False
True
True Or True
True
Contoh hasil penggunaan operator logika Or dapat anda lihat seperti berikut ini.
Tes : = ( 5 < 4 ) Or ( 3 < 2 ) ;
Hasil
True
True
False
Contoh hasil penggunaan operator logika Xor dapat anda lihat seperti berikut ini.
Tes : = ( 5 < 4 ) Xor ( 3 < 2 ) ;
39
Latihan 1.
Rancanglah Form dibawah ini didalam Project : Prouts.dpr dengan nama Form :
operator1.pas
Desain Properties
Object
Keterangan
Name
Edit Text
Nilai 1
Edit1
Edit Text
Nilai 2
Edit2
Edit Text
Hasil
Edit3
Button
+ (Penambahan)
Bttambah
Button
- (Pengurangan)
Btminus
Button
/ (Pembagian)
Btbagi
Button
x (Perkalian)
Btkali
Button
Btlebih
Button
Btkurang
Button
N1 = N2 (Sama dengan)
Btsmdgn
Button
Bttdksama
Button
And
Btand
Button
Or
Btor
Button
Xor
Btxor
Button
Exit
Btexit
Button
Clear
Btclear
unit operator1;
btexit: TButton;
interface
btclear: TButton;
uses
btxor: TButton;
Classes,
procedure bttambahClick(Sender:
Graphics,
Controls, Forms,
TObject);
procedure
Dialogs, StdCtrls;
type
TForm3 = class(TForm)
Label1: TLabel;
TObject);
procedure btbagiClick(Sender: TObject);
procedure btlebihClick(Sender: TObject);
procedure btkurangClick(Sender:
Label2: TLabel;
Label3: TLabel;
bttambah: TButton;
btkali: TButton;
btminus: TButton;
btminusClick(Sender:
TObject);
procedure
btsmdgnClick(Sender:
TObject);
procedure
bttdksamaClick(Sender:
TObject);
btbagi: TButton;
procedure btandClick(Sender: TObject);
Edit1: TEdit;
procedure btorClick(Sender: TObject);
Edit2: TEdit;
procedure btclearClick(Sender: TObject);
Edit3: TEdit;
procedure btexitClick(Sender: TObject);
btlebih: TButton;
procedure btxorClick(Sender: TObject);
btkurang: TButton;
procedure FormCreate(Sender: TObject);
btsmdgn: TButton;
bttdksama: TButton;
btand: TButton;
btor: TButton;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
Label4: TLabel;
41
private
{ Private declarations }
public
// Variabel bersifat Public, Var ini
dapat dikenal di semua procedure
n1,n2 : integer;
hasil:real ;
{ Public declarations }
end;
var
Form3: TForm3;
procedure
TForm3.btminusClick(Sender:
TObject);
begin
n1:=strtoint(edit1.text);
n2:=strtoint(edit2.text);
hasil:=n1-n2 ;
edit3.Text:=floattostr(hasil);
end;
procedure
TForm3.btbagiClick(Sender:
TObject);
implementation
begin
{$R *.dfm}
edit3.Text:=floattostr(strtoint(edit1.Text)
procedure
/ strtoint(edit2.Text))
TForm3.bttambahClick(Sender:
TObject);
end;
procedure
TForm3.btlebihClick(Sender:
TObject);
nilai1,nilai2:integer;
var
hsl:real ;
n3:boolean;
begin
begin
nilai1:=strtoint(edit1.text);
n1:=strtoint(edit1.text);
nilai2:=strtoint(edit2.text);
n2:=strtoint(edit2.text);
hsl:=nilai1+nilai2;
n3:=n1>n2;
edit3.Text:=floattostr(hsl);
edit3.Text:=booltostr(n3);
end;
end;
42
procedure
n2:=strtoint(edit2.text);
TForm3.btkurangClick(Sender:
n3:=n1<>n2;
TObject);
edit3.Text:=booltostr(n3);
var
end;
n3:boolean;
begin
procedure TForm3.btandClick(Sender:
n1:=strtoint(edit1.text);
TObject);
n2:=strtoint(edit2.text);
var
n3:=n1<n2;
edit3.Text:=booltostr(n3);
n3:boolean;
begin
end;
n1:=strtoint(edit1.text);
procedure
n2:=strtoint(edit2.text);
TForm3.btsmdgnClick(Sender:
n3:=(n1>n2)AND(n1>5);
TObject);
edit3.Text:=booltostr(n3);
var
end;
n3:boolean;
begin
procedure
n1:=strtoint(edit1.text);
TObject);
n2:=strtoint(edit2.text);
var
n3:=n1=n2;
edit3.Text:=booltostr(n3);
end;
TForm3.btorClick(Sender:
n3:boolean;
begin
n1:=strtoint(edit1.text);
procedure
n2:=strtoint(edit2.text);
TForm3.bttdksamaClick(Sender:
n3:=(n1>n2)OR(n1>5);
TObject);
var
edit3.Text:=booltostr(n3);
end;
n3:boolean;
begin
n1:=strtoint(edit1.text);
43
procedure
TForm3.btclearClick(Sender: TObject);
begin
edit1.Text:='';
edit2.Text :='';
edit3.Text:='';
end;
procedure TForm3.btexitClick(Sender:
TObject);
begin
messagedlg
('Form akan ditutup',mterror,[mbok],0);
close; end;
procedure TForm3.btxorClick(Sender:
TObject);
var
n3:boolean;
begin
n1:=strtoint(edit1.text);
n2:=strtoint(edit2.text);
n3:=(n1>n2)XOR(n1>5);
edit3.Text:=booltostr(n3);
end;
end.
44
Catatan :
Pada saat melakukan eksekusi dengan menggunakan operator Logika dan perbandingan,
Nilai False akan menghasilkan 0 (nol) pada edit text hasil, sedangkan Nilai True akan
menghasilkan -1 (Minus satu) pada edit text hasil.
3.3.5. Operator String
a. Menggabungkan String
menggabungkan string adalah proses merangkai dua karakter atau lebih menjadi satu
kalimat atau kata yang baru. Operator string yang dikenal dalam Bahasa Delphi adalah
operator dengan simbol '+' (plus).
Contoh Penulisan :
Var
nama : string[20];
saya : string[15];
namasaya : string[50];
Begin
nama := Nama Saya adalah =;
saya := Azni ;
namasaya := nama + +saya;
ehasil.text := namasaya;
End;
Contoh Program
Hasil yang Diperoleh
Caption/Text
Name
Label 1
Nama Depan
Label 1
Label 2
Nama Tengah
Label2
45
Label 3
Nama Akhir
Label3
Label 4
Nama Lengkap
Label4
Editl
Edepan
Edit2
Etengah
Edit3
Eakhir
Edit4
Egabung
Button 1
Gabung
bgabung
Listing Program
Var
depan : string[20]; tengah : string[20];
akhir : string[20]; gabung : string[65];
begin
depan : = edepan.text ;
tengah : = etengah.text ;
akhir : = eakhir.text ;
gabung : = depan + + tengah + + akhir ;
elengkap.text : = gabung ;
end;
b. Menghapus Teks
Prosedur standart ini digunakan untuk menghapus atau mengurangi sebagian atau
seluruh karakter terhadap string atau teks.
Delete adalah prosedur standart yang digunakan untuk menghapus teks. Teks
merupakan kalimat atau string yang akan dihapau, Index menunjukan posisi awal yang
akan dihapus. Jumlah menunjukan jumlah karakter yang akan dihapus.
46
Contoh
1. Hasil Setelah Form Dijalankan
2.Design Form
Caption/Text
Name
Label 1
Nama Anda
Label 1
Label 2
Label2
Label 3
Label3
Label 4
Label4
Editl
Enama
Edit2
Eurut
Edit3
Ejumlah
Edit4
Ehasil
Button 1
OK
bOK
Button2
Close
Bclose
Group Box 1
Group box 1
47
4. Listing Program
48
2. Design Form
Caption/Text
Name
Label 1
Label 1
Label 2
Nama Anda
Label2
Label 3
Label3
Editl
Enama
Edit2
Ehasil
Button 1
OK
bOK
Button2
Close
Bclose
4. Listing Program
Program untuk mengeksekusi pencarian panjang karakter
Procedure Tform6.bokClick(Sender : TObject);
Var
Nama:string
Begin
Nama : = enama.text ;
Ehasil.text : = inttostr ( length (nama)) ;
End;
Bentuk Umum :
Pos (sustr, string);
49
Contoh
1. Hasil setelah form dijalankan
3. Design Properties
hasil :integer ;
Begin
karakter :=eawal.text ;
kar:= ecari.text ;
hasil := pos(kar, karakter);
ehasil.text := inttostr (hasil);
end;
Program untuk menutup form
Procedure Tform7.bcloseClick(sender:TObject)
Begin
Close;
End;
End.
Bentuk Umum :
Copy (teks, index, jumlah);
Penulisan awal diawali dengan perintah copy, dengan diikuti teks yang ditunjukan
teks. Awal pengambilan ditunjukkan dengan index, dan jumlah karakter yang akan
ditulis ulang ditunjukan dengan perintah jumlah.
Contoh :
1. Hasil setelah form dijalankan.
51
2. Design Form
3. Design Properties
2. Design Form
3. Desain Properties
Object
Caption/Text
Name
Label 1
Label 1
Label 2
Label2
Editl
eangka
Edit2
ehuruf
Button 1
OK
bOK
Groupboxl
Groupboxl
4. Listing Program
Procedure TForm7.bokClick (Sender : TObject);
Var
Angka : integer ;
Begin
Angka :=strtoint(angka.text);
Ehuruf.text := chr(angka);
End;
53
Bab IV
Percabangan
Bentuk Umum:
IF Syarat Then hasil ;
Contoh
If Nilai >80 then keterangan =lulus;
Atau
If strtoint(enilai.text) > 80 then eketerangan.text = lulus;
2. Percabangan untuk kondisi majemuk.
Merupakan operator percabangan yangdigunakan untuk menetukan pilihan dengan
kondisi yang dipenuhi lebih dari satu.
Bentuk Umum
If Syarat 1 then
Hasil1
Else
If Syarat2 then
Hasil2
Else
Hasil ; // Titik Koma berada di Statement terakhir
Atau
If KondisiA then
Begin
Hasil_A1;
Hasil_A2;
End
54
Contoh :
If nilai > 80 then
Grade= A
Else if nilai >70 then
Grade=B
Else
Grade= C ;
3.
55
B. Percabangan CASE
Case of adalah merupakan metode lain dari sebuah percabangan, berfungsi sama seperti
fungsi if yaitu untuk melakukan seleksi atas beberapa pilihan dengan kondisi sebagai
syarat yang harus terpenuhi. Secara fungsi case dan if tidak ada perbeaan tetapi untuk
penulisan fungsi case lebih mudah diterapkan untuk pilihan atau kondisi lebih dari satu.
Contoh :
Case Bilangan of
1: showmessage (Angka 1) ;
2: showmessage (Angka 2) ;
3: showmessage (Angka 3)
End;
56
B. Design Form
C. Desain Properties
Object
Name
Caption
Label 1
Label 1
Nama Pegawai
Label 2
Label2
Jabatan
Label 3
Label3
Gaji Pokok
Label 4
Label4
Tunjangan Status
Label5
Label5
Gaji Bersih
GroupBox
GroupBoxl
Status
RadioButtonl
Rtetap
Tetap
RadioButton2
Rhonorer
Honorer
Edit1
Enama
Edit2
Epokok
Edit3
Etunjangan
Edit4
Ebersih
Combo Box
Cjabatan
Button 1
Btotal
Total Gaji
Button 2
Blagi
Button 3
Bclose
Close
Jabatan
Gaji Pokok
Direktur
5000000
Manager
2000000
Karyawan
1000000
3. Pada Jendela String List Editor, seperti terlihat pada jendela berikut.
4. Ketikan kata sebagai kata pilihan pada jendela seperti contoh tersebut diatas.
5. Setelah selesai klik OK
6.
Melalui jendela code editor
Double click pada form, sebarang tempat dan ketikan program berikut ini.
begin
cjabatan.Items.Add('Direktur');
cjabatan.Items. Add(' Manager');
cjabatan.Items.Add(' Karyawan');
end;
58
begin
if rtetap.Checked = true then
a := strtof loat(epokok.Text);
hasil :=a*0.3;
etunjangan.Text := f loattostr(hasil)
end;
59
Program Bersih
Double click pada Isi Data Lagi, dan ketikan program berikut ini
procedure TForm3.blagiClick(Sender: TObject);
begin
cjabatan.Text := ' Jabatan';
enama.Text := ;
ebersih.Text := '0';
etunjangan.Text := '0';
epokok.Text := '0';
etetap.Checked := false;
rhonorer.Checked := false;
end;
Ketentuan Soal :
Gunakan perintah IF, untuk mencari Nama dokter, Spesialis dan Biaya ketika Kode
Dokter dipilih (klik)
60
Kode
Biaya Periksa
Nama Dokter
Spesialis
DRD01
dr Oka
Ahli Jantung
2000000
DRJ02
dr Yondra
Ahli Mata
150000
DRM03
dr Wulan
Ahli Gigi
50000
Dokter
Gunakan Perintah IF , untuk mencari nama obat dan harga obat ketika Kode Obat
diinput lalu diEnter.
Kode Obat
Nama Obat
Harga Obat
ADL11
Adalat Oros
600000
BIV22
Bio Vision
20000
ENK33
Enkasari
5000
61
Bab V
Perulangan
Merupakan kontrol program yang digunakan untuk suatu proses yang akan berjalan terus
menerus. Kondisi perulangan merupakan proses berjalannya program secara terus menerus dan
akan berhenti ketika proses mendapatkan kondisi yang sudah ditentukan.
Didalam Delphi megenal 3 jenis perulangan :
A. Perulangan For To Do
Perulangan dengan statement for adalah perulangan yang digunakan untuk melakukan
suatu proses dalam sebuah blik program. Proses perulangan For To Do dimulai
dengan nilai terkecil ke besar.
Bentuk Umum :
For variabel := nilai_awal to nilai_akhir do
Statement ;
Hasil : Bila program tersebut dijalankan maka nilai I akan ditampilkan pada edit1
dengan hasil sebagai berikut = 1 2 3 4 5
Bentuk Umum :
For variabel := nilai_awal Downto nilai_akhir do
Pernyataan ;
62
Contoh :
var
i : integer;
begin
for i := 5 Downto 1 do
edit2.SelText := inttostr(i);
end;
Hasil : Bila program tersebut dijalankan maka nilai I akan ditampilkan pada edit2
dengan hasil sebagai berikut = 5 4 3 2 1
C. Perulangan While Do
Perulangan While Do adalah statement perulangan akan terus melakukan suatu proses
selama kondisi/syarat yang ditentukan bernilai benar.
Bentuk Umum :
While Kondisi Do
Pernyataan ;
Contoh :
i : integer;
begin
i := 0;
while i < 5 do
begin
edit3.SelText := inttostr(i);
i := i + 1;
end;
end;
Bentuk Umum :
Repat Pernyataan Until Kondisi_logika
E. Latihan Perulangan 1
Buatlah Latihan perulangan dibawah ini :
1. Design Form
63
2. Coding
64
end.
F. Latihan Perulangan 2
Buat lahLatihan perulangan dibawah ini :
1. Design Form
Tombol OK diklik maka akan keluar kotak pesan (Input box) untuk menginput
nama barang dan harga barang yang dibeli. Begitu seterusnya sampai kondisi
dari total item terpenuhi.
Total Penjualan diperoleh dari penjumlahan harga barang yang dibeli.
Tombol Isi data lagi diberikan untuk mengulang pembelian.
Close untuk menutup Form
3. Properties
Object
Name
Caption
Groupbox1 Groupbox1
Daftar Penjualan
Groupbox2 Groupbox2
Groupbox3 Groupbox3
Edit1
Etgl
Edit2
Efaktur
Edit3
Eitem
Edit4
Etotal
Listbox1
Lnama
Listbox2
Lharga
Bitbtn1
Blagi
Keterangan
Bitbtn2
Bclose
&CLOSE
Button1
Bok
&OK
4. Coding
procedure TForm7.FormCreate(Sender: TObject);
begin
DateSeparator := '-';
ShortDateFormat := 'mm/dd/yyyy';
etgl.Text := 'Hari ini ' + DateToStr(Date);
end;
inputharga : string;
i : integer;
j : integer;
harga : real;
begin
harga := 0;
j := 0;
j:= strtoint(eitem.Text);
if j <= 0 then
begin
showmessage('Data Tidak boleh lebih kecil dari Nol');
exit;
end
else
begin
for i := 1 to j do
begin
inputnama := inputbox('INput','Ketikan Nama Barang','');
inputharga := inputbox('INput','Ketikan Harga Barang','');
lnama.Items.Add(inputnama) ;
lharga.Items.Add(inputharga);
harga := harga + strtofloat(inputharga);
end;
end;
etotal.Text := floattostr(harga);
end;
end.
67
G. Latihan Tugas
1. Hasil yang diinginkan :
2. Ketentuan soal :
Batas Awal dan Batas akhir diberikan untuk mengetahui nilai awal dan akhir
derajat celcius yang ingin di hasilkan
Penambahan diberikan untuk memberikan penambahan dari nilai awal untuk
mencapai nilai akhir.
Close adalah untuk keluar program
Rumus mencari Fahrenheit adalah = (1,8 * Celcius) + 32.
68
Bab VI
ARRAY
6.1 Pengertian Array
Array (larik) merupakan tipe data terstruktur dimana didalanya terdiri dari komponen
komponen yang mempunyai tipe data yang sama. Didalam satu array jumlah komponen
banyaknya adalah tetap. Didalam suatu larik atau array setiap komponen ditunjukkan oleh
suatu index yang unik. Index dari setiap komponen array menunjukan urutan data atau
identitas yang mewakili data yang ada didalamnya. Logika sederhananya array itu bisa
disamakan dengan dua orang dengan nama yang sama didalam suatu komunitas, untuk
membedakan antara nama yang satu atau dengan nama yang lain maka diberika initial
tambahan untuk setiap nama.
Contoh :
Var
A : array [1..4] of integer ;
B : array [1..5] of string ;
C : array [1..10] of real ;
Keterangan :
A,B,C : merupakan tanda pengenal / nam variabel dari array .
[ 1..4] : merupakan tipe index dari array, yang menunjukkan banyaknya data yang mampu
Disimpan.
Integer : Menunjukkan bahwa data yang diinput berupa beilangan bulat
6.3
69
Bentuk Umum :
Array [indexType, indexTypeN) of baseType
Keterangan = index type menunjukkan tipe data ordinal yang menunjukkan batasan atau
elemen maksimal terhadap seberapa besar variabel tersebut menyimpan komponen.
Contoh :
Var
Arrayku : array [1..5] of char
Bentuk Umum :
Array of baseType
Contoh :
Var
Nilai : array of real ;
Dari deklarasi tersebut nilai yang merupakan deklarasi array belum memperoleh nilai
yang tetap. Tetapi hanya diberikan batasan sebagai tipe data real. Untuk
mendeklarasikan array didalam suatu memori, caranya adalah dengan memanfaatkan
fungsi dari perinta sellength
Dari penggalan program tersebut nilai untuk array nilai tersebut mempunyai range
sebanyak atau cakupan 20 untuk tipe data real, dengan index dimuali dari 0 sampai
dengan 20.
6.4
Latihan Array 1
C. Hasil ketika Form dijalankan
70
D. Design Properties
Object
Caption/Text
Name
Label 1
Tanggal
Label 1
Label 2
Bulan
Label2
Label 3
Tahun
Label3
Label 4
Label4
GroupBoxl
Entry Tanggal
Groupboxl
Editl
Etgl
Edit2
Ebln
Edit3
Etahun
Edit4
Ehari
Command 1
OK
bok
E. Coding
71
6.5
Latihan Array 2
F. Desain Form
G. Coding
bclose: TBitBtn;
unit latarray2;
Label7: TLabel;
procedure
interface
FormCreate(Sender:
TObject);
procedure
uses
Windows,
Messages,
SysUtils,
FormActivate(Sender:
TObject);
procedure
ListBox1Click(Sender:
TObject);
procedure
bnewClick(Sender:
TObject);
type
Tform8 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure ejumlahKeyPress(Sender:
TObject; var Key: Char);
procedure enomorKeyPress(Sender:
TObject; var Key: Char);
procedure
Label4: TLabel;
TObject);
Label5: TLabel;
private
Label6: TLabel;
bcloseClick(Sender:
{ Private declarations }
ListBox1: TListBox;
Public
enomor: TEdit;
Procedure bersih;
emakanan: TEdit;
eharga: TEdit;
{ Public declarations }
end;
ejumlah: TEdit;
etotalharga: TEdit;
bnew: TBitBtn;
72
var
Form8: TForm8;
procedure
TForm8.ListBox1Click(Sender:
implementation
TObject);
begin
{$R *.dfm}
emakanan.Text:=listbox1.Items[listbox1.I
temindex];
Procedure TForm8.bersih;
case listbox1.ItemIndex of
begin
0: eharga.text:= '7000';
enomor.Clear;
1: eharga.text:= '5000';
emakanan.Clear;
2: eharga.Text:= '12000';
eharga.Clear;
3: eharga.Text:= '4500';
ejumlah.Clear;
4: eharga.Text:= '7500';
etotalharga.Clear;
5: eharga.Text:= '9000';
end;
6: eharga.text:= '25000';
end;
procedure
ejumlah.SetFocus;
TForm8.FormCreate(Sender:
end;
TObject);
begin
procedure TForm8.bnewClick(Sender:
menumakanan[1]:='Nasi Goreng';
TObject);
menumakanan[2]:='Bakso';
begin
menumakanan[3]:='Spagheti';
bersih;
menumakanan[4]:='Mie Ayam';
enomor.SetFocus;
menumakanan[5]:='Sate Ayam';
end;
menumakanan[6]:='Sate Kambing';
menumakanan[7]:='Steak';
procedure
bersih;
TForm8.ejumlahKeyPress(Sender:
end;
procedure
begin
TForm8.FormActivate(Sender:
TObject);
begin
var i :integer;
etotalharga.Font.Size:=14;
begin
etotalharga.Font.Color:=clblue;
enomor.SetFocus;
harga := strtocurr(eharga.text);
emakanan.Enabled:=false;
jumlah := strtocurr(ejumlah.Text);
eharga.Enabled:=false;
total:=harga*jumlah;
for i:= 1 to 10 do
etotalharga.Text:=currtostr(total);
end;
istbox1.Items.Append(menumakanan[i]);
end;
end;
73
end.
74
Bab VII
Prosedur
Prosedur adalah suatu program terpisah dan berdiri dalam suatu blok program dan berfungsi
sebagai sebuah sub program (program bagian). Penulisan prosedur diawali dengan kata prosedur
pada bagian Deklarasi program dan cukup menuliskan nama prosedur yang dibuat pada bagian
Implementasi.
Contoh
a. Pendeklarasian Prosedur
Penulisan pendeklarian sebuah prosedur dalam Delphi ditempatkan setelah kata public
agar dapat dikenali oleh semua object yang ada dalam proses program tersebut.
Penulisannya diawali dengan kata Procedure diikuti nama procedure.
Public
Procedure bersih;
b. Penulisan prosedur
Penulisan pogram prosedur terdapat dalam bagian implementation,
Procedure TForml.Bersih;
Begin
Enama.text := ";
Ealamat.text := ";
Ekota := ";
End;
75
c. Pemanggilan Prosedur
Pemanggilan prosedur terdapat dalam bagian implementation, pada umumnya
pemanggilan prosedur terdapat dalam suatu ruang lingkup object yang mempunyai
sebuah event. Cara pemenggilannya cukup hanya dituliskan nama prosedurnya saja.
atau ketika program prosedur digunakan pada object yang lain untuk memanggil program
yang sama kita hanya cukup menuliskan nama prosedurnya tanpa dibutuhkan
pendeklarasian prosedur baru.
76
Bab VIII
Fungsi
Contoh :
Function hitung (var a,b :real) : real ;
Penulisan blok fungsi diawali dengan kata cadangan begin dan diakhiri dengan end ;
B. Coding
77
78
B. Design Form
C. Design Properties
Object
Caption/Text
Name
Label 1
Nama Peminjam
Label 1
Label 2
Label2
Label 3
Label3
Label 4
Lama Pinjam
Label4
Label5
Besarnya
Uang
Yang
Harus
Label5
Dikembalikan
Label6
Label6
GroupBoxl
Groupboxl
Editl
Epeminjam
Edit2
Epinjam
Edit3
Ebunga
Edit4
Elama
Edit5
Ekembalian
Edit6
Ecicil
Button 1
Total
Btotal
Button2
Bersih
B bersih
Button3
Close
bclose
D. Coding
Fungsi Perhitungan Bunga
Function pangkat (x,y :real) :real;
begin
pangkat := exp(ln (x) *y) ;
end;
79
Program Total
Procedure TForm1.btotalClick (sender: TObject) ;
Var
a,b,c,d,e : real
begin
a:= strtofloat (ejumlah.text);
b:= strtofloat (ebunga.text);
c:= strtofloat (elama.text);
d:= bunga (a,b,c);
ekembalian.text :=floattostr(d)
ekembalian.text := formatfloat (#.###,0,d);
e := d/c
ecicil.text := floattostr(e);
ecicil.text :=formatfloat (#.###,0,e);
end;
Program Bersih
Procedure Tform1.bbersihClick (Sender :TObject);
Begin
Ejumlah.text := ;
Elama. Text := ;
Epeminjam.text := ;
Ebunga.text := ;
Ekembalian.text := ;
Ecicil.text := ;
End ;
80
Bab IX
Penggunaan Database Desktop
Tanpa Alias
Ketika kita akan mengaktifkan tabel yang disimpan di C didalam Folder Karyawan
dengan nama tabel_karyawan, maka kita kita harus menuliskan program sebagai
81
Dengan Alias
Pemanggilan program dengan alias kita tinggal panggil nama Alias baru kita tuliskan
nama tabel. Dengan alias tidak mengenal penggunaan folder yang bertumpuk, karena
Alias ditempatkan pada system Sistem Operasi
Langkah - langkahnya
1. Dari jendela Data base desktop pilih tools
2. pilih dan klik alias manager, perhatikan tampilan jendela Alias manager
2. Membuat Tabel
Setelah Database Dekstop diaktifkan, langkah berikut untuk membuat tabel =
1. Klik Menu File | New | table
2. Perhatikan tampilan jendela create table
3. Dari Jendela create table pilih dan klik pilihan table pada table type = Paradox
4. Klik Ok
Penjelasan Untuk Struktur tabel :
82
Field Name
Number
Money
= Tipe data yang hanya untuk angka. Sama seperti dengan Tipe
Data Number hanya berbeda pada jangkauan. Pada tipe data
number tidak mengenal dedsimal, tipe data money mengenal
adanya decimal dan format mata uang.
Short
Long Integer
Date
Time
Memo
Graphic
= Tipe Data untuk gambar. (..BMP, .PCX, .TIF, .GIF, and .EPS
file formats).
Logical
Size
= Tipe data yang hanya mengenal benar atau salah (Yes or No).
Catatan : Size yang kompatibel untuk diganti hanya tipe data Alpha dan memo.
83
Key
Catatan = untuk memberikan primary key cukup ditekan space bar atau double klik
pada field yang akan dibuat sebagai key ( ditandai dengan *)
Misal = Buatlah Struktur tabel untuk tabel_karyawan seperti berikut ini
84
Bab X
Kontrol Data Set dan Navigator
Kontrol Dataset merupakan control yang diberikan kepada tabel dalam suatu database. Hal ini
meliputi bagaimana data terhubung dengan tabel dari suatu database. Setelah terhubung
bagaimana proses menggerakkan record , baik itu keawal record, ke akhir record, ke record
sesudah maupuin ke record sebelumnya.
85
KOMPONEN
KETERANGAN
DELPHI
= tabel_karyawan
Active
= true
=tabel1
86
Gapok
Direktur
10000000
Manajer
8000000
Supervisor
5000000
Administrasi
3000000
Listing Programnya
Membuat procedure aktif, nonaktif, tampil dan kosong dibawah declarasi public
private
{ Private declarations }
public
procedure aktif;
procedure nonaktif;
procedure tampil;
procedure kosong;
{ Public declarations }
end;
implementation
{$R *.dfm}
enama.Enabled :=false;
malamat.Enabled :=false;
cbjabatan.Enabled :=false;
egapok.Enabled := false;
rlaki2.Enabled :=false;
rperempuan.Enabled :=false;
bsimpan.Enabled:=false;
end;
Untuk menambahkan isi field, beberapa edittext dalam keadaan aktif dan kosong
procedure TForm1.btambahClick(Sender: TObject);
begin
aktif;
kosong;
ekode.SetFocus;
bsimpan.Enabled :=true;
end;
Untuk menghapus isi field dan beberapa object edittext dalam keadaan nonaktif
procedure TForm1.bhapusClick(Sender: TObject);
begin
table1.Delete;
nonaktif;
table1.First;
end;
Membatalkan perintah
procedure TForm1.bbatalClick(Sender: TObject);
begin
kosong;
nonaktif;
table1.First;
tampil;
end;
Membuat pilihan jabatan dan akan tampil gaji pokok yang sudah ditentukan
procedure TForm1.cbjabatanClick(Sender: TObject);
begin
if cbjabatan.Text ='Direktur' then
egapok.Text:='10000000'
else
if cbjabatan.Text ='Manajer' then
egapok.Text:='8000000'
else
if cbjabatan.Text ='Supervisor' then
89
egapok.Text:='5000000'
else
if cbjabatan.Text ='Administrasi' then
egapok.Text:='3000000'
else
egapok.Text:='0';
end;
Pada saat input kode pegawai yang sudah ada maka akan tampil pesan
procedure TForm1.ekodeKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
if table1.FindKey([ekode.Text]) then
begin
showmessage('Data Sudah ada');
exit;
end
else
aktif;
ekode.Enabled := false;
form1.ActiveControl := enama;
end;
end;
90
Bab XI
Pembuatan Database menggunakan Microsoft Access 2003
11.1 Mengenal Database dan Tipe Data pada Microsoft Access 2003
Microsoft Access merupakan salah satu contoh DBMS relasional (atau disebut RDBMS,
dengan R kependekan dari Relational) yang sangat terkenal dilingkungan PC . pada microsoft
Access, sebuah database disimpan dalam sebuah berkas dengan ekstensi .MDB. didalam berkas
inilah semua objek yang terkait dengan database, termasuk semua tabel, disimpan.
Sebelum melangkah lebih jauh dalam mempelajari dan mempraktekkan operasi database
pada microsoft Access. Anda perlu mengetahui tipe tipe data yang tersedia karena setiap field
yang anda definisikan haruslah memiliki tipe data, selain propoerti properti yang lain.
Untuk membuat tabel, pilih menu tables Create table in Design View
Buatlah Struktur Table table dibawah ini :
1. Table User
Nama Field Type Data Size Keterangan
Iduser
Text
Nmuser
Text
25
Password
Text
10
Hak_akses
Text
Primary Key
91
2. Table Supplier
Nama Field Type Data Size Keterangan
Idsup
Text
Nmsup
Text
25
Telp
Text
20
alamat
Text
50
Primary Key
3. Table Buku
Nama Field Type Data Size Keterangan
Kodebuku
Text
Nmbuku
Text
25
Jenis_buku
Text
10
Penerbit
Text
50
Pengarang
Text
50
Harga
Number
Stok
Number
Primary Key
4. Table Pembelian
Nama Field Type Data Size Keterangan
Notrans
Text
10
Primary Key
Tgltrans
Date/Time
Total
Number
Idsup
Text
Foreign Key
Iduser
Text
Foreign Key
5. Table Detail_beli
Nama Field Type Data Size Keterangan
Notrans
Text
Qty
Number
Subtot
Number
Kodebuku
Text
10
Foreign Key
Foreign Key
6. Table Sementara
Nama Field Type Data Size Keterangan
Kodebuku
Text
Nmbuku
Text
25
Harga
Number
Qty
Number
Subtotal
Number
Primary Key
92
93
Bab XII
Koneksi Database dan Perancangan Form Master Supplier
12.1 Mengkoneksikan ke Database
1. Masukkan Komponen ADOTable(ADODB) pada Tab ADO ke Kanvas Form
3. Setelah itu akan tampil layar alamat Connection String (untuk mengambil
alamat database).
4. Akan muncul Data Link Properties pada tab Provider, selanjutnya Pilih :
Microsoft Jet 4.0 OLE DB Provider.
94
5. Lalu Data Link Properties pada tab Connection, selanjutnya pilih nama
databasenya.
6. Klik Ok, lalu pilih properties Table dan pilih nama table yang akan
dikoneksikan. Selanjutnya pilih Active pada Propeties, ganti menjadi TRUE
untuk mengaktifkan Table.
95
Object
Edit Text
Edit Text
Edit Text
Edit Text
Button
Button
Button
ADO Table
Datasource
Dbgrid1
Keterangan
Kode Supplier
Nama Supplier
Telp
Alamat
Button ADD
Button SAVE
Button Exit
ADO Table
DataSet : Adosup
Datasource : Datasup
Name
Ekdsup
Enmsup
Etelp
Ealamat
Btnadd
Btnsave
Btnexit
Adosup
Datasup
Dbgrid1
12.5 Coding
Membuat Deklarasi Procedure:
private
{ Private declarations }
public
procedure aktif;
procedure bersih;
procedure pasif ;
{ Public declarations }
end;
Kode Procedure aktif, bersih dan pasif
implementation
ekdsup.Text:='';
{$R *.dfm}
enmsup.Text:='';
procedure tform1.aktif;
etelp.Text:='';
begin
ealamat.Text:='';
ekdsup.Enabled := true;
end;
enmsup.Enabled :=true;
procedure tform1.pasif;
etelp.Enabled := true;
begin
ealamat.Enabled :=true;
ekdsup.Enabled := false;
end;
enmsup.Enabled :=false;
etelp.Enabled := false;
procedure tform1.bersih;
ealamat.Enabled :=false;
begin
end;
96
97
98
Bab XIII
Perancangan Form Master Buku
99
13.4 Coding
unit form_buku;
interface
uses
Windows, Messages, SysUtils,
Variants, Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls, Grids, DBGrids,
DB, ADODB;
type
TForm2 = class(TForm)
Label1: TLabel;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
enmbuku: TEdit;
epenerbit: TEdit;
epengarang: TEdit;
eharga: TEdit;
estok: TEdit;
rdumum: TRadioButton;
rdnonumum: TRadioButton;
DataSource1: TDataSource;
adobuku: TADOTable;
DBGrid1: TDBGrid;
btnadd: TButton;
btnsave: TButton;
btnbottom: TButton;
btnback: TButton;
btntop: TButton;
btnnext: TButton;
btncancel: TButton;
btndel: TButton;
btnedit: TButton;
btnexit: TButton;
ekdbuku: TEdit;
GroupBox2: TGroupBox;
Label9: TLabel;
ecari: TEdit;
btnfind: TButton;
procedure btnaddClick(Sender:
TObject);
procedure btnnextClick(Sender:
TObject);
procedure btntopClick(Sender:
TObject);
procedure btnbackClick(Sender:
TObject);
procedure btnbottomClick(Sender:
TObject);
procedure FormActivate(Sender:
TObject);
procedure btncancelClick(Sender:
TObject);
procedure btndelClick(Sender:
TObject);
procedure btneditClick(Sender:
TObject);
procedure btnsaveClick(Sender:
TObject);
procedure btnfindClick(Sender:
TObject);
procedure btnexitClick(Sender:
TObject);
procedure FormCreate(Sender:
TObject);
private
{ Private declarations }
public
procedure aktif;
procedure pasif;
procedure bersih;
procedure tampil;
procedure no_otomatis;
{ Public declarations }
end;
var
Form2: TForm2;
isi: boolean; // variabel
penampung untuk penyimpanan
implementation
{$R *.dfm}
100
procedure tform2.aktif;
begin
ekdbuku.enabled:= true;
enmbuku.Enabled:=true;
rdumum.Enabled:=true;
rdnonumum.Enabled:=true;
epenerbit.Enabled:=true;
epengarang.Enabled:=true;
eharga.Enabled:=true;
estok.Enabled:=true;
end;
procedure tform2.pasif ;
begin
ekdbuku.enabled:= false;
enmbuku.Enabled:=false;
rdumum.Enabled:=false;
rdnonumum.Enabled:=false;
epenerbit.Enabled:=false;
epengarang.Enabled:=false;
eharga.Enabled:=false;
estok.Enabled:=false;
end;
procedure tform2.bersih;
begin
ekdbuku.Text:='';
enmbuku.Text:='';
rdumum.Checked:=false;
rdnonumum.Checked:=false;
epenerbit.Text:='';
epengarang.Text:='';
eharga.Text:='0';
estok.Text :='0';
end;
procedure tform2.no_otomatis;
var
nomor:integer;
begin
adobuku.Refresh;
If adobuku.RecordCount = 0 Then
begin
ekdbuku.Text := 'BOOK' + '01' ;
end
else
begin
adobuku.Last;
nomor := strtoint(copy(adobuku['kodebuku'],5,2)); // mengambil 2 karakter angka
dibelakang
inc(nomor);
if nomor<10 then
ekdbuku.Text:='BOOK'+'0'+ inttostr(nomor)
else
ekdbuku.Text:='BOOK'+inttostr(nomor);
ekdbuku.Enabled:=false;
end;
end;
procedure tform2.tampil ;
begin
if adobuku.RecordCount <>0 then
begin
ekdbuku.Text:=adobuku['kodebuku'];
enmbuku.Text:=adobuku['nmbuku'];
101
if adobuku['jenis_buku']='Umum' then
rdumum.Checked:=true
else
rdnonumum.Checked:=true;
epenerbit.Text:=adobuku['penerbit'];
epengarang.Text:=adobuku['pengarang'];
eharga.Text:=inttostr(adobuku['harga']);
estok.Text:=inttostr(adobuku['stok']);
end;
end;
procedure TForm2.btnaddClick(Sender: TObject);
begin
isi:=true;
bersih;
aktif;
no_otomatis;
btnadd.Enabled:= false;
btncancel.Enabled:=true;
btnsave.Enabled:=true;
btndel.Enabled:=false;
btnedit.Enabled:=false;
btnexit.Enabled :=false;
btnfind.Enabled:= false;
end;
procedure TForm2.btnnextClick(Sender: TObject);
begin
adobuku.Next;
if adobuku.Eof = true then
begin
showmessage('Sudah Diakhir data ') ;
adobuku.Last;
end;
tampil;
end;
procedure TForm2.btntopClick(Sender: TObject);
begin
adobuku.First;
tampil;
end;
procedure TForm2.btnbackClick(Sender: TObject);
begin
adobuku.Prior;
if adobuku.Bof=true then
begin
showmessage('sudah diawal record');
adobuku.First;
end;
tampil;
end;
procedure TForm2.btnbottomClick(Sender: TObject);
begin
adobuku.Last;
tampil;
end;
102
adobuku.Append;
adobuku['kodebuku']:=ekdbuku.Text;
adobuku['nmbuku']:=enmbuku.Text;
if rdumum.Checked=true then
adobuku['jenis_buku']:='Umum'
else
adobuku['jenis_buku']:='NonUmum';
adobuku['penerbit']:=epenerbit.Text;
adobuku['pengarang']:=epengarang.Text;
adobuku['harga']:=strtoint(eharga.Text);
adobuku['stok']:=strtoint(estok.Text);
adobuku.Post
end
else
begin
isi:=false;
showmessage('Data Akan diupdate');
adobuku.Edit ;
adobuku['nmbuku']:=enmbuku.Text;
if rdumum.Checked = true then
adobuku['jenis_buku']:='Umum'
else
adobuku['jenis_buku']:='NonUmum';
adobuku['penerbit']:=epenerbit.Text;
adobuku['pengarang']:=epengarang.Text;
adobuku['harga']:=strtoint(eharga.Text);
adobuku['stok']:=strtoint(estok.Text);
adobuku.Post
end ;
bersih;
pasif ;
btnadd.Enabled:= true;
btncancel.Enabled:=false;
btnsave.Enabled:=false;
btndel.Enabled:=false;
btnedit.Enabled:=false;
btnexit.Enabled :=true;
btnfind.Enabled:= true;
end;
procedure TForm2.btnfindClick(Sender: TObject);
begin
if adobuku.Locate('kodebuku',ecari.Text,[])then
begin
showmessage('Data Buku ada!');
ecari.Text:='';
tampil;
btnadd.Enabled:= false;
btncancel.Enabled:=true;
btnsave.Enabled:=false;
btndel.Enabled:=true;
btnedit.Enabled:=true;
btnexit.Enabled :=false;
btnfind.Enabled:= false;
end;
end;
procedure TForm2.btnexitClick(Sender: TObject);
begin
close;
end;
104
Bab XIV
Perancangan Form Transaksi Pembelian
14.1 Logika Program
Buatlah Prosedure aktif,pasif dan bersih
Buatlah Prosedure Grid_bersih untuk menghapus data sementara (keranjang belanja)
Buatlah prosedure penomoran otomatis untuk menampilkan no transaksi secara urut
sesuai data yang telah disimpan. Format penomoran ( TR- 2digit bulan transaksi 2
digit tahun transaksi no urut 3 digit). Contoh : TR0712-001, TR0712-001.
Buatlah prosedure untuk menghitung Total dari jumlah subtotal keseluruhan pada tabel
sementara.
Form pertama kali dijalankan maka semua objek bersih, pasif dan tanggal sistem
keluar.
Diklik Add, maka no transaksi akan keluar, semua objek aktif.
ID Supplier diisi dan dilakukan Validasi data pada tabel Supplier, jika ditemukan maka
nama supplier dan telp akan terisi.
Isi Combo box pada kode buku diambil dari tabel buku, dipilih kode buku maka nama
buku dan harga terisi, setfokus pada jumlah beli.
Jumlah beli diisi untuk satu jenis buku, setelah di enter maka subtotal keluar dari
perkalian jumlah beli dikali harga buku.
Button Beli diklik maka data buku yang dibeli akan masuk pada keranjang belanja.
Karena masih dikeranjang belanja, stok buku belum berkurang pada tabel buku. Jika
ada kode buku yang sama diinput lebih dari 1 kali kedalam keranjang belanja dengan
jumlah beli yang berbeda, maka hanya diedit jumlah beli dan subtotalnya tanpa
menambahkan record baru.
Jika sudah disimpan dengan mengklik button SAVE maka akan disimpan kedalam
tabel Detail_beli dan tabel Transaksi .
Button exit untuk keluar dari form
105
14.4 Coding
private
{ Private declarations }
public
procedure bersih;
procedure aktif;
procedure pasif;
procedure no_otomatis;
procedure hitung;
procedure gridbersih;
{ Public declarations }
end;
var
Form3: TForm3;
mtotal:real;
implementation
{$R *.dfm}
procedure tform3.gridbersih ; //untuk menghapus data pada keranjang Belanja
begin
if adosem.RecordCount<>0 then
begin
adosem.First ;
while not adosem.eof do
begin
adosem.Delete ;
adosem.Next;
adosem.Refresh
end;
end;
end;
procedure tform3.hitung; // Untuk menghitung total dari subtotal pada tabel Sementara
begin
mtotal:=0;
if adosem.RecordCount<>0 then
begin
adosem.First;
while not adosem.eof do
begin
mtotal:=mtotal+adosem['subtotal'];
adosem.Next;
106
end;
end
else
begin
mtotal:=0;
end;
etotal.Text:=floattostr(mtotal);
end;
procedure tform3.bersih;
begin
enotrans.Text:='';
etgl.Text:='';
eidsup.Text:='';
enmsup.Text:='';
cbkdbuku.Text:='';
enmbuku.Text:='';
eharga.Text:='0';
ejumbel.Text:='0';
esubtot.Text:='0';
etotal.Text:='0';
end;
procedure tform3.aktif;
begin
enotrans.Enabled:=True ;
etgl.Enabled:=True ;
eidsup.Enabled:=True ;
enmsup.Enabled:=True ;
cbkdbuku.Enabled:=True ;
enmbuku.Enabled:=True ;
eharga.Enabled:=True ;
ejumbel.Enabled:=True ;
esubtot.Enabled:=True ;
etotal.Enabled:=True ;
end;
procedure tform3.pasif;
begin
enotrans.Enabled:=false ;
etgl.Enabled:=false ;
eidsup.Enabled:=false ;
enmsup.Enabled:=false ;
cbkdbuku.Enabled:=false ;
enmbuku.Enabled:=false ;
eharga.Enabled:=false ;
ejumbel.Enabled:=false ;
esubtot.Enabled:=false ;
etotal.Enabled:=false;
end;
tgl,bln :string;
begin
tgl:=copy(etgl.Text,1,2);
bln:=copy(etgl.Text,4,2);
adopembelian.Refresh;
If adopembelian.RecordCount = 0 Then
begin
enotrans.Text := 'TR' +tgl+bln+'-'+'001' ;
end
else
begin
adobuku.Last;
nomor := strtoint(copy(adobuku['kodebuku'],5,2));
inc(nomor);
if nomor<100 then
enotrans.Text:='TR' + tgl + bln +'-'+ '00' + inttostr(nomor)
else if nomor<10 then
enotrans.Text:='TR' + tgl + bln +'-'+ '0' + inttostr(nomor)
else
enotrans.Text:='TR' + tgl + bln +'-' + inttostr(nomor);
enotrans.Enabled:=false;
end;
end;
procedure TForm3.btnaddClick(Sender: TObject);
begin
if btnadd.Caption='ADD' then
begin
btnadd.Caption:='CANCEL';
aktif ;
bersih ;
etgl.Text:=datetostr(date());
no_otomatis;
end
else
begin
btnadd.caption:='ADD';
pasif ;
bersih;
gridbersih;
end;
end;
procedure TForm3.eidsupKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
if adosup.Locate('idsup',eidsup.Text,[]) then
begin
showmessage('Data Customer ada!');
enmsup.Text:=adosup['nmsup'];
etelp.Text:=adosup['telp'];
end
else
begin
showmessage('Data Customer Tidak ada!');
exit;
end;
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
adobuku.First;
while not adobuku.eof do
108
begin
cbkdbuku.Items.add(adobuku['kodebuku']);
adobuku.Next;
end;
end;
procedure TForm3.cbkdbukuClick(Sender: TObject);
begin
if adobuku.locate('kodebuku',cbkdbuku.Text,[]) then
begin
enmbuku.Text:=adobuku['nmbuku'];
eharga.Text:=adobuku['harga'];
ejumbel.SetFocus;
end;
end;
procedure TForm3.btnbeliClick(Sender: TObject);
begin
if adosem.locate('kodebuku',cbkdbuku.Text ,[]) then
begin
adosem.Edit;
adosem['qty'] :=adosem['qty']+strtoint(ejumbel.Text);
adosem['subtotal']:=adosem['subtotal']+strtoint(esubtot.Text);
adosem.Post;
end
else
begin
adosem.Append;
adosem['kodebuku']:=cbkdbuku.Text;
adosem['nmbuku']:=enmbuku.Text;
adosem['harga']:=strtoint(eharga.Text);
adosem['qty']:=strtoint(ejumbel.Text);
adosem['subtotal']:=strtoint(esubtot.Text);
adosem.Post;
end;
hitung;
cbkdbuku.Text:='';
enmbuku.Text:='';
eharga.Text:='';
ejumbel.Text:='0' ;
esubtot.Text:='0'
end;
procedure TForm3.btnexitClick(Sender: TObject);
begin
close;
end;
procedure TForm3.btnsaveClick(Sender: TObject);
begin
adosem.First;
while not adosem.eof do
begin
adodetail.Append;
adodetail['notrans']:=enotrans.Text;
adodetail['kodebuku']:=adosem['kodebuku'];
adodetail['qty']:=adosem['qty'];
if adobuku.locate('kodebuku',adodetail['kodebuku'] ,[]) then
begin
adobuku.Edit;
adobuku['stok'] :=adobuku['stok']+adodetail['qty'];// menambahkan stok di tabel buku
end;
adodetail['subtot']:=adosem['subtotal'];
adodetail.Post;
109
adosem.Next;
end;
adopembelian.append ;
adopembelian['notrans']:=enotrans.Text;
adopembelian['tgltrans']:=etgl.Text;
adopembelian['idsup']:=eidsup.Text;
adopembelian['total']:=strtofloat(etotal.Text);
adopembelian['iduser']:=eiduser.Text;
adopembelian.Post;
showmessage('Data Telah Tersimpan');
bersih;
pasif;
gridbersih;
end;
110
BAB XV
PEMBUATAN LAPORAN
Delphi 7 menyediakan dua library untuk membuat Report, yaitu Quick Report dan Rave
Report. Quick report sudah menjadi bagian dari Delphi 3. Didalam Delphi 7, Quick Report akan
digantikan oleh Rave Report. Ketika kita menginstall Delphi Quick Report tidak secara otomatis
diinstall, sehingga kita perlu menginstallnya sendiri.
Didalam Modul matakuliah Praktek Algoritma dan Pemrograman II (Delphi) ini akan
menggunakan Rave Report dan diharapkan mahasiswa dapat mengembangkan penggunaan Rave
Report secara lebih kompleksitas lagi untuk menghasilkan Dokumen Output yang lebih baik lagi.
RVProject
RVDatasetConnection
3. Setelah dikoneksikan, Doble klik RV Project untuk membuka Layar Rave Report seperti
tampilan dibawah ini:
111
Report Component
Lembar Kerja Report
Gambar 2.2 Tampilan Rave Report
4. Selanjutnya kita pilih tabel yang akan kita buat Laporan List dengan cara pilih File-New
data Object
5. Pilih Menu Direct Data View, lalu pilih RVDatasetConnection3 untuk mengkoneksikan
ke Tabel Barang setelah itu Finish.
6. Setelah memilih koneksinya, selanjutnya kita membuat Laporan menggunakan Wizard
dengan cara :
Pilih Menu bar Tool-Report wizard-Simple Table.
Maka akan tampil layar seperti dibawah ini :
Next
112
Pilih Field yang akan ditampilkan-pilih field yang akan dijadikan Unik yaitu
Idbrg
Next
G
a
m
b
a
r
2
.
4
T
a
m
p
i
lan Laporan Barang
113
3. Tentukan Alias yang sudah dibuat dan Driver nya Standard. Lalu OK
4. Selanjutnya kita buat Relasi antar tabel dengan cara : File-New data Object-Driver
data View-Database1(Sesuai koneksi yang sudah dilakukan di Perintah ke-3).
5. Selanjutnya Drag Tabel yang akan direlasikan kedalam Query Advanced Designer.
Selanjutnya Ceklist Semua Field kecuali Idbrg pada Tabel Barang dan Nocust pada
Tabel Customer. Lalu OK
114
115
BAB XVI
PEMBUATAN MENU UTAMA.
Sekarang tiba saatnya kita membuat Menu utama dari program yang sudah kita buat di
Kasus 1. Menu utama yang akan kita buat berbentuk menu pull-down yaitu menu yang
mempunyai pilihan (menu) utama berjajar secara mendatar dibagian atas jendela program. Setiap
menu utama, dapat mempunyai submenu yang berada pada kotak dibawah tiap menu utama dan
submenu tersebut diatur bertumpuk dalam kotak submenu. Submenu hanya akan ditampilkan jika
menu utama sedang terpilih atau aktif. Tiap submenu, nantinya dapat mempunyai sub-submenu
yang ditampilkan disebelah kanan submenu yang bersangkutan dalam kotak sub-submenu.
Demikian seterusnya.
Adapun cara pembuatan Menu utama sebagai berikut :
1. Bukalah Project Penjualan pada kasus 1 yang sudah dibuat.
2. File-New Form untuk membuat Form Menu Utama
3. Pada Menu Standard, pilih Component Main Menu dan diletakkan pada Form.
4. Ubah Property Name menjadi :Menuutama. Selanjutnya double klik pada Objek
Menuutama maka akan tampil Menu Desaigner. Silahkan Ganti Caption dari Submenu
dan Sub-subMenu seperti contoh dibawah ini :
SubMenu Sub-subMenu
Transaksi Transaksi Penjualan
Laporan
Laporan Barang
Laporan Transaksi
Exit
5. Setelah
itu
tutup
Jendela
Mneu
Desaigner.
Masukkan
RaveProject
dan
116
6. Lalu Double Klik pada setiap Sub-submenu untuk meletakkan Listing Programnya.
unit menutama;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, RpDefine, RpRave, RpCon, RpConDS, RpConBDE, DB, DBTables;
type
TForm5 = class(TForm)
MainMenu1: TMainMenu;
TRANSAKSI1: TMenuItem;
FormTransaksi1: TMenuItem;
Laporan1: TMenuItem;
LaporanBarang1: TMenuItem;
LaporanTransaski1: TMenuItem;
Exit1: TMenuItem;
RvProject1: TRvProject;
RvDataSetConnection1: TRvDataSetConnection;
RvDataSetConnection2: TRvDataSetConnection;
RvDataSetConnection3: TRvDataSetConnection;
RvDataSetConnection4: TRvDataSetConnection;
procedure FormTransaksi1Click(Sender: TObject);
procedure LaporanBarang1Click(Sender: TObject);
procedure LaporanTransaski1Click(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
117
var
Form5: TForm5;
implementation
uses form_penjualan;
{$R *.dfm}
end;
end;
end.
7. Selanjutnya silahkan membuat Menu Utama sesuai dengan Study Kasus Inventory
dengan ketentuan sebagai berikut :
SubMenu Sub-subMenu
Master
Form Supplier
Form Buku
Transaksi
Transaksi Pembelian
Laporan
Laporan Buku
118
Laporan Supplier
Laporan Pembelian
Exit
119
BAB XVII
PEMBUATAN LOGIN DAN PACKET PROGRAM
Coding
procedure TForm9.Timer1Timer(Sender: TObject);
begin
ProgressBar1.StepBy(1);
ProgressBar1.Step:=ProgressBar1.Step+1 ;
If ProgressBar1.Step =100 then
begin
form1.Show;
form9.Hide;
end
end;
120
Coding
var
Form1: TForm1;
y:Integer;
id:string;
implementation
uses ustartup,umenu_utama, StrUtils;
{$R *.dfm}
procedure Tform8.BtnexitClick(Sender: TObject);
begin
if(Application.MessageBox('MO keluar y?',MB_YESNO+MB_ICONWARNING)=idyes) then
begin
close;
form9.Close;
end
else
MessageDlg('ga jadi deh',mtInformation,[mbok],0 )
end;
procedure Tform8.FormActivate(Sender: TObject);
begin
ADOuser.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
'inventory.mdb' +';Persist Security Info=False;';
ADOuser.TableName:='tbluser';
ADOuser.Active:=True;
edit1.SetFocus;
end;
121
end
end
end
else if (edit1.Text='')and(edit2.Text='')then
begin
MessageDlg('nama user dan password masih kosong',mtInformation,[mbok],0 );
edit1.SetFocus;
end
else
begin
MessageDlg('mungkin nama user anda salah atau belum di input, coba deh
lagi',mtWarning,[mbok],0 );
edit1.SetFocus;
end
end;
END.
123
BAB XVIII
PRESENTASI TUGAS PROJECT PROGRAM
MENGGUNAKAN BORLAND DELPHI
18.1 Kriteria Tugas
Mahasiswa
WAJIB
membuat
suatu
Project
Program
dengan
menggunakan
Pemrograman Delphi dengan Software Database Access 2003 dan Laporan Rave Report. Dalam
pembuatan program juga harus disertakan tentang dokumen masukan dan keluaran ,
Normalisasi, Spesifikasi file, Pengkodean, HIPO dan Flowchart untuk mendukung Manual
Book yang WAJIB dibuat oleh Mahasiswa.
Jenis tugas yang diberikan berupa tugas Kelompok, dimana dalam 1 kelompok terdiri
dari 5 6 mahasiswa (tergantung kapasitas mahasiswa). Penilaian dilakukan pada saat
presentasi manual book dan demo program didepan Instruktur terkait.
Bahan tugas yang dikumpulkan ke Instruktur terkait adalah Manual book dan CD
Program yang terdiri dari Bahan Presentasi dan Project Program.
Bab I : Pendahuluan
Latar Belakang
Maksud Dan Tujuan
Metode Penelitian
Ruang Lingkup
Bab II : Pembahasan
Landasan Teori
Analisa Kasus ( Pembahasan / Perancangan)
124
125