Anda di halaman 1dari 125

Modul Praktek Laboratorium Komputer

Disusun Oleh:

Ika Yuniva M.Kom


Mia Rosmiati, S.Kom
Akademi Manajemen Informatika & Informatika

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.

c. Sejarah Borland Delphi


1. Delphi versi 1 (berjalan pada windows 3.1 atau windows 16 bit)
2. Delphi versi 2 (Berjalan pada windows 95 atau delphi 32 bit)
3. Delphi versi 3 (berjalan pada windows 95 keatas dengan tambahan fitur internet atua
web)
4. Perkembangan selanjutnya diikuti dengan Delphi versi 4, 5 dan 6.
5. Delphi versi 7 terdapat vitur .net dengan tambahan file XML
6. Versi yang terkini adalah Delphi 8.0 yang memiliki terdapat komponen BPD (Borland
Data Providers)

1.2. OOP (Object Oriented Programming)


OOP adalah metode pemograman dengan membentu sebuah aplikasi yang
mendekati keadaan dunia yang sesungguhnya. Hal itu bisa dilakukan dengan cara
mendisain object untuk menyelesaikan masalah.
2

1. Tiga unsur OOP


a. Encapsulation atau pemodelan
Encapsulation adalah konsep penggabungan data dengan operator. Dalam konsep
pemodelan data dan operasi menjadi satu kesatuan yang disebut object.
Encapsulation juga disebut dengan penyembunyian informasi (information hiding)
Contoh = ketika kita menyalakan sebuah TV kita tidak tahu apa yang terjadi dengan
proses dan percakapan antar alat yang berhubungan dengan TV tersebut
sehingga mampu menampilkan sebuah gambar.
Atau = ketika melakukan klik pada subuah object dalam suatu aplikasi program kita
tidak tahu apa yang dilakukan program sehingga ditampilkan hasil yang
sesuai.

Catatan = dari dua contoh kasus tersebut terdapat kesamaan proses mengenai
information hiding yang tidak diketahui oleh user sampai hasil ditampilkan.

b. Inheritance atau penurunan


Inherintance adalah sebuah object yang dapat diturunkan menjadi object yang baru
dengan tidak menghilangkan sifat asli dari object tersebut.

Contoh = TV merupakan salah satu media elektronik yang dgunakan untuk


menampilkan gambar dengan tujuan untuk memberikan informasi kepada
konsumen. Secara umum TV memunyai cara kerja yang sama dengan media
elektronik yang lain dlam proses penyampaian informasi, tetapi mempunyai
sifat yang unik yang dapat membedakan dengan media electronik yang ada.
Atau = Dalam aplikasi program kita sering menggunakan command button, untuk
beberapa perintah yang berbeda.

c. Polymorphism atau Polimorfisme


Polymorphism merupakan penggunaan berbagai macam object yang berbeda tetapi
secara fungsi bergantung pada satu object sebagai induk, dengan cara pelaksanaan yang
berbeda - beda.

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.

1.3. Delphi dan OOP (Object Oriented Programming)


Secara default ketika kita merancang suatu aplikasi program, mau tidak mua dan tanpa kita
sadari bahwa kita telah menerapkan OOP, walupun secara teori kita kurang memahami
OOP dalam arti yang sebenarnya.

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;

1.4. IDE DELPHI


a. langkah - langkah mengaktifkan Delphi
a. Klik start
b. pilih program Files
c. pilih Borland Delphi
d. pilih dan klik Delphi 7

b. Jendela Utama Delphi

Gambar 1.1 Jendela Utama Delphi


4

c. Bagian - bagian dari Jendela Delphi

1. Object Tree View


Merupakan sebuah diagram pohon yang menggambarkan hubungan logis
menghubungkan semua komponen yang terdapat dalam suatu proyek program.
Komponen tersebut meliputi form, modul atau frame. Fungsinya digunakan untuk
menampilkan seluruh daftar komponen program dalm sebuah aplikasi program sesuai
dengan penempatnnya.

Gambar 1.2 Jendela Object Tree View

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.

Gambar 1.3 Jendela Inspector ( Properties )

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.

Gambar 1.4 Jendela Events pada Object Inspector

3. Form Designer
Merupakan tempat yang digunakan untuk merancang semua aplikasi yang diambil dari
komponen pallete.

Gambar 1.5. Jendela Events pada Object Inspector

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.

Gambar 1.6. Jendela Komponen Pallete

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.

Gambar 1.7 Jendela Code Editor

6. Code Explorer
Jendela yang digunakan untuk menampilkan seluruh variabel, type, dan rountine yang
didefinisikan pada sebuah unit.

Gambar 1.8 Jendela Code Explorer

7. Code Diagram
Merupakan fasilitas pada delphi yang digunakan untuk mendesain sebuah diagram atas
komponen - komponen yang digunakan dalam seatu rancangan aplikasi.

Gambar 1.9. Jendela Code Diagram

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

Gambar 1.10 Gambar Form Perkenalkan!!!

10

b. Desain Form

Gambar 1.20 Gambar Desain Form Perkenalkan

c. Desian Properties
Object

Name

Caption

Label 1

Label 1

Nama Mata Kuliah

Label 2

Label 2

Kampus

Label 3

Lnama

Label3

Label 4

Lalamat

Label4

Label 5

Ltanggal

Label 5

Label 6

Ljam

Label 6

Timer ( diambil dari

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

label3.Caption:='Borland Delphi 7';


label4.Caption:='Bina Sarana Informatika';
end;

2. Untuk keluar dari program user mengklik Button keluar


procedure TForm1.bkeluarClick(Sender: TObject);
begin
close;
end;
3. Untuk Menampilkan Tanggal dan Jam
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Ltanggal.Text :=datetostr(date);
Ljam.Text=timetostr(time);
end;

1.6. Latihan Membuat Program


a. Form Setelah dijalankan

Gambar 1.21 Gambar Form Latihan Perkenalan Pert1

b. Ketentuan yang diinginkan


1. Jika diklik Button Tampil maka muncul data seperti gambar diatas
2. Jika dklik Button Keluar maka akan keluar dari aplikasi program
3. Tangal dan Jam muncul otomatis saat form di running
12

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

Gambar 2.1 Tampilan Sebuah Form


Berikut ini daftar beberapa contoh properti dari form yang biasanya dipakai untuk membuat
form secara umum pada aplikasi database.
Properti

Keterangan

Align

Posisi form pada waktu form ditampilkan pertama kali

BorderStyle

Bentuk batasan pinggiran form

BorderWidth

Lebar batasan pinggiran form

Caption

Judul form

ClientHeight

Tinggi Client area pada form

Color

Warna form

Constraints

Batasan ukuran form

Cursor

Bentuk kursor mouse waktu berada pada form

13

Enabled

Penerimaan event pada form

Font

Bentuk teks pada form

FormStyle

Bentuk Form

Height

Tinggi form

Hint

Keterangan apabila kursor mouse masuk dalam area form

HorzScrollBar Horizontal scrollbar pada form


Icon

Gambar icon pada judul form dan aplikasi program

Left

Posisi kiri form diukur dari kiri layar

Menu

Menu yang dipakai pada form

Name

Nama Form

PopupMenu

Menu Pop Up untuk Form

Position

Posisi Form pada Monitor

ShowHint

Menampilkan hint

Top

Posisi atas form diukur dari atas layar

VertScrollBar

Vertikal scroll bar pada form

Visible

Jika true form kelihatan, jika false form tidak kelihatan

Widht

Lebar Form

WindowState

Ukuran tampilan form

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

Form menjadi window aktif

OnShow

Form aktif atau sesaat sebelum ditampilkan

OnHide

Form tidak aktif atau sesaat sebelum hilang

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

2.2 Objek Kontrol


Pada waktu anda membuat program aplikasi, anda memerlukan objek kontrol yang digunakan
untuk tampilan form. Objek kontrol banyak digunakan untuk menampilkan data atau juga
membaca data. Dengan adanya objek kontrol, pemakai program aplikasi akan lebih mudah
untuk menggunakan serta berinteraksi dengan program aplikasi tersebut. Objek kontrol yang
digunakan pada form dibuat dari kontrol-kontrol yang terdapat pada component palette.

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

Bentuk Garis Tepi edit box

CharCase

Bentuk karakter pada edit box

Color

Warna Edit box

Ctl3D

Jika bernilai true, bentuk edit box berbentuk 3 Dimensi

Cursor

Bentuk kursor mouse waktu berada pada edit box

Enabled

Penerimaan event pada edit box

Font

Jenis dan ukuran dari karakter pada edit box

Height

Tinggi edit box

Hint

Keterangan waktu kursor berada pada edit box

Height

Tinggi edit box

Hint

Keterangan waktu kursor berada pada edit box

Left

Posisi edit box diukur dari batas kiri form

Maxlength

Banyaknya karakter maksimum dari edit box

Name

Nama edit box

PasswordChar Untuk karakter password


PopupMenu

Menu Pop Up untuk edit box

ReadOnly

Jika bernilai true, tidak bisa mengisi karakter kedalam edit box

ShowHint

Jika bernilai true,hint bisa ditampilkan

Text

Isi edit text

Top

Posisi
17

Visible

Jika true edit box kelihatan, jika false edit box tidak kelihatan

Widht

Lebar edit box

Untuk beberapa contoh event edit box yang sering dipakai pada programn aplikasi adalah
sebagai berikut :
Event

Waktu Terjadi

OnEnter

Edit box mendapat box.

OnExit

Edit box kehilangan fokus

OnKeyDown

Sebuah tombol keyborad ditekan dan properti keypreview


Pada form bernilai false

OnKeyPress

Sebuah tombol keyboard ditekan waktu fokus di edit box

OnKeyUp

Tombol yang ditekan dilepas waktu fokus di edit box

2.2.2. Label
Label merupakan kontrol yang dipakai sebagai tempat untuk menampilkan keterangan.
Berikut ini beberapa
Properti

Keterangan

Align

Posisi dari label pada form

Alignment

Posisi horizontal teks pada label

Autosize

Jika true,ukuran label menyesuaikan dengan text

Caption

Teks pada label

Color

Warna Label

Cursor

Bentuk kursor mouse waktu berada pada label

Font

Jenis teks dari label

Enabled

Penerimaan event pada label

Height

Tinggi Label

Hint

Keterangan waktu kursor berada pada label

Layout

Posisi Vertikal dari teks pada label

Left

Posisi label diukur dari batas kiri form

18

Name

Nama Label

PopupMenu Menu Pop Up untuk Label


ShowHint

Jika Bernilai true, Hint bisa ditampilkan

Top

Posisi label diukur dari batas atas form

Transparent

Jika bernilai true, label berbentuk transparan

Visible

Jika true label kelihatan, jika false label tidak kelihatan

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

Jika bernilai true, tombol ESC akan menjalankan event OnClick

Caption

Teks pada button

Cursor

Bentuk kursor mouse waktu berada pada button

Default

Jika bernilai true,tombol ENTER akan menjalankan event


OnClick

Enabled

Penerimaan event pada button

Font

Jenis teks button

Height

Tinggi Button

Hint

Keterangan waktu kursor berada pada button

Left

Posisi button diukur dari batas kiri form

Name

Nama button

PopupMenu Menu Pop Up Untuk button


ShowHint

Jika bernilai true, hint bisa ditampilkan

Top

Posisi button diukur dari batas atas form

Visible

Jika true button kelihatan, jika false button tidak kelihatan

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

Button diklik dengan mouse

OnEnter

Button mendapat fokus

OnExit

Button Kehilangan fokus

KeyDown

Sebuah tombol keyboard ditekan dan properti KeyPreview


Pada form bernilai false

KeyPress

Sebuah tombol keyboard ditekan waktu fokus di button

KeyUp

Tombol yang ditekan dilepas waktu fokus di button

2.2.4. Combo Box


Combo box merupakan kontrol yang dipakai sebagai tempat untuk menampilkan daftar
pilihan. Dengan combo box anda tinggal memilih pilihan yang ada pada combo box
tersebut. Berikut ini beberapa contoh properti dari combo box yang dipakai pada program
aplikasi .
Properti

Keterangan

CharCase

Bentuk karakter pada combo box

Color

Warna combo box

Ctl3D

Jika bernilai true, combobox berbentuk 3 dimensi

Cursor

Bentuk kursor mouse waktu berada pada combo box

DropDownCount Jumlah baris yang tampil pada waktu combo box diklik
Enabled

Penerimaan event pada combo box

Font

Jenis teks dari combo box

Height

Tinggi combo box

Hint

Keterangan waktu kursor berada pada combo box

Items

Daftar pilihan yang ditampilkan pada combo box

Left

Posisi combo box diukur dari batas kiri form

MaxLength

Banyaknya karakter maksimum dari combo box


20

Name

Nama combo box

PopupMenu

Menu Pop Up untuk combo box

ShowHint

Jika bernilai true,hint bisa ditampilka

Sorted

Jika bernilai true ,daftar pilihan pada combo box diurutkan

Style

Bentuk combo box

Text

Isi Combo box

Top

Posisi combo box diukur dari batas atas form

Visible

Jika true combo box kelihatan , jika false combo box tidak
Kelihatan

Width

Lebar combo box

Untuk beberapa contoh event combo box yang dipakai pada aplikasi adalah sebagai
berikut :
Event

Waktu Terjadi

OnClick

Combo box diklik dengan mouse

OnEnter

Combo box mendapat fokus

OnExit

Combo box kehilangan fokus

OnKeyDown Sebuah tombol keyboard ditekan dan properti keypreview


Pada form bernilai true
OnKeyPress

Sebuah tombol keyboard ditekan waktu fokus di combo box

OnKeyUp

Tombol yang ditekan dilepas waktu fokus di combo box

2.2.5. List Box


List box memiliki fungsi yang hampir sama dengan combo box yaitu menampilkan daftar.
Perbedaanya yaitu pada combo box hanya satu pilihan yang terlihat sebelum combo box
diklik, sedangkan pada list box dapat menampilkan beberapa pilihan. Pada list box anda
tinggal memilih pilihan yang ada pad list box yang dipakai pada program aplikasi.
Properti

Keterangan

Align

Posisi list box pada form

BorderStyle

Bentuk batasan pinggiran list box


21

Color

Warna list box

Columns

Jumlah kolom list box

Ctl3D

Jika bernilai true, listbox berbentuk 3 dimensi

Cursor

Bentuk kursor mouse waktu berada pada list box

Enabled

Penerimaan event pada list box

Font

Jenis teks dari list box

Height

Tinggi list box

Hint

Keterangan waktu kursor berada pada list box

Items

Daftar pilihan yang ditampilkan pada list box

Left

Posisi list box diukur dari batas kiri form

MultiSelect

Jika bernilai true, user dapat memilih lebih dari satu pilihan

Name

Nama list box

PopUpMenu

Menu Pop Up untuk list box

ScrollWidht

Lebar scroll pada list box

ShowHint

Jika bernilai true,hint bisa ditampilka

Sorted

Jika bernilai true ,daftar pilihan pada list box diurutkan

Style

Bentuk list box

Top

Posisi list box diukur dari batas atas form

Visible

Jika true list box kelihatan , jika false list box tidak
Kelihatan

Width

Lebar list box

Untuk beberapa contoh event list box yang dipakai pada program aplikasi adalah sebagai
berikut :

Event

Waktu Terjadi

OnClick

List box diklik dengan mouse

OnEnter

List box mendapat fokus

OnExit

List box kehilangan fokus

22

OnKeyDown

Sebuah tombol keyboard ditekan dan properti KeyPreview


Pada form bernilai true

OnKeyPress

Sebuah tombol keyboard ditekan waktu fokus di list box

OnKeyUp

Tombol yang ditekan dilepas waktu fokus di list box

2.2.6. Check Box


Seperti pada combo box dan list box, check box anda dapat memilih lebih dari satu
pilihan. Berikut ini beberapa contoh properti dari check box yang dipakai pada program
aplikasi.
Properti

Keterangan

Alignment

Posisi Kotak pilihan dengan teks

AllowGrayed

Jika bernilai true, kotak pilihan pada check box bisa


Berwarna abu abu

Caption

Tulisan pada check box

Checked

Jika bernilai true, terdapat tanda centang pada check box

Color

Warna check box

Ctl3D

Jika bernilai true, check box berbentuk 3 dimensi

Cursor

Bentuk kursor mouse waktu berada pada check box

Enabled

Penerimaan event pada check box

Font

Jenis teks dari check box

Height

Tinggi check box

Hint

Keterangan waktu kursor berada pada check box

Left

Posisi check box diukur dari batas kiri form

Name

Nama check box

PopUpMenu

Menu Pop Up untuk check box

ShowHint

Jika bernilai true,hint bisa ditampilkan

State

Bentuk kotak pilihan pada check box

Top

Posisi check box diukur dari batas atas form

Visible

Jika true check box kelihatan , jika false check box tidak

23

Kelihatan
Width

Lebar check box

Untuk beberapa contoh event check box yang dipakai pada program aplikasi adalah
sebagai berikut :

Event

Waktu Terjadi

OnClick

Check box diklik dengan mouse

OnKeyPress

Sebuah tombol keyboard ditekan waktu fokus di check box

2.2.7. Radio Button


Sama seperti combo box, list box dan check box, radio button juga berfungsi untuk
menampilkan daftar pilihan. Bentuk radio button hampir sama dengan check box.
Perbedaannya pada check box anda dapat memilih satu pilihan, sedangkan pada radio
button anda hanya dapat memilih satu pilihan saja. Berikut ini beberapa contoh properti
dari radio button yang dipakai pada program aplikasi.
Properti

Keterangan

Alignment

Posisi Kotak pilihan dengan teks

Caption

Tulisan pada radio button

Checked

Jika bernilai true, terdapat tanda centang pada radio button

Color

Warna radio button

Ctl3D

Jika bernilai true, radio button berbentuk 3 dimensi

Cursor

Bentuk kursor mouse waktu berada pada radio button

Enabled

Penerimaan event pada radio button

Font

Jenis teks dari radio button

Height

Tinggi radio button

Hint

Keterangan waktu kursor berada pada radio button

Left

Posisi radio button diukur dari batas kiri form

Name

Nama radio button

PopUpMenu

Menu Pop Up untuk radio button


24

ShowHint

Jika bernilai true,hint bisa ditampilkan

Top

Posisi radio button diukur dari batas atas form

Visible

Jika true radio button kelihatan , jika false radio button tidak
Kelihatan

Width

Lebar radio button

Untuk beberapa contoh event radio button yang dipakai pada program aplikasi adalah
sebagai berikut.
Event

Waktu Terjadi

OnClick

Radio Button diklik dengan mouse

OnKeyPress

Sebuah tombol keyboard ditekan waktu fokus di Radio Button

2.2.8. Group Box


Group box berfungsi untuk mengelompokkan kontrol kontrol pada form menjadi satu
bagian. Dengan group box, maka tampilan form pada suatu keadaan tertentu akan menjadi
lebih teratur. Selain itu salah satu fungsi dari group box adalah pada penggunaan radio
button. Pada satu form, radio button yang dapat dipilih hanya satu. Jika pada form
terdapat beberapa bagian, maka pada satu bagian tersebut anda dapat memilih satu radio
button. Berikut ini beberapa contoh properti dari group box yang sering dipakai pada
program aplikasi.
Properti

Keterangan

Align

Posisi group box pada form

Caption

Tulisan pada group box

Color

Warna group box

Ctl3D

Jika bernilai true, group box berbentuk 3 dimensi

Cursor

Bentuk kursor mouse waktu berada pada group box

Enabled

Penerimaan event pada group box

Font

Jenis teks dari group box

Height

Tinggi group box

Hint

Keterangan waktu kursor berada pada group box


25

Left

Posisi group box diukur dari batas kiri form

Name

Nama group box

PopUpMenu

Menu Pop Up untuk group box

ShowHint

Jika bernilai true,hint bisa ditampilkan

Top

Posisi group box diukur dari batas atas form

Visible

Jika true group box kelihatan , jika false group box tidak
Kelihatan

Width

Lebar group box

2.2.9. Radio Group


Radio box memiliki fungsi yang hampir sama dengan group box. Perbedaanya adalah
pada group box anda dapat meletakkan berbagai jenis kontrol, tetapi pada radio group
anda hanya bisa meletakkan radio button. Pada radio group juga anda dapat langsung
membuat radio button. Berikut ini beberapa contoh properti dari group yang sering
dipakai pada program aplikasi.
Properti

Keterangan

Align

Posisi radio group pada form

Caption

Tulisan pada radio group

Color

Warna radio group

Columns

Jumlah kolom radio group

Ctl3D

Jika bernilai true, radio group berbentuk 3 dimensi

Cursor

Bentuk kursor mouse waktu berada pada radio group

Enabled

Penerimaan event pada radio group

Font

Jenis teks dari radio group

Height

Tinggi radio group

Hint

Keterangan waktu kursor berada pada radio group

Items

Daftar radio button pada radio group

Left

Posisi radio group diukur dari batas kiri form

Name

Nama radio group

PopUpMenu

Menu Pop Up untuk radio group


26

ShowHint

Jika bernilai true,hint bisa ditampilkan

Top

Posisi radio group diukur dari batas atas form

Visible

Jika true radio group kelihatan , jika false radio group tidak
Kelihatan

Width

Lebar radio group

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

Posisi dari memo pada form

Alignment

Posisi teks pada memo

BorderStyle

Bentuk garis tepi Memo

Color

Warna memo

Ctl3D

Jika bernilai true, bentuk memo berbentuk 3 dimensi

Cursor

Bentuk kursor mouse waktu berada pada memo

Enabled

Penerimaan event pada memo

Font

Jenis dan ukuran dari karakter pada memo

Height

Tinggi Memo

Hint

Keterangan waktu kursor berada pada memo

Left

Posisi radio group diukur dari batas kiri form

Lines

Teks pada memo

MaxLenght

Banyaknya karakter maksimum dari memo

Name

Nama memo
27

PopUpMenu

Menu Pop Up untuk memo

ReadOnly

Jika bernilai true, tidak bisa mengisi karakter ke dalam memo

ScrollBars

Jenis Scroll bar yang digunakan pada memo

ShowHint

Jika bernilai true,hint bisa ditampilkan

Top

Posisi memo diukur dari batas atas form

Visible

Jika true memo kelihatan , jika false memo tidak Kelihatan

Width

Lebar memo

Untuk beberapa contoh event memo yang sering dipakai pada program aplikasi adalah
sebagai berikut.
Event

Waktu Terjadi

OnEnter

Mendapat fokus

OnExit

Memo Kehilangan fokus

OnKeyDown

Sebuah tombol keyboard ditekan dan properti KeyPreview


Pada form bernilai false

OnKeyPress

Sebuah tombol keyboard ditekan waktu fokus di memo

OnKeyUp

Tombol yang ditekan dilepas waktu fokus di memo

2.2.11. Scroll Bar


Scrollbar adalah kontrol yang biasanya digunakan untuk menggerakkan sesuatu,
contohnya menggerakkan tampilan atau menggerakkan nilai. Scrollbar terdapat dua jenis,
yaitu vertical scrollbar dan horizontal scrollbar. Perubahan pada horizontal dan vertical
scrollbar ditandai dengan berubahnya posisi penunjuk bar pada horizontal dan vertical
scrollbar. Pada horizontal dan vertical scroll bar terdapat dua jenis perubahan posisi, yaitu
perubahan kecil dan besar. Untuk perubahan kecil diklik pada tombol navigator di kedua
ujung horizontal dan vertical scroolbar. Sedangkan untuk perubahan besar diklik pada bar
dari horizontal dan vertical scrollbar tersebut. Berikut ini beberapa contoh properti
scrollbar tersebut. Berikut ini beberapa contoh properti scrollbar yang dipakai pada
program aplikasi.

28

Properti

Keterangan

Align

Posisi dari scrollbar pada form

Ctl3D

Jika bernilai true, bentuk scrollbar berbentuk 3 dimensi

Cursor

Bentuk kursor mouse waktu berada pada scrollbar

Enabled

Penerimaan event pada scrollbar

Height

Tinggi Memo

Hint

Keterangan waktu kursor berada pada scrollbar

Kind

Jenis Scrollbar

LargeChange

Perubahan posisi penunjuk bar pada waktu user mengklik bar

Left

Posisi scrollbar diukur dari batas kiri form

Max

Nilai maksimum dari scrollbar

Min

Banyaknya karakter maksimum dari scrollbar

Name

Nama scrollbar

PopUpMenu

Menu Pop Up untuk scrollbar

Position

Posisi bar pada scrollbar

ShowHint

Jika bernilai true,hint bisa ditampilkan

SmallChange

Perubahan posisi penunjuk bar pada waktu user mengklik


Tombol navogator atau tombol panah

Top

Posisi scroll bar diukur dari batas atas form

Visible

Jika true scroll kelihatan , jika false scroll tidak Kelihatan

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

Posisi dari panel pada form

29

Alignment

Posisi teks pada panel

AutoSize

Jika bernilai true, ukuran panel akan menyesuaikan dengan


Kontrol yang ada pada panel.

BorderStyle

Bentuk garis tepi panel

BorderWidht

Lebar garis tepi panel dengan kontrol yang terdapat pada panel

Caption

Teks pada panel

Color

Warna panel

Ctl3D

Jika bernilai true, bentuk panel berbentuk 3 dimensi

Cursor

Bentuk kursor mouse waktu berada pada panel

Enabled

Penerimaan event pada panel

Font

Jenis dan ukuran dari karakter pada panel

Height

Tinggi panel

Hint

Keterangan waktu kursor berada pada panel

Left

Posisi radio group diukur dari batas kiri panel

Name

Nama panel

PopUpMenu

Menu Pop Up untuk panel

ShowHint

Jika bernilai true,hint bisa ditampilkan

Top

Posisi panel diukur dari batas atas form

Visible

Jika true panel kelihatan , jika false panel tidak Kelihatan

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

procedure TForm2.etertulisChange (Sender: TObject);


const

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;

3.2 Tipe Data


Secara sederhana tipe data dapat didefinisikan dengan istilah tempat untuk menentukan
pemberian nilai terhadap suatu variabel sesuai atau tidak dengan nilai yang diberikan oleh
user. Dalam versi lain tipe data juga diartikan sebagai batasan terhadap fungsi tanda
pengenal terhadap semua nilai yang diterima. logika yang dapat kita berikan adalah ketika
kita menempatkan tanda pengenal harga hanya mengenal angka, maka ketika kita
memberikan nilai berupa string maka secara otomatis data tersebut akan ditolak karena
nilai tersebut tidak dikenali oleh tipe data yang diberikan.
3.2.1. Tipe Data Numeric Integer
Tipe data integer merupakan tipe data bilangan bulat yang hanya mengenal bilangan
decimal. Dimana tipe data Integer tidak mengenal pecahan

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

Tipe Data String


Tipe data string merupakan salah satu jens tipe data selain mengenal angak disini tipe
data dapat juga mengenla data berupa huruf maupun tanda baca.

Bentuk umum :
Var
Nama: string;
Begin
Nama:='Anton';
End;
3.2.4

Tipe Data Char


Secara fungsi tipe data char sama dengan tipe data string tetapi dari segi kapsitas ruang
diperoleh tipe data char jauh lebih sedikit karena hanya mengenal 1 karakter.
Bentuk umum :
Var
grade: char;
Begin
grade:='Anton';
End;

3.2.5

Perubahan Tipe Data


Perubahan Tipe data dilakukan pada saat kebutuhan akan perhitungan aritmatika yang
nilainya diambil dari Edit Box atau pun sebaliknya hasil nilai tersebut akan ditampilkan
ke text box. Secara umum suatu nilai di dalam edit box selalu bertipe data String.
Berikut ini beberapa perubahan tipe data yang dikenal di Borland Delphi :
1. StrtoInt = digunakan untuk merubah tipe data string ke integer
2. IntToStr = digunakan untuk merubah tipe data Integer ke String
33

3. StrToFloat = digunakan untuk merubah tipe data String ke Real


4. FloatToStr = digunakan untuk merubah tipe data Real ke String
5. StrToCurr = digunakan untuk merubah tipe data String ke Currency
6. CurrToStr = digunakan untuk merubah tipe data Currency ke String
7. StrToDate = digunakan untuk merubah tipe data String ke Date
8. DateToStr = digunakan untuk merubah tipe data Date ke String
9. StrToTime = digunakan untuk merubah tipe data String ke Time
10. TimeToStr = digunakan untuk merubah tipe data Time ke String
11. Booltostr = digunakan untuk merubah tipe data boolean ke string.
12. Strtobool = digunakan untuk merubah tipe data string to boolean

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

*, / , div , mod , and ,shl , shr , as Kedua


34

+, - , or , xor

Ketiga

= , <> , < , > , <= , >= , in , is

Keempat

3.3.1. Operator Penugasan (Assignment)


Operator penugasan (assignment) disimbolkan dengan tanda titik dua diikuti tanda sama
dengan dan ditulis berdempetan tanpa spasi. Operator penugasan berfungsi untuk
memasukkan suatu data ke dalam suatu variabel. Bentuk penulisannya seperti berikut :
<variabel> := <ekspresi>;
Contoh :
Nama := Budi ;
Bilangan := 0 ;
Harga := 500 ;
Banyak := 5 ;
Subtotal := banyak * harga ;
3.3.2. Operator Aritmatika
Operator aritmatika digunakan untuk melakukan operasi aritmatika. Delphi mempunyai
beberapa operator aritmatika, yaitu seperti pada tabel dibawah ini :
Operator Operasi

Tipe diproses Tipe hasil

Integer

Integer

Real

Real

Integer

Real

Real

Real

Perkalian

Pembagian

Div

Hasil bagi pembulatan Integer

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

3.3.3. Operator Perbandingan / Relasi


Operator relasi atau perbandingan digunakan untuk membandingkan suatu ekspresi atau
data dengan ekspresi atau data lain. Hasil penggunaan operator relasi adalah data logika
(boolean) benar atau salah. Tentu saja, antara dua ekspresi atau data yang dibandingkan
36

harus mempunyai tipe yang sama. Tabel operator relasi yang disediakan Delphi adalah
seperti berikut ini :

Operator Keterangan
=

Sama Dengan

<>

Tidak sama dengan

<

Lebih Kecil

>

Lebih besar

<=

Lebih kecil atau sama dengan

>=

Lebih besar atau sama dengan

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.

3.3.4. Operator Logika


Digunakan untuk mengekspresikan satu atau lebih data atau ekspresi logika (boolean),
menghasilkan data logika (boolean) baru. Tabel operator logika dengan hierarki dari atas
ke bawah adalah sebagai berikut ini.
Operator Keterangan
Not

Tidak

And

Dan

Or

Atau

Xor

Exclusive Or

37

a. Operator Logika Not


Operator Logika Not dipakai untuk menghasilkan nilai kebalikan dari suatu ekspresi
atau data logika. Operator Not mempunyai hierarki paling tinggi di antara operator
logika lainnya. Tabel hasil ekspresi logika Not dapat anda lihat seperti pada tabel
berikut ini.
Ekspresi Hasil
Not True

False

Not False

True

Contoh hasil penggunaan operator logika Not dapat anda lihat di bawah ini.
Tes : = Not (5 > 4 ) ;

// Tes berisi False

Tes : = Not (5 = 4 ) ;

// Tes berisi True

b. Operator Logika And


Operator logika And akan menghasilkan nilai boolean true hanya jika dua buah
ekspresi dikiri dan kanan operator anda bernilai true. Tabel hasil ekspresi logika And
dapat anda lihat seperti pada tabel dibawah ini.
Ekspresi

Hasil

False And False False


False And True

False

True And False

False

True And True

True

Contoh hasil penggunaan operator logika And dapat anda lihat seperti berikut ini.
Tes : = ( 5 < 4 ) And ( 3 < 2 ) ;

// Tes berisi False

Tes : = ( 5 < 4 ) And ( 3 > 2 ) ;

// Tes berisi False

Tes : = ( 5 > 4 ) And ( 3 < 2 ) ;

// Tes berisi False

Tes : = ( 5 > 4 ) And ( 3 > 2 ) ;

// Tes berisi True

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

False Or False False


False Or True

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 ) ;

// Tes berisi False

Tes : = ( 5 < 4 ) Or ( 3 > 2 ) ;

// Tes berisi True

Tes : = ( 5 > 4 ) Or ( 3 < 2 ) ;

// Tes berisi True

Tes : = ( 5 > 4 ) Or ( 3 > 2 ) ;

// Tes berisi True

d. Operator Logika Xor


Operator logika Xor akan menghasilkan nilai True jika ekspresi di sebelah kiri Xor
berbeda dengan ekspresi di sebelah kanannya. Jadi, operator logika Xor dapat
diartikan jika beda akan bernilai True. Tabel hasil ekspresi logika Xor adalah seperti
berikut ini.
Ekspresi

Hasil

False Xor False False


False Xor True

True

True Xor False

True

True Xor True

False

Contoh hasil penggunaan operator logika Xor dapat anda lihat seperti berikut ini.
Tes : = ( 5 < 4 ) Xor ( 3 < 2 ) ;

// Tes berisi False

Tes : = ( 5 < 4 ) Xor ( 3 > 2 ) ;

// Tes berisi True

Tes : = ( 5 > 4 ) Xor ( 3 < 2 ) ;

// Tes berisi True

Tes : = ( 5 > 4 ) Xor ( 3 > 2 ) ;

// Tes berisi False

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

N1 > N2 (Lebih dari)

Btlebih

Button

N1 < N2 (Kurang dari)

Btkurang

Button

N1 = N2 (Sama dengan)

Btsmdgn

Button

N1 <> N2 (Tidak Sama dengan)

Bttdksama

Button

And

Btand

Button

Or

Btor

Button

Xor

Btxor

Button

Exit

Btexit

Button

Clear

Btclear

Listing / Kode Program :


40

unit operator1;

btexit: TButton;

interface

btclear: TButton;

uses

btxor: TButton;

Windows, Messages, SysUtils,


Variants,

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;

// Variabel bersifat local, hanya bisa


dikenali di procedure itu sendiri
var

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

Gambar 3.1 Form Penggabungkan String


DesainForm

Gambar 3.2 Desain Form Penggabungan String


Desain Properties
Object

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

Procedure Tform4.bgabungClick (Sender: Tobject);

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.

Bentuk umum penulisan => Delete(teks, index, jumlah)

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

Gambar 7.3 Form Hapus Text

2.Design Form

Gambar 7.4 Design Form Hapus Text


3. Desain Properties
Object

Caption/Text

Name

Label 1

Nama Anda

Label 1

Label 2

Ketikan urutan mulai penghapusan

Label2

Label 3

Jumlah Karakter yang dihapus

Label3

Label 4

Nama Sesudah dihapus

Label4

Editl

Enama

Edit2

Eurut

Edit3

Ejumlah

Edit4

Ehasil

Button 1

OK

bOK

Button2

Close

Bclose

Group Box 1

Rincian Nama Yang Ingin Dihapus

Group box 1

47

4. Listing Program

Procedure Tform5.bokClick (Sender : TObject);


Var
karakter : string ;
pos, jumlah : integer ;
jumlah : integer ;
begin
karakter : = enama.text ;
pos : = strtoint (eurut.text) ;
jumlah : = strtoint (ejumlah.text) ;
Delete ( karakter, pos, jumlah);
Ehasil.text : = karakter ;
End ;
Procedure Tform5.bcloseClick (Sender : TObject);
Begin
Close;
End ;

c. Mencari Panjang teks (length)


fungsi ini digunakan untuk menghitung panjang atau jumlah karakter dari suatu teks
atau kalimat. Dalam menghitung jumlah karakter dalam suatu teks spasi akan dibaca
sebagai satu karakter. Sebagai catatan hasil yang diperoleh dari perhitungan adalah
bilangan bulat positif.
Bentuk Umum
Length (teks) ;
Contoh :
1. Hasil setelah form dijalankan

Gambar 3.5 Hasil Form Panjang String

48

2. Design Form

Gambar 3.6 Design Form Panjang String


3. Desain Properties
Object

Caption/Text

Name

Label 1

Operasi Standart Length

Label 1

Label 2

Nama Anda

Label2

Label 3

Panjang Karakter dari Nama Anda

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;

Procedure Tform6.bcloseClick (Sender : TObject);


Begin
Close;
End ;

d. Mencari Karakter Pada Teks (POS)


Fungsi ini digunakan untuk mencari letak atau posisi suatu karakter dari suatu nilai
string. Nilai yang dihasilkan adalah berupa byte.

Bentuk Umum :
Pos (sustr, string);

49

Contoh
1. Hasil setelah form dijalankan

Gambar 3.7 Hasil Form Pencarian Huruf


2. Desain Form

3. Design Properties

Program untuk eksekusi perintah pencarian


Procedure Tform7. bokClick (Sender :Tobject);
Var
Karakter : string ;
Kar : string ;
Hasil : integer ;
Begin
karakter: string;
kar : string;
50

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.

e. Mengkopi String (Copy)


Fungsi ini digunakan untuk mencetak ulang string atau karakter sebanyak huruf yang
dipilih dengan posisi karakter awal sudah ditentukan.

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

Program untuk mengeksekusi program


Prosedure TForm6.bokClick(Sender:TObject);
Var
Karakter : string;
Begin
Karakter :=eawal.text ;
Ehasil.text :=copy(karakter,1,4);
Ehasil2.text := copy(karakter,8,4);
End;

Program untuk menutup Form


Procedure TForm6.bcloseClick (Sender :TObject);
Begin
Close;
End;

f. Konversi Karakter ke Ascii (chr)


Fungsi ini digunakan untuk mengkonversi kode Acsii menjad huruf.
Bentuk Umum :
Chr (Karakter)
Contoh :
52

1. Hasil setelah dijalankan

2. Design Form

3. Desain Properties
Object

Caption/Text

Name

Label 1

Ketikan angka dari kode ASCII

Label 1

Label 2

Karakter dari kode Ascii tersebut adalah

Label2

Editl

eangka

Edit2

ehuruf

Button 1

OK

bOK

Groupboxl

Konversi dari Angka ke huruf

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

4.1. Operator Percabangan


Percabangan adalah merupakan operator yang digunakan untuk menentukan pilihan atas
beberapa pilihan yang ada.
Dalam bahasa pemrograman Delphi mengenal dua operator percabangan yaitu
Percabangan IF dan Percabangan CASE
A. Percabangan IF
Merupakan operator percabangan yang digunakan untuk menetukan pilihan atas beberapa
kondisi yang merupakan syarat terhadap pilihan yang sudah ditentukan.
Ada dua model percabangan if
1. Percabangan untuk kondisi tunggal.
Merupakan operator percabangan yang digunakan untuk menentukan sebuah pilihan
dengan kondisi tunggal.

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;

// setiap stament diakhiri titik koma ( ; )

Hasil_A2;
End
54

Else if KondisiB Then


Begin
Hasil_B1;
Hasil_B2;
End
Else
Begin
Hasil_C1;
Hasil_C2;
End ;

// End terakhir ditambahkan titik koma ( ; )

Contoh :
If nilai > 80 then
Grade= A
Else if nilai >70 then
Grade=B
Else
Grade= C ;

3.

Percabangan Nested If ( If Bersarang )


Nested If adalah jika ada perintah if didalam perintah if yang lain. Kondisi ini
dibutuhkan ketika kriteria yang dimasukkan lebih dari 2.
Bentuk Umum :
if (kondisi1> then
if (kondisi2) then
<pernyataan1>
Else
<pernyataan2>
Else
<pernyataan3>
Contoh :
if ComboBox1.Text=D1 then
if edit3.Text=Training then
edit4.Text:=1500000
else if edit3.Text=Kontrak then
edit4.Text:=2750000
else
edit4.Text:=3500000

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.

Bentuk Umum fingsi Case Of


Case <variabel> of
<pilihan ke 1> : hasil 1 ;
<pilihan ke 2> : hasil 2 ;
<pilihan ke 3> : hasil 3 ;
.........
Else
Hasil ke n ;
End;

Contoh :

Case Bilangan of
1: showmessage (Angka 1) ;
2: showmessage (Angka 2) ;
3: showmessage (Angka 3)
End;

4.2. Contoh Latihan


A. Hasil yang diperoleh

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

Isi Data Lagi

Button 3

Bclose

Close

D. Ketentuan perhitungan gaji


Nama Pegawai diinput sendiri.
Isi dari Combo Jabatan adalah Direktur , Manager , Karyawan.
Ketentuan Gaji pokok diambil dari Jabatan sebagai berikut :

Jabatan

Gaji Pokok

Direktur

5000000

Manager

2000000

Karyawan

1000000

Tunjangan Status diperoleh dari jenis status :


Jika Status Karyawan Tetap maka Tunjangan 30% dari Gaji Pokok
Jika Status Karyawan Honorer maka Tunjangan 10% dari Gaji Pokok
Button Hitung untuk menghitung nilai Gaji Bersih = Gaji Pokok + Tunjangan
57

Button Isi Data Lagi maka seluruh edit text kosong.


E. Listing Program
Memberikan pilihan pada combo box sesuai dengan pilihan pada jabatan
Dengan menggunakan Object Properties :
Langkah-langkahnya :
1. Aktifkan combo box yang akan dipilih.
2. Pada properties pilih dan klik item, lalu klik command (...)

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.

procedure TForml.FormCreate(Sender: TObject);

begin
cjabatan.Items.Add('Direktur');
cjabatan.Items. Add(' Manager');
cjabatan.Items.Add(' Karyawan');
end;

Program Untuk Mencari gaji pokok


1. Aktifkan combo box untuk jabatan
2. Pada pada jendela properties pilih event
3. pilih dan aktifkan onclick, Seperti yang terlihat seperti gambar berikut ini

4. Double click pada combo onclick


5. Ketikan program berikut ini

58

procedure Tform1.cjabatanClick(Sender: TObject);


begin
if cjabatan.Text = 'Direktur' then
epokok.Text := '5000000'
else
if cjabatan.Text = 'Manager' then
epokok.Text := '2000000'
else
if cjabatan.Text = 'Karyawan' then
epokok.Text := '1000000'
else
epokok.Text := '0' ;
end;

Program menghitung tunjangan karyawan tetap


Double click pada option tetap dan ketikan program berikut ini
procedure TForm3.etetapClick(Sender: TObject);

begin
if rtetap.Checked = true then
a := strtof loat(epokok.Text);
hasil :=a*0.3;
etunjangan.Text := f loattostr(hasil)
end;

Program menghitung tunjangan karayawan Honorer


Double click pada option honorer dan ketikan program berikut ini :
procedure TForm3.rhonorerClick(Sender: TObject);
begin
if rhonorer.Checked = true then
a := strtof loat(epokok.Text);
hasil :=a*0.1;
etunjangan.Text := f loattostr(hasil)
end;

Program menghitung gaji bersih


Double click pada command total gaji, dan ketikan program berikut ini :
procedure TForm3.btotalClick(Sender: TObject);
begin
a := strtof loat(epokok.Text);
b := strtof loat(etunjangan.Text);
c := a+b;
ebersih.Text := f loattostr(c);
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;

Program Close dengan pesan, seperti tampilan sebagai berikut


procedure TForm3.bcloseClick(Sender: TObject);
begin
if (application.MessageBoxC Anda Yakin akan keluar' ,'Informasi' ,
MB_YESNO)= IDYES)then
close;
end;

4.3. Latihan ( Program Biaya Rumah Sakit)


Buatlah program untuk mencari biaya pemeriksaan dokter dan biaya obat pada suatu
Rumah sakit.
Tampilan yang dinginkan adalah sebagai berikut :

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

Total bayar didapat dari harga Obat + harga Dokter.


Uang bayar diinput, ketika dienter maka Uang Kembali keluar.
Tombol bersih untuk membersihkan seluruh objek.
Tombol Keluar untuk keluar dari form.

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 ;

Catatan : semua variabel yang berhubungan dengan perulangan harus mempunyai


tipe data
sama
Contoh :
Var
I: integer;
Begin
For i := 1 to 5 do
Edit1.seltext := inttostr(i) ;
End;

Hasil : Bila program tersebut dijalankan maka nilai I akan ditampilkan pada edit1
dengan hasil sebagai berikut = 1 2 3 4 5

B. Perulangan For DownTo Do.


Perulangan For DownTo Do adalah yang menghitung suatu proses dengan nilai
awal besar dan nilai akhirnya lebih kecil, maka variabel sebagai control program yang
diperoleh adalah dari besar ke kecil.

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;

D. Perulangan Repeat Until


Perulangan repeat until digunakan untuk mengulang suatu kondisi sampai (until )
kondisi bernilai salah

Bentuk Umum :
Repat Pernyataan Until Kondisi_logika

E. Latihan Perulangan 1
Buatlah Latihan perulangan dibawah ini :
1. Design Form

63

2. Coding

procedure TForm1.for2doClick(Sender: TObject);


var
i:integer;
begin
for i := 1 to 5 do
edit1.SelText := inttostr(i);
end;

procedure TForm1.fordowntoClick(Sender: TObject);


var
a:integer;
begin
for a:=5 downto 1 do
edit2.SelText:=inttostr(a)
end;

procedure TForm1.whiledoClick(Sender: TObject);


var
i : integer;
begin
i := 0;
while i < 5 do
begin
edit3.SelText := inttostr(i);
i := i + 1;
end;
end;

64

procedure TForm1.repetClick(Sender: TObject);


var
i : integer;
begin
i := 1;
repeat
i := i + 2;
edit4.SelText := inttostr(i);
until i = 15;
end;

procedure TForm1.BersihClick(Sender: TObject);


begin
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';
end;

end.

F. Latihan Perulangan 2
Buat lahLatihan perulangan dibawah ini :
1. Design Form

2. Ketentuan logika Program


Pada saat form dijalankan maka Tanggal akan keluar secara otomatis
No Faktur dan Total item yang dibeli diinput sendiri
65

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

Data Barang yang dijual

Groupbox3 Groupbox3

Daftar Harga Barang

Edit1

Etgl

Edit2

Efaktur

Edit3

Eitem

Edit4

Etotal

Listbox1

Lnama

Listbox2

Lharga

Bitbtn1

Blagi

&ISI DATA LAGI

Keterangan

Glyhp : <cari icon


gambar dipilih>

Bitbtn2

Bclose

&CLOSE

Glyhp : <cari icon


gambar dipilih>

Button1

Bok

&OK

4. Coding
procedure TForm7.FormCreate(Sender: TObject);
begin
DateSeparator := '-';
ShortDateFormat := 'mm/dd/yyyy';
etgl.Text := 'Hari ini ' + DateToStr(Date);
end;

procedure TForm7.blagiClick(Sender: TObject);


begin
eitem.Text :='';
efaktur.Text := '';
lnama.Clear;
lharga.Clear;
etotal.Text :='';
end;
procedure TForm7.bokClick(Sender: TObject);
var
inputnama : string;
66

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;

procedure TForm7.bcloseClick(Sender: TObject);


begin
close;
end;

procedure TForm7.FormActivate(Sender: TObject);


begin
bersih;
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.

6.2 Deklarasi Array


Didalam penulisan bahasa pemrograman setiap penggunaan array harus dideklarasikan
terlebih dahulu. Pendeklarasian array diawali dengan nama variabel array diikuti dengan
indeks array yang dituliskan didalam tanda [ ] ,diikuti dengan kata cadangan of dan tipe
data yang dibutuhkan .

Bentuk Umum Penulisan :


Tanda_pengenal : array [Type index] of tipe data ;

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

Alokasi Penggunaan Array


A. Array Static ( static Array).
Array static adalah model pendeklarasain array dimana tipe data yang digunakan
mempunyainilai yang tetap. Nilai yang digunakan untuk menetukan jangkauan pada
umumnya bernilai integer. Array static juga bisa disebut array dengan deklarasi tipe
indeks subrange integer.

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

B. Array Dinamis (Dynamic Arrays)


Larik atau array dinamis merupakan array yang tidak mempunyai suatu jangkauan atau
ukuran yang tetap. Tetapi ketika program dijalankan maka memori untuk suatu array
dinamis direalokasikan ketika kita menugaskan suatu nilai kepada array. Dinamic array
jenis ditandai oleh konstruksi (menyangkut) format.

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

sellength (nilai ,20 );

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

Hari Pada Tanggal tersebut Adalah

Label4

GroupBoxl

Entry Tanggal

Groupboxl

Editl

Etgl

Edit2

Ebln

Edit3

Etahun

Edit4

Ehari

Command 1

OK

bok

E. Coding

procedure TForm1.bokClick(Sender: TObject);


type x = string[7];
const
faktorbln : array[1..12] of byte = (0,3,3,6,1,4,6,2,5,0,3,5);
hari : array[0..6] of x = (' Minggu ', Senin ', ' Selasa ', ' Rabu ', ' Kamis ',
Jumat ',' Sabtu ');
var
hr : string;
nama : string[255];
jl,j2 , j3, j4 : integer;
tanggal,bulan,tahun : integer;
begin
tanggal := strtoint(etgl.Text);
bulan := strtoint(ebln.Text);
tahun := strtoint(ethn.Text);
if tahun > 1900 then
tahun := tahun - 1900;
jl := trunc(tahun * 365.25);
j2 := jl + faktorbln[bulan];
if (tahun/4 = int(tahun/4)) and (bulan < 3) then
j2 := j2-l;
j3 := j2 + tanggal;
j4 := trunc(frac(j3/7) * 10);
hr := hari[j4];
ehari.Text := hr;
end;

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,

Variants, Classes, Graphics, Controls,


Forms,
Dialogs, StdCtrls, Buttons;

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

menumakanan : array[1..10] of string;

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;

TObject; var Key: Char);


var harga,jumlah,total:currency;

procedure

begin

TForm8.FormActivate(Sender:

if key= #13 then

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

procedure TForm8.enomorKeyPress(Sender: TObject; var Key: Char);


begin
if key = #13 then
listbox1.SetFocus;
end;

procedure TForm8.bcloseClick(Sender: TObject);


begin
if application.MessageBox('Anda Yakin akan keluar','Informasi',mb_yesno)=idyes then
close;
end;

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.

Alasan penggunaan prosedur :


1. digunakan untuk penggalan program yang akan digunakan secara berulang ulang dalam
suatu proses program.
2. digunakan untuk memecah mecah program menjadi sebuah modul program, sehingga listing
program menjadi lebih sederhana.

Syarat penulisan nama prosedure


1. Harus diawali dengan karakter
2. untuk nama prosedur dengan menggunakan dua kata atau lebih penulisannya tidak boleh
menggunakan spasi, harus digabung atau dihubungkan dengan underscore ( _ )
3. tidak mengenal tanda baca.

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.

Procedure.TForml.buttonlclick(sender: Tobject); Begin


Bersih;
End;

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.

Procedure TForml.enamakeypress(sender: Tobject; var key.char);


Begin
If key = #13 then
Bersih;
End;

76

Bab VIII
Fungsi

8.1 Pengertian Fungsi.


Pengertian secara umum mengenai fungsi adalah merupakan sebuah penggalan program yang
terpisah dari program utama dan berfungsi sebagai sebuah program bagian dari program
utama. Penulisan fungsi diawali dengan kata cadangan Function dan dideklarasikan dalam
bagian dklarasi fungsi. Dan penulisan program fungsi harus diikuti dengan tipe datannya.

Bentuk Umum penulisan Fungsi Function :


Function indentifier (daftar_paramaeter) : type;

Contoh :
Function hitung (var a,b :real) : real ;

Penulisan blok fungsi diawali dengan kata cadangan begin dan diakhiri dengan end ;

8.2 Fungsi Tunggal.


Fungsi tunggal merupakan suatu fungsi dimana proses pemanggilan dirinya sendiri tanpa
melalui fungsi yang lain atau fungsi yang tidak terdapat daalm fungsi yang lain.
Contoh :
A. Hasil yang diinginkan

B. Coding

function hitung(var p,l,t:integer):integer;


begin
hitung:=p*l*t;
end;

77

procedure TForm1.BhitungClick(Sender: TObject);


var
pjg,lbr,tgi,luas:integer;
begin
pjg:=strtoint(epajang.Text);
lbr:=strtoint(elebar.Text);
tgi:=strtoint(etinggi.Text);
luas:=hitung(pjg,lbr,tgi);
eluas.Text:=inttostr(luas);
end;

procedure TForm1.BhapusClick(Sender: TObject);


begin
epanjang.Text :='0';
elebar.Text :='0';
etinggi.Text :='0';
eluas.Text :='0';
epanjang.SetFocus;
end;
Didalam program utama tidak ditempatkan rumus untuk menghitung penjumlahan tetapi
ketika dilakukan eksekusi terhadap program dan kita melakukan input panjang, lebar dan
tinggi dan ketika di klik Hitung maka akan ditampilkan hasil yang diinginkan. Hasil itu
diperoleh dari pengiriman nilai dari teks ke nilai pada variabel utama. Selanjutnya dikirim
secara berurut pada subprogram Fungsi Hitung (p , l , t).untuk mendapatkan hasil
perhitungan luas.

8.3 Fungsi untuk memanggil fungsi yang lain.


Merupakan pembuatan program fungsi yang digunakan untuk memanggil program fungsi
yang lain didalam satu listing program.
A. Hasil yang diinginkan

78

B. Design Form

C. Design Properties
Object

Caption/Text

Name

Label 1

Nama Peminjam

Label 1

Label 2

Jumlah Uang Pinjam

Label2

Label 3

Tingkat Bunga (dalarn %)

Label3

Label 4

Lama Pinjam

Label4

Label5

Besarnya

Uang

Yang

Harus

Label5

Dikembalikan
Label6

Cicilan Uang Setiap Bulan

Label6

GroupBoxl

Rincian Nama Anggota

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;

Function bunga ( f , g , h :real) :real;


begin
bunga := f * pangkat ((1 + g/100),h) ;
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 ;

Program Menutup Form


Procedure Tform1.bcloseClick(Sener : TObject);
Begin
Close;
End;

80

Bab IX
Penggunaan Database Desktop

9.1 Pengertian Data Base Dekstop


Biasanya , jika kita ingin membuat suatu program aplikasi untuk manajemen database, kita
memerlukan file database yang akan diproses. File database ini dibuat satu kali saja dan
tidak perlu langsung diisi recordnya (dibuat struktur databasenya saja). Selanjutnya file
database tersebut diproses lewat program. Untuk membuat file database, anda dapat
menggunakan program database desktop.
Database desktop merupakan suatu program Add Ins, yaitu program terpisah yang
ditempelkan dalam Delphi, sehingga bisa dipakai sebagai bagian dari program Delphi.
Database Desktop akan kita pelajari secara terbatas, terutama untuk membuat dan mengedit
struktur database.
Data Base Dekstop adalah merupakan sebuah system aplikasi database yang sudah
disertakan pada saat penginstalan Delphi. Komponen Data Base Dekstop yang merupakan
bawaan Delphi meliputi = Paradox, dBse, MsSQL, Oracle, Maccess, Excel dan Lain lain.

9.2 Langkah langkah pembuatan Database Desktop.


Ada dua cara mengaktifkan database Desktop yaitu :
Melalui Icon Start
Klik start | Pilih programs | Pilih Borland Delphi | Klik Data Base Dekstop
Melalui IDE Delphi
Pilih dan klik Menu Tools | pilih dan klik Database Dekstop

1. Membuat Alias Manager


Fungsinya digunakan untuk menggantikan fungsi path ketika tabel yang dibuat akan
dipanggil pada jendela program.
Contoh =

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

berikut : C:\Karyawan\tabel_karyawan.db. (itu bisa semakin panjang jika folder


penyimpanan data semakin bertingkat)

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

3. Pada Jendela Alias Manger pilih dan klik New


4. Ketikan nama alias pada database alias, misal karyawan_nimmasing2 (cth:
karyawan_12038381)
5. Pada Database Type pilih Standard
6. Pada jendela path ketikan path tempat penyimpanan field tabel atau klik browse
untuk pencarian secara otomatis.
7. Klik OK
Catatan = dalam pembuatan nama alias cukup dibuat satu kali untuk satu project
program, walaupun ada penambahan tabel setelah pembuatan Alias karena fungsi Alias
sama seperti fungsi dari database.

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

= digunakan untuk menuliskan nama field

Syarat Penulisan Nama Field


Unik dan mudah diingat
Diawali dengan Karakter
Tidak diperbolehkan penulisan dengan tanda baca (! , . ? / + & % # @)
Untuk field dengan dua kata atau lebih dihubungkan dengan Undecsare ( _ )
Type

= Digunakan untuk menentukan tipe data pada Field

Type Data yang Dikenal Pada Paradox adalah


Alpha

= tipe data yang menampung semua karakter baik berupa huruf,


angka maupun tanda baca.

Number

= tipe data yang menampung angka (numeric), jangkauannya


mempunyai range untuk bilangan negative dan bilangan
positif, (-10307 sampai dengan 10308). Dengan digit
maksimal adalah 15 digit.

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

= tipe data angka yang hanya mempunyai jangkauan -32,767 to


32,767

Long Integer

= Sama seperti tipe data integer dengan jangkauan lebih luas


(-2147483648 to 2147483647 )

Date

= Tipe Data untuk tanggal (1 Januari 9999 BC to 31 Desember


9999 AD).

Time

= Tipe Data yang digunakan untuk setup waktu.

Memo

= Tipe Data untuk semua unit karakter dengan jangkauan 1


sampai dengan 240 karakter.

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).

= Digunakan untuk menentukan size terhadapa suatu field

Catatan : Size yang kompatibel untuk diganti hanya tipe data Alpha dan memo.
83

Key

= Digunakan untuk menentukan kunci utama (primary 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

Mengisi Data Pada Tabel


Langkah langkah Pengisian data pada tabel
Aktifkan database Dekstop | buka tabel_karyawan
Pada tampilan data pilih dan klik edit Data

Isi Data Sebagai Berikut

Membuka Tabel yang sudah dibuat


Buka Database Desktop
Klik File | Open | table | Pilih nama aliasnya | Pilih nama tabelnya | Open

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.

10.1 Komponen Tabel


A. Borland Database Engine (BDE)
Kompenen Borland Database Engine merupakan media penghubung antara database
dengan aplikasi program. Pada awalnya BDE digunakan untuk paradox. Komponen BDE
mendukung akses database yang merupakan bawaan dari delphi walaupun tidak menutup
kemungkinan bisa juga digunakan untuk pengaksesan database yang bersifat client/server.
Salah satu kelebihan BDE adalah integrasi yang sudah sangat baik dengan Delphi. Sisi
lain penggunaan BDE hanya maksimal untuk pemrograman yang bersifat standlone.

Bentuk Kompenen BDE pada Delphi :

B. ActiveX Data Object (ADO)


ADO merupakan salah satu teknologi akses database tingkat tinggi. Kelebihan antar muka
ADO adalah merupakan teknologi akses indevenden terhadap setiap aplikasi program.
ADO terdapat dalam tab ADO pada Component Pallete.

85

10.2 Latihan Database ( STUDI KASUS FORM KARYAWAN )


Buat form dibawah ini

KOMPONEN

KETERANGAN

DELPHI

Komponen table terdapat dalam tab BDE


Databasename= karyawan_12038381
Table name

= tabel_karyawan

Active

= true

Komponen Data Source terdapat dalam tab Data Access


Dataset

=tabel1

Dbgrid terdapat dalam tab data control


Datasource =datasource 1
Komponen BitBtn1 terdapat dalam Tab Additional
Untuk membuat Button Awal, Maju, Mundur dan Akhir ( Diberi warna
/ gambar )

Komponen Memo terdapat dalam Tab Standard

86

Petunjuk Logika Soal


a) Tombol Tambah digunakan untuk mengosongkan isi di edittext
b) Tombol Batal jika tidak jadi menambahkan data dan textnya tidak aktif.
c) Tombol Simpan untuk menyimpan data yang telah ditambahkan.
d) Tombol Cari untuk mencari data berdasarkan kode pegawai.
e) Tombol Hapus untuk menghapus data yang telah kita masukan.
f) Untuk Jabatan & Gaji pokok :
Jabatan

Gapok

Direktur

10000000

Manajer

8000000

Supervisor

5000000

Administrasi

3000000

Tombol exit akan keluar dari form dengan muncul pesan:

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}

Membuat isi procedure aktif


procedure Tform1.aktif;
begin
ekode.Enabled:=true;
enama.Enabled :=true;
malamat.Enabled :=true;
cbjabatan.Enabled :=true;
egapok.Enabled :=true;
rlaki2.Enabled :=true;
rperempuan.Enabled :=true;
end;

Membuat isi procedure nonaktif


procedure tform1.nonaktif;
begin
ekode.Enabled :=false;
87

enama.Enabled :=false;
malamat.Enabled :=false;
cbjabatan.Enabled :=false;
egapok.Enabled := false;
rlaki2.Enabled :=false;
rperempuan.Enabled :=false;
bsimpan.Enabled:=false;
end;

Membuat isi procedure kosong


procedure tform1.kosong;
begin
ekode.Clear;
enama.Clear;
malamat.Clear;
rlaki2.Checked :=false;
rperempuan.Checked :=false;
egapok.Clear;
ecari.Clear;
end;

Untuk menampilkan isi field dari tabel karyawan


procedure tform1.tampil;
begin
ekode.Text :=table1['Kdpegawai'];
enama.Text :=table1['Nmpegawai'];
malamat.Text :=table1['Alamat'];
cbjabatan.Text :=table1['Jabatan'];
egapok.Text :=table1['Gapok'];
if table1['Gender']='Laki-laki' then
rlaki2.Checked :=true
else
rperempuan.Checked :=true;
end;

Menyimpan data yang sudah diinputkan ke tabel karyawan


procedure TForm1.bsimpanClick(Sender: TObject);
begin
table1.Append;
table1['Kdpegawai']:=ekode.Text;
table1['Nmpegawai']:=enama.Text;
table1['Alamat']:=malamat.Text;
table1['Jabatan']:=cbjabatan.Text;
if rlaki2.Checked =true then
table1['Gender']:=rlaki2.Caption
else
table1['Gender']:=rperempuan.Caption ;
table1['Gapok']:=egapok.Text;
table1.Post;
nonaktif;
end;
88

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;

Keluar dari aplikasi program dan akan tampil pesan


procedure TForm1.bexitClick(Sender: TObject);
begin
if (application.MessageBox('Yakin akan keluar?','Informasi',mb_yesno)=id_yes) then
close;
end;

Membatalkan perintah
procedure TForm1.bbatalClick(Sender: TObject);
begin
kosong;
nonaktif;
table1.First;
tampil;
end;

Pada saat form dirunning semua isi field akan tampil


procedure TForm1.FormCreate(Sender: TObject);
begin
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;

Pada saat form dirunning beberapa object dalam keadaan nonaktif


procedure TForm1.FormActivate(Sender: TObject);
begin
tampil;
nonaktif;
end;

Membuat pencarian data berdasarkan index


procedure TForm1.bcariClick(Sender: TObject);
begin
table1.IndexName :='';
if not table1.FindKey([ecari.Text]) then
begin
showmessage('Data Belum ada');
exit;
form1.ActiveControl := ecari;
end
else
tampil;
ecari.Clear;
ecari.SetFocus;
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.

11.2 Merancang Database ( Studi Kasus Inventory)


Dalam Kasus Project Program Inventory ini akan membuat nama database :
Inventory.mdb. Langkah langkahnya :
Buka Microsoft Access 2003, Pilih menu File New - Blank Database.
Simpan Nama Database dengan nama : Inventory.mdb

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

Isilah Data tabel diatas sebagai berikut :

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

11.3 Mengisi Data


Pilih Tabel User lalu klik OPEN, isilah data user dibawah ini :

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

2. Di properties dipilih Connection String

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.

12.2 Logika Program


Membuat Prosedure Aktif (Mengaktifkan .Enabled objek objek pada form)
Membuat Procedure Pasif (Menonaktifkan .Enabled objek objek pada form)
Membuat Procedure Bersih (membersihkan textbox)
Button Save untuk menyimpan kedalam tabel supplier
Button Add untuk mengaktifkan dan membersihkan objek
Button Exit untuk menutup Form

12.3 Tampilan Form pada saat Running

95

12.4 Design Form

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

Form Activate ( Pada saat Form pertama kali diaktifkan)


procedure TForm1.FormActivate(Sender: TObject);
begin
bersih;
pasif;
end;
Tombol Add saat diklik
procedure TForm1.btnaddClick(Sender: TObject);
begin
showmessage('Silahkan Input data baru Supplier');
bersih;
aktif;
ekdsup.SetFocus;
end;

Tombol Save saat diklik


procedure TForm1.btnsaveClick(Sender: TObject);
begin
if adosup.Locate('idsup',ekdsup.Text,[])then
begin
showmessage('Data Suplier sudah ada!');
exit;
end
else
begin
adosup.Append; //menambahkan Record baru
adosup['idsup']:=ekdsup.Text; //menyimpan data perfield
adosup['nmsup']:=enmsup.Text ;
adosup['telp']:=ekdsup.Text;
adosup['alamat']:=enmsup.Text ;
adosup.Post; // untuk mengupdate data tabel
adosup.Refresh;
showmessage('Data Supplier yang baru telah tersimpan');
pasif;
bersih;
end;
end;

97

Tombol Exit saat diklik


procedure TForm1.btnexitClick(Sender: TObject);
begin
IF application.MessageBox('Yakin akan keluar?','Informasi',mb_okcancel)=idok
then
begin
showmessage ('Form akan ditutup');
close;
end
else
begin
showmessage('Form tidak ditutup');
exit;
end;
end;

98

Bab XIII
Perancangan Form Master Buku

13.1 Logika Program


Buatlah procedure Aktif, bersih, Pasif, no_otomatis dan tampil (untuk menampilkan
data kedalam objek objek form
Pada saaat form pertama kali aktif, tombol Add, Find, Exit dan Navigasi aktif.
Tombol Navigasi Next : untuk menuju ke record berikutnya lalu data tampil.
Tombol Navigasi Bottom : untuk menuju ke recor paling akhir.
Tombol Navigasi Back : untuk menuju ke record sebelumnya lalu data tampil
Tombol Navigasi Top : untuk menuju ke record paling awal
Pada Saat tombol add diklik maka Isi Kode buku terisi otomatis dengan format :
BOOK01 ,BOOK02dst. Tombol yang aktif hanya Save dan Cancel.
Pada saat tombol find diklik maka akan dilakukan pencarian berdasarkan Kode buku.
Jika ketemu maka tombol Delete Edit Cancel aktif dan data tampil.
Pada saat tombol Edit diklik maka akan dilakukan pengeditan pada isi data pada objek
kecuali kode buku. Lalu Tombol Save dan Cancel aktif.
Pada saat tombol delete diklik maka data yang dipilih akan dihapus.
Button Save digunakan untuk menambahkan record baru atau update record yang
sudah ada.
Button Exit : untuk keluar dari form

13.2 Tampilan Form saat Running

13.3 Desain Form

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

procedure TForm2.FormActivate(Sender: TObject);


begin
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.btncancelClick(Sender: TObject);
begin
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.btndelClick(Sender: TObject);
begin
IF application.MessageBox('Yakin akan dihapus?','Informasi',mb_okcancel)=idok then
begin
adobuku.Delete;
adobuku.First;
adobuku.Refresh;
bersih;
pasif ;
btnadd.Enabled:= true;
btncancel.Enabled:=false;
btnsave.Enabled:=false;
btndel.Enabled:=false;
btnedit.Enabled:=false;
btnexit.Enabled :=true;
btnfind.Enabled:= true;
end;
end;
procedure TForm2.btneditClick(Sender: TObject);
begin
isi:=false;
aktif;
ekdbuku.Enabled:=false;
btnadd.Enabled:= false;
btncancel.Enabled:=true;
btnsave.Enabled:=true;
btndel.Enabled:=false;
btnedit.Enabled:=false;
btnexit.Enabled :=false;
btnfind.Enabled:= false;
end;
procedure TForm2.btnsaveClick(Sender: TObject);
begin
if isi=true then
begin
showmessage('Data Akan disimpan');
103

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

14.2 Tampilan Form Saat Running

105

14.3 Desain Form

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;

procedure TForm3.FormActivate(Sender: TObject);


begin
gridbersih;
pasif;
bersih;
etgl.Text:=datetostr(date());
end;
procedure tform3.no_otomatis;
var
nomor:integer;
107

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;

procedure TForm3.ejumbelKeyPress(Sender: TObject; var Key: Char);


begin
if key =#13 then
esubtot.Text:=inttostr(strtoint(ejumbel.Text)*strtoint(eharga.Text));
end;
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.

A. Pembuatan Report List


Dalam setiap pembuatan program aplikasi, kita tentu perlu untuk membuat Report List
yang hanya menampilkan sebuah daftar dengan judul , Header dan Footer.
Langkah-langkah Pembuatan Report Delphi dengan kasus Penjualan
1. Masukkan Komponen RVProject dan RVDatasetConnection dari Menu Rave kedalam
Form Penjualan didalam Kasus I yang sudah dikerjakan sebelumnya.

RVProject

RVDatasetConnection

Gambar 2.1 Form Transaksi

2. Koneksikan RVDatasetConnection ke masing-masing Tabel.


No Komponen
Properties
1
RVDatasetConnection1 Dataset : tbltrans
2
RVDatasetConnection2 Dataset : tbldetail
3
RVDatasetConnection3 Dataset : tblbrg
4
RVDatasetConnection4 Dataset : tblcust

3. Setelah dikoneksikan, Doble klik RV Project untuk membuka Layar Rave Report seperti
tampilan dibawah ini:

111

Rave Report Project

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

Gambar 2.3 Tampilan Data Connection

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

Report Layout berfungsi untuk menentukan Bentuk tampilan Report


Selanjtunya disetiap Band akan dapat diganti Font nya masing-masing.
Tekan tombol Generate untuk membuat laporannya. Maka tampilannya akan
seperti dibawah ini :

7. Untuk Melihat Hasilnya dengan cara : File-Execute Report.

G
a
m
b
a
r
2
.
4
T
a
m
p
i
lan Laporan Barang

8. Setelah itu simpan Project Reportnya.

113

B. Pembuatan Report Relational


1. Pilih Menu File-New Data Object
2. Pilih Database Connection-BDE. Selanjutnya akan tampil gambar dibawah ini :

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

6. Tools Report Wizard - Simple Tabel DriverDataView1.


7. Dengan langkah yang sama dengan pembuatan Report List akan menghasilkan
Tampilan Report seperti dibawah ini :

8. Silahkan di Design laporan seperti diatas.


9. Setelah mengambil contoh diatas dalam pembuatan Laporan, silahkan anda membuat
dari Contoh Kasus Inventory dengan membuat Laporan Pembelian, Laporan Buku
dan Laporan Supplier

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

RaveDatasetConnection dan dengan langkah yang sama dengan Pembuatan Koneksi


pada saat pembuatan Laporan menggunakan Rave Report.

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}

procedure TForm5.FormTransaksi1Click(Sender: TObject);


begin
form4.Show;
end;

procedure TForm5.LaporanBarang1Click(Sender: TObject);


begin
rvproject1.Execute;
rvproject1.ExecuteReport('Report2.rav');

end;

procedure TForm5.LaporanTransaski1Click(Sender: TObject);


begin
rvproject1.Execute;
rvproject1.ExecuteReport('Report3.rav');

end;

procedure TForm5.Exit1Click(Sender: TObject);


begin
close;
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

17.1 Perancangan Form Startup


Desain Form

Form Pada saat dijalankan

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

17.2 Perancangan Form Login


Desain Form

Form pada saat dijalankan

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

procedure TForm1.Btnlogin1Click(Sender: TObject);


var
cepat:Longint;
begin
if ADOuser.Locate('nama',edit1.Text,[]) then
begin
if ADOuser.Locate('password',edit2.Text,[]) then
begin
id:= ADOuser.FieldValues['hak_akses'];
if id='admin' then
begin
MessageDlg('nama user dan password benar, anda berhak masuk',mtInformation,[mbok],0 );
MessageDlg('Hak Akses adalah ADMIN',mtInformation,[mbok],0 );
cepat := 1;
While form8.Left + form8.Width < Screen.Width
do
form8.Left := form8.Left + cepat;
While form8.Top form8.Height < Screen.Width
do
form8.Top := form8.Top + cepat;
formmenuutama.Show;
end
else
begin
MessageDlg('nama user dan password benar, anda berhak masuk',mtInformation,[mbok],0 );
MessageDlg('Hak Akses adalah BIASA',mtInformation,[mbok],0 );
cepat := 1;
While form8.Left + form8.Width < Screen.Width
do
form8.Left := form8.Left + cepat;
While form8.Top form8.Height < Screen.Width
do
form8.Top := form8.Top + cepat;
formmenuutama.Show;
formmenuutama.MASTER1.Enabled:=False; //mentidakaktifkan salahsatu menu
end
end
else if edit2.Text='' then
begin
MessageDlg('password belum di isi',mtInformation,[mbok],0 );
edit2.SetFocus;
end
else
begin
if(Application.MessageBox('Password yang anda masukan
salah','INFO',MB_OK+MB_ICONWARNING)=IDOK) then
y:=y+1;
begin
if y=1 then
begin
MessageDlg('anda memiliki 2 kesempatan lagi',mtInformation,[mbok],0 );
edit2.SetFocus;
end
else if y=2 then
begin
MessageDlg('anda memiliki 1 kesempatan lagi',mtInformation,[mbok],0 );
edit2.SetFocus;
end
else if y=3 then
begin
MessageDlg('Maaf anda tidak berhak masuk',mtInformation,[mbok],0 );
close;
end
122

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.

17.3 Membuat Packet Program


Setelah Itu kita dapat menjalankan Program yang sudah di EXE yang secara otomatis
terbentuk pada folder penyimpanan :

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.

18.2 Konten Tugas


Untuk Isi konten Manual Book yang akan dibuat untuk mendukung pembuatan Project
programa sebagai berikut :

Bab I : Pendahuluan
Latar Belakang
Maksud Dan Tujuan
Metode Penelitian
Ruang Lingkup

Bab II : Pembahasan
Landasan Teori
Analisa Kasus ( Pembahasan / Perancangan)

BAB III : Penutup


Kesimpulan
Saran
Daftar Pustaka
Lampiran

18.3 Kriteria Penilaian


1. Penilaian 1 Persiapan dan Presentasi ( 20 %)
2. Penilaian 2 Pemahaman Individu ( 50 %)
3. Penilaian 3 Hasil Karya Kelompok ( 30 %)

124

18.4 Contoh Project


1. Pembayaran
2. Simpan Pinjam
3. Pembayaran Angsuran
4. Penggajian
5. Peminjaman Pengembalian
6. Penerimaan Karyawan
7. Absensi Karyawan
8. Persediaan barang

125

Anda mungkin juga menyukai