Modul Delphi 6 STMIK ..

111
Oleh: Wijiyanto BAB I MENGENAL DAN MENCOBA BORLAND DELPHI 6 Tujuan Umum Setelah mempelajari bab ini mahasiswa dapat mengetahui fasilitas dan komponen-komponen yang dimiliki untuk membuat program aplikasi pengolahan data dengan menggunakan bahasa pemrograman Delphi. Tujuan Khusus a. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dasar - dasar pemrograman menggunakan delphi. b. Setelah mengikuti kuliah bab ini mahasiswa dapat mengoperasikan program delphi. c. Setelah mengikuti kuliah bab ini mahasiswa dapat mengenal perintah-perintah dalam Delphi. d. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui langkah langkah umum membuat program aplikasi pada delphi. e. Setelah mengikuti kuliah bab ini mahasiswa dapat menyimpan menutup dan membuka program aplikasi yang dibuat. f. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui komponen dan fungsi dari masing-masing komponen seperti form, unit, program, Properties,event dan komponen palette. Materi : 1.1 Mengenal Sepintas Borland Delphi 6 Borland delphi 6 adalah bahasa pemrograman yang bekerja pada lingkup sistem operasi windows, dan merupakan salah satu program yang berorientasi object ( OOP ). kemampuanya dapat dipakai untuk merancang program STMIK Duta Bangsa Surakarta - Delphi 6 1

description

dododl

Transcript of Modul Delphi 6 STMIK ..

Page 1: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

BAB I

MENGENAL DAN MENCOBA BORLAND DELPHI 6

Tujuan UmumSetelah mempelajari bab ini mahasiswa dapat mengetahui fasilitas dan komponen-komponen yang dimiliki untuk membuat program aplikasi pengolahan data dengan menggunakan bahasa pemrograman Delphi.

Tujuan Khususa. Setelah mengikuti kuliah bab ini

mahasiswa dapat mengetahui dasar - dasar pemrograman menggunakan delphi.

b. Setelah mengikuti kuliah bab ini mahasiswa dapat mengoperasikan program delphi.

c. Setelah mengikuti kuliah bab ini mahasiswa dapat mengenal perintah-perintah dalam Delphi.

d. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui langkah langkah umum membuat program aplikasi pada delphi.

e. Setelah mengikuti kuliah bab ini mahasiswa dapat menyimpan menutup dan membuka program aplikasi yang dibuat.

f. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui komponen dan fungsi dari masing-masing komponen seperti form, unit, program, Properties,event dan komponen palette.

Materi :

1.1 Mengenal Sepintas Borland Delphi 6

Borland delphi 6 adalah bahasa pemrograman yang bekerja pada lingkup sistem operasi

windows, dan merupakan salah satu program yang berorientasi object ( OOP ). kemampuanya

dapat dipakai untuk merancang program aplikasi yang berpenampilan seperti program aplikasi

lainya yang berbasis Windows.

Kemampuan Borland Delphi 6 secara umum adalah menyediakan komponen komponen yang

memungkinkan anda membuat program aplikasi yang sesuai dengan tampilan dan cara kerja

windows, diperkuat dengan bahasa pemrograman tersetruktur yang sangat handal, yaitu

bahasa pemrograman Object Pascal yang sangat terkenal.

Khusus untuk pemrograman database Borland Delphi 6 menyediakan fasilitas object yang

sangat kuat dan lengkap. Selain menyediakn format database Paradoxs dab dBase Borland

STMIK Duta Bangsa Surakarta - Delphi 6 1

Page 2: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Delphi 6 juga menangani bebrbagai macam format database seperti: MS-Access, ODBC,

SyBASE, Oracle dan lain lain.

1.2 Memulai Program Borland Delphi 6

Untuk memulai menjalankan Borland Delphi 6 lakukan langkah langkah sebagai berikut :

a. Klik Icon Start pada sistem operasi Windows (pastikan program Borland Delphi 6 sudah di

install)

b. Tunjuk program, lalu pilih Borland Delphi 6 atau Delphi 6, kemudian akan muncul program

Borland Delphi 6 yang sudah siap dipakai, seperti yang nampak pada gambar dibawah ini:

1.3 Langkah Umum Membuat Program Aplikasi

Program berikut program yang sederhana brtujuan untuk memudahkan dalam memahami

membuat program aplikasi Borland Delphi 6 . Langkah langkah umum untuk membuat

program aplikasi dengan Borland Delphi 6 adalah sebagai berikut :

a. Gambar object dan tata letak kedalam jendela form menggunakan ikon ikon object dalam

komponen palette.

STMIK Duta Bangsa Surakarta - Delphi 6 2

Page 3: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

b. Bila perlu, tentukan properti pada tiap komponen menggunakan lembar properties pada

jendela Object Inspector.

c. Tuliskan kode program untuk event pada object yang diinginkan. Event adalah suatu

kejadian yang dirasakan object, misalnya tunjuk klik, atau kejadian lainya.

1.3.1 Membuat Program Aplikasi Pertama

Sebagai contoh yang pertama kita membuat program program aplikasi pencatat waktu

seperti yang nampak pada gambar berikut :

Untuk mebuat contoh program diatas, lakukan langkah langkah sebagai berikut :

1. klik ganda pada icon label yang terdapat pada tab standart dalam konponen

Palette, sehingga muncul object yang bernama label1.

2. ubah properties caption-nya pada jendela object inspector menjadi Mulai,

kemudian atur tata letaknya seperti pada gambar diatas.

3. lakukan cara yang sama untuk mendapatkan label Selesai dan Lama.

4. tambahkan object edit yang letaknya disebelah kanan label. Dan kosongkan

properties Text-nya.

5. tambahkan oject button, letakkan dibawah object label dan edit seperti yang

nampak pada gambar. Ubah properties captionya menjadi Start.

6. tambahkan object timer yang letaknya pada tab System dalam komponen palette.

7. tekan tombol F12 untuk menampilkan editor kode program, kemudian tuliskan

kode programnya. Ingat Borland Delphi 6 sudah memberikan sebagian kode

program anda tinggal melengkapinya saja. Untuk kembali ke design form tekan F12

STMIK Duta Bangsa Surakarta - Delphi 6 3

Page 4: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

lagi. Jadi tombol ini untuk menuju design Form dan kode program secara bolak

balik. Atau dengan cara meng-kilk object yang akan diisi program.

8. setelah selesai, jalankan program diatas dengan memilih menu Run lalu pilih Run

atau tekan tombol F9 atau klik Icon Run.

9. Kode program dapat anda lihat seperti dibawah ini:Unit lat01;Interface

UsesWindows, messages, SysUtils, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ExtCtrls;

TypeTform1 = class(Tform)

Timer1:Ttimer;Edit1:TEdit;Edit2:Tedit;Edit3:Tedit;Label1:Tlabel;Label2:TlabelLabel3:TlabelButton1:Tbutton;Procedure FormCreate(Sender: Tobject);Procedure Button1Clik(Sender: Tobject);Procedure Timer1Timer(Sender: Tobject);Private

{ Private Declaration }public

{ Public Declaration }end;

varForm1 :Tform1;Awal,akhir : tDateTime;Lama : Real;

Implementation( SR *.DFM )

procedure Tform1.FormCreate (Sender: Tobject);begin

timer1.Interval:=1;end;

procedure Tform1.Button1Click(Sender: Tobject);begin

if Button1.Caption=’Start’ then begin

awal:=time;edit1.text:=timetostr(time);Button1.caption:=’Stop’;

endelse if button1.caption=’Stop’ then Button1.caption:=’Selesai’

STMIK Duta Bangsa Surakarta - Delphi 6 4

Page 5: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Else Aplication.terminate

End;

Procedure Tform1.Timer1Timer(Sender: Tobject);Var slama : String;Begin

If Button1.Caption=’Stop’ ThenBegin

Akhir:=time;Edit2.text:TimeToStr(akhir);Lama:=(akhir-awal)*100000;Str(lama:12:2,Slama);Edit3.text:=slama;

End;End;End.

1.3.2 Menyimpan Program Aplikasi

Sebelum program dijalankan disarankan untuk disimpan dahulu. Untuk penyimpanan

ada bebrapa cara dan pilihan. Untuk menghindari kesalahan biasakan untuk memilih

Save All atau Save project as. Setelah anda pilih pilihan itu maka anda akan disuruh

menyimpan sebanyak dua kali yaitu menyimpan form/unitnya dan menyimpan

projectnya dari unit tersebut.

1.3.3 Menutup Program Aplikasi

Untuk menutup program aplikasi Borland Delphi 6 anada cukup memilih file kemudian

pilih Close all, untuk keluat Klik File kemudian Exit atau tombol close yang terletak pada

pojok kanan atas.

1.4 Beberapa Komponen Borland Delphi 6

Untuk dapat menguasai pemrograman Borland Delphi 6 dengan baik maka kita harus tau

beberapa komponen yanga ada di Borland Delphi 6 dan memepelajarinya dengan baik,

adapun komponen tersebut antara lain:

1.4.1 Project

Project adalah sekumpulan form, unit dan beberapa hal lain artinya project adalah

program itu sendiri. File project disimpan dengan akhiran .dpr, beberapa file yang

diperlukan untuk poject adalah sebagai berikut :

a. File Unit (.pas)

Dipakai untuk menyimpan program (kode program), unit ini berhubungan langsung

dengan form, tapi kadangkala unit hanya berupa procedure dan function yang tidak

berhubungan dengan form.

STMIK Duta Bangsa Surakarta - Delphi 6 5

Page 6: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

b. File Form (.dfm)

Dipakai untuk menyimpan semua informasi mengenai form

c. File project Option(.dfo)

Dipakai untuk menyimpan semua setting option (pilihan) project.

d. File Resource(.res)

Dipakai untuk menyimpan icon yang dipakai project.

e. File Backup(.~dp, .~df, .~pa)

Dipakai untuk menyimpan file backup project, form dan unit.

1.4.2 Form

Form adalah suatu object yang dipakai sebagai tempat bekerja program aplikasi. Dalam

satu project bisa dibuat lebih dari satua form. Setiap form mengadung unit. Unit dalam

form dipakai untuk mengatur dan mengendalikan form, gambar form seperti nampak

pada gambar dibawah ini :

1.4.3 Unit

Unit adalah modul kode program, satu program mungkin memiliki lebih dari satu unit.

Setiap kali kita membuat form maka otomatis Borland Delphi 6 memberikan unitnya

juga. Ada juga unit yang terpisahkan dengan form yang berisi sekumpulan procedure

dan fungsi.

Manfaat penggunaan unit dalam program antara lain sebagai berikut :

a. Membagi program yang besar kedalam beberapa unit, sehingga kita dapat mengedit

unit-unit tertentu saja.

STMIK Duta Bangsa Surakarta - Delphi 6 6

Page 7: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

b. Membuat library (daftar pustaka) berupa procedure dan function sehingga

memudahkan sharing antar program.

c. Unit dapat dikompilasi terpisah dari program aplikasi, sehingga program aplikasi lain

yang memerlukan unit serupa dapat menggunakanya tanpa harus menulis kembali

kode program tersebut.

1.4.4 Program

Sebuah program secara umum mempunyai struktur sebagai berikut :

a. Heading Program, yaitu bagian yang menunjuk nama program tersebut.

b. Pernyataan USES, yang berisi daftar unit yang dipakai program

c. Blok deklarasi dan pernyataan, yaitu bagian yang berisi deklarasi dan pernyataan

program yang dilaksanakan pada saat program dijalankan. Bagian ini harus diakhiri

dengan penyataan End diikuti tanda titik.

1.4.5 Properties

Properties digunakan untuk menentukan setting suatu object. Suatu object biasanya

mempunyai beberapa properti. Properties sendiri letaknya bersebelahan dengan event

pada jendela Objeck Inspector. Gambar properties dapat dilihat pada gambar dibawah

ini :

1.4.6 Event

Event adalah peristiwa atau kejadian yang diterima oleh suatu object misalkan klik, drag

dan lain lain. Sebagai contoh dapat dilihat potongan kode program sebagai berikut :procedure Tform1.Button1Click(Sender: Tobject);begin

if Button1.Caption=’Start’ then begin

awal:=time;edit1.text:=timetostr(time);

STMIK Duta Bangsa Surakarta - Delphi 6 7

Page 8: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Button1.caption=’Stop’; endelse if button1.caption=’Stop’ then Button1.caption=’Selesai’Else Aplication.terminate

End;Program diatas menunjukan event Click pada object button1.Beberapa pilihan event pada object button dapat dilihat pada gambar dibawah ini :

1.4.7 Komponent Palette

Komponen palette adalah kumpulan object yang dipakai untuk mendesign program.

Beberapa komponen palette anatara lain komponen standart, additional, win32, System

dan lain lain yang berisi object yang berbeda beda sesuai dengan masing masing

komponen tersebut. Gambar komponen pallete dapat dilihat pada gambar dibawah ini :

Latihan :

1. Buatlah satu form untuk menampilkan gambar dengan menggunakan fasilitas image pada tab additional.

2. Simpan Form tersebut dalam satu project.3. Jalankan Form yang telah anda buat.

STMIK Duta Bangsa Surakarta - Delphi 6 8

Page 9: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

BAB II

TIPE DATA, VARIABEL DAN OPERATOR

Tujuan UmumSetelah mempelajari bab ini mahasiswa dapat mengetahui tipe data, variabel dan operator untuk membuat program aplikasi pengolahan data dengan menggunakan bahasa pemrograman Delphi.

Tujuan Khususa. Setelah mengikuti kuliah bab ini

mahasiswa dapat mengetahui tipe data integer, real, boolean, character, string, array, record, tipe terenumerasi dan subrange.

b. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan konstanta

c. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan variable.

d. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui operator penugasan/assignment, aritmatika, relasi dan logika

e. Setelah mengikuti kuliah bab ini mahasiswa dapat membuat program yang melibatkan operasi operator.

Materi :

2.1 Tipe Data

2.1.1 Tipe Integer.

Tipe data integer digunakan untuk menyatakan bilangan yang tidak mempunyai angka desimal,

yang termasuk tipe data integer antara lain

Tipe Rentang Nilai ByteByteWordShortIntSmallIntIntegerCardinalLongInt

0-2550-65535-128 – 127- 32768 - 32767- 2147483648 - 21474836470 –2147483647-2147483648 - 2147483647

1212444

2.1.2 Tipe Real

Tipe data real digunakan untuk menyatakan bilangan yang mempunyai angka desimal,

yang termasuk tipe data real antara lain :

STMIK Duta Bangsa Surakarta - Delphi 6 9

Page 10: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Tipe Rentang Nilai ByteReal48SingleDoubleExtendedCompCurrency

2.9 x 10 –39 s.d 1.7 x 10 38

2.2 x 10 –45 s.d 3.4 x 10 38

5.0 x 10 –324 s.d 1.7 x 10 308

3.6 x 10 –4951 s.d 1.1 x 10 –4932

-2 63+1 s.d 2 63 –1-922337203685477.5808 s.d 922337203685477.5807

6481088

2.1.3 Tipe Boolean

Tipe data boolean digunakan untuk menyatakan data logika yaitu True (T) dan

False (F), yang termasuk tipe data boolean antara lain :

Tipe ByteBooleanByteBoolWordBoolLongBool

1124

Disrankan yang digunakan adalah tipe Boolean karena tipe yang lain hanya digunakan

untuk menjaga kompatibilitas yaitu jika program dihubungkan dengan program dalam

bahasa yang lain atau dengan windows yang menggunakan tipe yang sama.

2.1.4 Tipe Character

Tipe data Character digunakan untuk menyatakan karakter satu huruf. Yang

termasuk tipe Character antara lain :

Tipe Byte IsiCharAnsiCharWideChar

112

1 Character Ansi1 Character Ansi1 Character Unicode

2.1.5 Tipe String

Tipe data string dipakai untuk menyatakan sederetan karakter yang membentuk satu kesatuan,

misal nama , alamat dll. Yang termasuk tipe data string antara lain :

Tipe Byte Isi MaximumShortStringAnsiStringWideString

2 s.d 2564 s.d 2gb4 s.d 2gb

256 character231 Character230 Character

2.1.6 Tipe Array

Array adalah variabel tunggal yang dapat dipakai untuk menyimpan sekumpulan data

sejenis. Sebagai contoh perhatikan potongan program berikut :

STMIK Duta Bangsa Surakarta - Delphi 6 10

Page 11: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

VarBulan : array[1..12] of ansiString;

BeginBulan[1]:=’Januari’;Bulan[2]:=’Februari’;….….Edit1.text:=bulan[1];

2.1.7 Tipe Record

Tipe data record dipakai untuk menyimpan sekumpulan data yang mungkin berbeda

tipe, tapi saling berhubungan, perhatikan contoh dibawah ini:Type

RecBrg=recordKode : AnsiString[6];Nama : AnsiString[30];Hsatuan : Single;End;

VarBarang :recBrg;

BeginBarang.kode:=’PS.001’;Barang.nama:=’Pensil 2B’ ;Barang.harga:=2500;

2.1.8 Tipe Terenumerasi dan Subrange

Tipe Terenumerasi dan Subrange dipakai untuk menyatakan data berurutan yang

bertipa sama, perhatikan contoh dibawah ini:

a. contoh Tipe data Terenumerasitypewarna=(merah,biru,hijau,kuning,orange,hitam,putih);var

warnacat:warna;b. contoh Tipe data Subrange

typewarnaku = Biru .. Orange;hurufBesar = ‘A’ .. ‘Z’;Nilai = 0..100;

VarWarnacat : Warnaku;Nilaiujian :nilai;Nilaiakhir :hurufbesar;

2.2 Konstanta

Konstanta adalah sesuatu nilai yang bersifat tetap, untuk lebih jelasnya perhatikan contoh

berikut ini :

STMIK Duta Bangsa Surakarta - Delphi 6 11

Page 12: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Begin…..…..discountanggota:=jumlah*0.1;discounttunai:=jumlah*0.15;

potongan program diatas dapat dituliskan menjadi seperti contoh berikut ini :

ConstDiscountanggota=0.1;Discounttunai=0.15;

Begin…..…..jumlahdiscountanggota:=jumlah*discountanggota;jumlahdiscounttunai:=jumlah*discounttunai;

Keuntungan penggunaan pernyataan konstanta antara lain:

a. Program lebih mudah dimengerti/terbaca

b. Menghindarkan salah ketik, karena jika anda salah mengetik nilai konstanta, maka pada

saat kompilasi tidak dianggap salah. Sedangkan jika salah mengetik nama konstanta

maka pada saat kompilasi akan dianggap salah.

c. Jika dalam suatu program nilai konstanta dipakai berulang kali, maka jika ada perubahan

data nilai kanstanta,cukup yang diubah deklarasi konstantanya saja.

2.3 Variabel

Variabel adalah suatu tempat dalam memori komputer yang diberi nama (sebagai pengenal)

dan dialokasikan untuk menampung data sementara.

Perbedaan antara variabel dengan konstanta adalah sebagai berikut :

a. Konstanta dipergunakanya pada saat kompilasi program, sedang variabel dipergunakan

pada saat program dijalankan.

b. Konstanta tidak dapat berubah pada saat program berjalan. Sedangkan variabel dapat

berubah atau diubah nilainya pada saat program berjalan.

Aturan pemeberian nama variabel adalah sebagai berikut :

a. Harus dimulai dengan karakter alfabet(huruf) atau under score ( _ ).

b. Harus unique ( tidak boleh ada nama yang sama ) pada ruang lingkup variabel yang sama.

c. Panjangnya boleh berapa saja, tetapi hanya 63 karakter pertama yang dibaca dan 64

seterusnya akan diabaikan.

d. Beberapa karakter tidak diperbolehkan dipakai antara lain : , + - * / < >

Contoh penggunaan variabel dapat dilihat pada potongan program berikut ini :Var

Form1:Tform1;

STMIK Duta Bangsa Surakarta - Delphi 6 12

Page 13: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

A : Single;Implementation( SR *.DFM )

procedure Tform1.FormCreate(Sender: Tobject);begin

A:=5;// variabel ini bersifat global

end;

procedure Tform1.FormClick( Sender: Tobject);var

A : Single;BeginA:=10;// variabel ini bersifat lokalend;

2.4 Operator

Hirarti operator dalam Borland Delphi 6 adalah sebagai berikut:

Operator Hierarki@, not*, / , div, mod, and, shl, shr, as+, -, or, xor=, <>, <, >, <=, >=, in, is

TertinggiKeduaKetigaKeempat

Anda juga bisa mengubah hierarki dengan memberi tanda kurung pada operasi yang akan

didahulukan.

2.4.1 Operator Penugasan (Assignment)

Operator penugasan disimbolkan dengan tanda sama dengan didahului titik dua dan

berfungsi untuk memasukkan sesuatu kedalam suatu variabel, penulisanya adalah

sebagai berikut :

<variabel> : = <ekspresi>contoh :bilangan :=0;harga :=500;banyak :=5;jumlah:=banyak*harga;no:=no+1;

2.4.2 Operator Aritmatika

Digunakan untuk melakukan operasi aritmatika. Operator aritmatika terdiri dari :

Operator Operasi Tipe diproses Tipe Hasil*/

PerkalianPembagian

Integer, realInteger, real

Integer, realreal, real

STMIK Duta Bangsa Surakarta - Delphi 6 13

Page 14: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

divmod+-

Pembagian bulatSisa pembagianPenambahanpengurangan

IntegerIntegerInteger, realInteger, real

IntegerIntegerInteger, realInteger, real

Contoh penggunaan operator aritmatika dapat dilihat pada contoh dibawah ini :A:= 2* 3; // hasilnya 6A:= 5 / 2 ; // hasilnya 2.5A:= 5 div 2 ;// hasilnya 2 dibulatkan kebawahA:=5 mod 2 ; // hasilnya 1 dibulatkan keatasA:= 5 + 2 ; // hasilnya 7A:= 5 – 2 ; // hasilnya 3Contoh pangkat :A:= 2 ;B:= 3 ;C:=exp(B*Ln(A)); // C berisi 9D:=exp(B*Ln(5)); // D berisi 125

2.4.3 Operator Relasi

Operator relasi digunakan untuk membandingkan suatu data dengan data yang

alain dan menghasilkan suatu nilai logika benar atau salah. Operator

penggabungan dalam operator relasi nampak pada tabel dibawah ini:

Operator Keterangan=<><><=>=

Sama denganTidak sama denganLebih kecilLebih besarLebih kecil atau sama denganLebih besar atau sama dengan

Contoh penggunaan operator relasi adalah sebaga berikut :A:= 2 > 3 ; // FalseA:= 2+2 >3 ; // TrueA:= 3 > 2+ 2 ; // FalseA:= 3 >= 3 ; // True

2.4.4 Operator Logika

Operator logika digunakan untuk mengekspresikan satu atau lebih data logika

yang menghasilkan data logika yang baru. Macam operator logika adalah

sebagai berikut:

Operator KeteranganNotAndOrXor

TidakDanAtauExclusive or

a. tabel penggunaan operator NOT tampak pada tebel berikut ini:

STMIK Duta Bangsa Surakarta - Delphi 6 14

Page 15: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Ekpresi HasilNot TrueNot False

FalseTrue

Contoh hasil penggunaan operator logiak NOT adalah sebagai berikut :Tes := not (5>4); //tes berisi falseTes := not (5=4); //tes berisi true

b. tabel penggunaan operator AND tampak pada tebel berikut ini:

Ekspresi HasilFalse and falseFalse and trueTrue and falseTrue and true

FalseFalseFalseTrue

Contoh hasil penggunaan operator logiak AND adalah sebagai berikut :Tes := (5<4) and (3<2) ; //tes berisi falseTes := (5<4) and (3>2) ; //tes berisi falseTes := (5>4) and (3<2) ; //tes berisi falseTes := (5>4) and (3>2) ; //tes berisi true

c. tabel penggunaan operator OR tampak pada tebel berikut ini:

Ekspresi HasilFalse or falseFalse or trueTrue or falseTrue or true

FalseTrueTrueTrue

Contoh hasil penggunaan operator logiak OR adalah sebagai berikut :Tes := (5<4) or (3<2) ; //tes berisi falseTes := (5<4) or (3>2) ; //tes berisi trueTes := (5>4) or (3<2) ; //tes berisi trueTes := (5>4) or (3>2) ; //tes berisi true

d. tabel penggunaan operator XOR tampak pada tebel berikut ini:

Ekspresi HasilFalse xor falseFalse xor trueTrue xor falseTrue xor true

FalseTrueTrueFalse

Contoh hasil penggunaan operator logiak XOR adalah sebagai berikut :Tes := (5<4) xor (3<2) ; //tes berisi falseTes := (5<4) xor (3>2) ; //tes berisi true

STMIK Duta Bangsa Surakarta - Delphi 6 15

Page 16: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Tes := (5>4) xor (3<2) ; //tes berisi trueTes := (5>4) xor (3>2) ; //tes berisi false

Latihan :

1. Buatlah satu form untuk menampilkan fungsi logika yang terdiri dari penggunaan operator AND, OR dan NOT.

2. Simpan form tersebut.3. Jalankan form tersebut dan lihatlah hasilnya benar atau

salah.

STMIK Duta Bangsa Surakarta - Delphi 6 16

Page 17: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

BAB 3

KONTROL PROGRAM

Tujuan UmumSetelah mempelajari bab ini mahasiswa dapat mengetahui kontrol program untuk membuat program aplikasi pengolahan data dengan menggunakan bahasa pemrograman Delphi.

Tujuan Khususa. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui dan membuat program dengan menggunakan pengulangan while...do.

b. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program dengan menggunakan pengulangan repeat…until

c. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan perulangan for…next

d. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan percabangan bersyarat if… then … else.

e. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan percabangan bersyarat case.

f. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan percabangan goto

g. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan pernyataan break.

h. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan pernyataan exit

Materi :

3.1 Kontrol Program Borland Delphi 6

Kontrol program diperlukan untuk mengatur jalanya program baris demi baris, berikut adalah

beberapa kontrol program yang ada di Borland Delphi 6 :

3.1.1 Pengulangan While …. Do

perintah ini untuk mengulang satu pernyataan atau satu blok pernyataan jika atau

selama (while) suatu kondisi (syarat) bernilai true, penulisanya adalah sebagai berikut :While <ekspresi> do <pernyataan>

Jalanya struktur pengulangan diatas adalah sebagai berikut :

STMIK Duta Bangsa Surakarta - Delphi 6 17

Page 18: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

a. Program akan menguji nilai <ekspresi>b. Jika <ekspresi> berniali false (salah) maka <pernyataan> tidak dilaksanakan dan

langsung kelangkah e.c. Jika <ekspresi> bernilai true (benar), maka <pernyataan> akan dilaksanakan satu

kali.d. Kembali ke prosedur ae. Program menghentikan pengulangan dan menjalankan baris berikutnya (jika ada)

Berikut adalah contoh perulangan menggunakan while….do :

// pengulangan satu pernyataanwhile data[I] <> x do I:=I+1 ;

// pengulangan satu blok pernyataanwhile not eof (inputfile) do begin

readln(inputfile,line);process(line);

end;

// pengulangan satu blok pernyataanwhile I > 0 do begin

if A > B Then begin

C:=A + B;D:=B / A;

EndElse Break

End; I:= I div 2;End;

3.1.2 Pengulangan Repeat …. Until

Pengulangan ini hampir sama dengan pengulangan while … do, perbedaanya antara

lain sebagai berikut :

1. dapat melaksanakan pengulangan lebih dari satu pernyataan, baik berupa

kumpulan penyataan tunggal atau kumpulan blok pernyataan, jadi segala sesuatu

yang ada diantara perintah repeat …. Until akan diulang.

2. pasti melaksanakan (minimal satu kali) segala sesuatu yang berada

diantara penyataan repeat … untul , karena pengujian terletak di bagian bawah

pernyataan.

Penulisan struktur Repeat … until adalah sebagai berikut :

Repeat <pernyataan1>; …… ; <penyataan x>; until <ekspresi> atau

STMIK Duta Bangsa Surakarta - Delphi 6 18

Page 19: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Repeat<pernyataan 1>;…….…….<pernyataan x>;

until <ekspresi>

contoh pengulangan repeat … until adalah sebagai berikut :

repeatK : = I MOD J ;I : = J ;J : = K ;

Until J := 0 ;

3.1.3 For …. Next

Untuk melakukan pengulangan (iterasi) satu pernyataan atau satu blok program

beberapa kali ditentukan oleh nilai awal dan nilai akhir.

Penulisanya adalah sebagai berikut :

For <pencacah> := <awal> to <akhir> do <pernyataan>; atau

For <pencacah> := <awal> downto <akhir> do <pernyataan>;

<pencacah> adalah variabel yang bertipe ordinal, yaitu variabel yang bernilai pasti, jika

dikurangi atau ditambah satu satuan.

Contoh penggunaan For .. next adalah sebagai berikut :// contoh pertamafor I : = 2 to 63 do if data[I] > max then max := data[I];

// contoh keduafor I :=listbox1.items.count –1 downto 0 do listbox1.items[I] := uppercase(listbox1.items[I]);

3.1.4 Percabangan Bersyarat If …. Then …. Else

Digunakan untuk menjalankan satu pernyataan atau satu blok pernyataan, tergantung

dari nilai yang diuji.

Penulisanya adalah sebagai berikut :

If <ekspresi> then <pernyataan>; atau

If <ekspresi> then <pernyataan> else <pernyataan>

<ekspresi> adalah suatu ekspresi logika.

STMIK Duta Bangsa Surakarta - Delphi 6 19

Page 20: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

If yang pertama : jika <ekspresi> bernilai benar maka <pernyataan> disebelah kananya

akan dikerjakan,tetapi jika <ekspresi> bernialai salah maka <pernyataan> tidak akan

dikerjakan.

If yang kedua : jika <ekspresi> bernilai benar maka <pernyataan> disebelah kananya

akan dikerjakan, tetapi jika <ekspresi> berniali salah maka <pernyataan> yang ada

disebelah kananya else yang akan dikerjakan.

Contohnya adalah sebagai berikut :// contoh pertamaif j <> 0 then hasil := i/j ;

// contoh keduaif j = 0 then exitelse hasil := i/j ;

3.1.5 Percabangan Bersyarat Case

Diguakan untuk menjalankan satu penyataan atau satu blok pernyataan, tergantung dari

nilai yang diuji. Biasanya digunakan untuk yang mempunyai banyak pilihan.

Penulisanya adalah sebagai berikut :

Case <ekspresipilihan> of<daftar1> : <pernyataan1>;…..…..<daftarx> : <pernyataanx>;

end;atau,

Case <ekspresipilihan> of<daftar1> : <pernyataan1>;…..…..<daftarx> : <pernyataanx>;else<pernyataanx>;

end;

<ekspresipilihan> adalah suatu ekspresi bernilai ordinal. Program akan menguji satu

persatu <daftar> yang ada. Jika <daftar> ada atau benar maka <pernyataan> disebelah

kananya akan dikerjakan, jika tidak ada maka <pernyataan> setelah else yang akan

dikerjakan.

Contohnya adalah sebagai berikut :

STMIK Duta Bangsa Surakarta - Delphi 6 20

Page 21: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

// contoh pertamacase I of

1 .. 5 : snilai :=’Rendah’;6 .. 10 : snilai :=’Tinggi’;0,11.. 99 : snilai :=’Tidak Sah’;

elsesnilai :=’ ‘;

end;

// contoh keduacase warna of

merah : x :=1;hijau : x :=2;biru : x :=3;kuning,orange,hitam : x :=0;

end;

3.1.6 Percabangan GoTo

Pernyataan goto dipakai untuk melakukan percabangan tak bersyarat kesebuah baris

label. Baris label dapat dibuat dengan menggunakan kata label diikuti nama labelnya.

Contohnya adalah sebagai berikut :BeginLabel awal ;

a:=a+2;a:=b/a;if (a<100) then goto awal;… ;… ;

end;

perhatikan bahwa pernyataan goto sebaiknya dibatasi penggunaanya, karena jika terlalu

banyak maka struktur program menjadi kurang baik dan makin sulit mengontrol program.

3.1.7 Pernyataan Break

Pernyataan break dapat dipakai memaksa menghentikan pengulangan, baik

pengulangan while..do, repeat..until, atau for.. next. Jika terdapat pernyataan break pada

suatu pengulangan maka pelaksanaan program akan dilanjutkan kebaris dibawah

struktur pengulangan.

3.1.8 Pernyataan Exit

Pernyataan exit digunakan untuk keluar dari satu blok program. Jika pernyataan exit

berada pada suatu procedure atau fungsi maka pernyataan exit akan menyebabkan

proses dalam procedure dan fungsi tersebut dihentikan dan kontrol program kembali

kebawah baris pemanggil procedure atu fungsi tersebut.

STMIK Duta Bangsa Surakarta - Delphi 6 21

Page 22: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Latihan :

1. Buatlah satu program untuk menampilkan angka 1 sampai dengan 100 dengan menggunakan perintah while…do, for..next atau repeat until.

2. Buatlah satu program untuk menampilkan konversi nilai, dengan ketentuan sebagai berikut :Nilai Angka Nilai Huruf Keterangan0-20 E Sangat Kurang21-40 D Kurang41-60 C Cukup61-80 B Baik81-100 A Memuaskan

STMIK Duta Bangsa Surakarta - Delphi 6 22

Page 23: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

BAB IV

INTERAKSI DENGAN BORLAND DELPHI 6 LEWAT VCL

Tujuan UmumSetelah mempelajari bab ini mahasiswa dapat mengetahui dan berintreksi dengan delphi menggunakan visual component pallete (VCL) untuk membuat program aplikasi pengolahan data dengan menggunakan bahasa pemrograman Delphi.

Tujuan Khususa. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui dan membuat program dengan menggunakan object label, edit dan button.

b. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program dengan menggunakan object groupbox dan radiobutton.

c. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan object combobox.

d. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan object scrollbar

Materi :

Dalam Borland Delphi 6, kumpulan object yang sudah disediakan ditampung dalam Visual

Component Pallete ( VCL ). VCL ini dapat diakses lewat component pallete yang merupakan

bagian dari toolbar.

Component Pallete terdiri dari beberapa tab (page) antara lain tab standart, tab additional, tab

win32 dan lain-lain.

4.1 Contoh program yang menggunakan object Label, Edit dan Button :

a. properties label

-Captin : untuk menuliskan label yang dinginkan.

-Align : untuk menentukan letak perataan label terhadap object parent atau dimana dia

berada.

-Alignment : untuk menetukan perataan label pada kotak object label itu sendiri.

-Autosize : untuk menentukan ukuran label otomatis menyesuaikan terhadap isi

captionya.

-Color : untuk menetukan warna label

-Font : untuk menentukan font yang dipakai label itu.

-Dan lain-lain

STMIK Duta Bangsa Surakarta - Delphi 6 23

Page 24: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

b. properties edit

-AutoSelect : jika dipilih true maka seluruh teks dalam object edit akan diblok saat

dalm fokus

-Borderstyle : untuk menentukan tipe pembatas object edit

-Maxlength : untuk menentukan lebar maximum masukkan

-PasswordChar : untuk menentukan karakter yang ditampilkan sebagai penggantinya

-ReadOnly : jika dipilih true maka teks tidak dapat diedit

-Dan lain lain

c. properties button

object button sebagian besar sama dengan label dan textbox, Cuma ada beberapa

tambahan, antara lain :

-Cancel

-Default

-Dan lain-lain

unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel;

STMIK Duta Bangsa Surakarta - Delphi 6 24

Page 25: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Button6: TButton; procedure Button6Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm}

procedure TForm1.Button6Click(Sender: TObject);begin

close;end;

procedure TForm1.Button1Click(Sender: TObject);begin

edit1.Text:='';edit2.Text:='';edit3.Text:='';edit1.SetFocus ;

end;

procedure TForm1.Button2Click(Sender: TObject);var hasil : string[20]; a,b,c : single; kode : integer;begin

val(edit1.Text,a,kode);val(edit2.Text,b,kode);c:=a+b;str(c:20:0,hasil);edit3.Text:=hasil;

end;

procedure TForm1.Button3Click(Sender: TObject);var hasil : string[20]; a,b,c : single;

STMIK Duta Bangsa Surakarta - Delphi 6 25

Page 26: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

kode : integer;begin

val(edit1.Text,a,kode);val(edit2.Text,b,kode);c:=a-b;str(c:20:0,hasil);edit3.Text:=hasil;

end;

procedure TForm1.Button4Click(Sender: TObject);var hasil : string[20]; a,b,c : single; kode : integer;begin

val(edit1.Text,a,kode);val(edit2.Text,b,kode);c:=a/b;str(c:20:2,hasil);edit3.Text:=hasil;

end;

procedure TForm1.Button5Click(Sender: TObject);var hasil : string[20]; a,b,c : single; kode : integer;begin

val(edit1.Text,a,kode);val(edit2.Text,b,kode);c:=a+b;str(c:20:0,hasil);edit3.Text:=hasil;

end;end.

4.2 Contoh program yang menggunakan object GroupBox dan RadioButton :

GroupBox biasa dipakai untuk membuat bingkai dan mengelompokan beberapa object

tertentu, sedangkan RadiButton adalah object untuk menampilkan pilihan yang hanya dapat

dipilih salah satu dari pilihan yang disediakan.

Berikut contoh program yang menggunakan groupbox dan radiobutton.

1. buat design form seperti yang nampak pada gambar dibawah ini :

STMIK Duta Bangsa Surakarta - Delphi 6 26

Page 27: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

2. tuliskan kode programnya seperti yang tampak dibawah ini:

unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Button1: TButton; Button2: TButton; GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Edit2Change(Sender: TObject); procedure Edit3Change(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); private { Private declarations } public { Public declarations }

STMIK Duta Bangsa Surakarta - Delphi 6 27

Page 28: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);beginedit1.Text:='';edit2.Text:='';edit3.Text:='';edit4.Text:='';edit5.Text:='';edit6.Text:='';edit1.setfocus;end;

procedure TForm1.Button2Click(Sender: TObject);beginclose;end;

procedure TForm1.Edit2Change(Sender: TObject);var sjumlah,sdisc,sbersih : string[20];harga,banyak,jumlah,disc,bersih : single;kode : integer;beginval(edit2.Text,harga,kode);val(edit3.Text,banyak,kode);jumlah:=harga*banyak;if RadioButton1.Checked then disc:=0.1*jumlahelse disc:=0;bersih:=jumlah-disc;str(jumlah:20:0,sjumlah);str(disc:20:2,sdisc);str(bersih:20:2,sbersih);edit4.Text:=sjumlah;edit5.Text:=sdisc;edit6.Text:=sbersih;

end;

procedure TForm1.Edit3Change(Sender: TObject);var sjumlah,sdisc,sbersih : string[20];harga,banyak,jumlah,disc,bersih : single;kode : integer;beginval(edit2.Text,harga,kode);val(edit3.Text,banyak,kode);jumlah:=harga*banyak;

STMIK Duta Bangsa Surakarta - Delphi 6 28

Page 29: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

if RadioButton1.Checked then disc:=0.1*jumlahelse disc:=0;bersih:=jumlah-disc;str(jumlah:20:0,sjumlah);str(disc:20:2,sdisc);str(bersih:20:2,sbersih);edit4.Text:=sjumlah;edit5.Text:=sdisc;edit6.Text:=sbersih;

end;

procedure TForm1.RadioButton1Click(Sender: TObject);var sjumlah,sdisc,sbersih : string[20];harga,banyak,jumlah,disc,bersih : single;kode : integer;beginval(edit2.Text,harga,kode);val(edit3.Text,banyak,kode);jumlah:=harga*banyak;if RadioButton1.Checked then disc:=0.1*jumlahelse disc:=0;bersih:=jumlah-disc;str(jumlah:20:0,sjumlah);str(disc:20:2,sdisc);str(bersih:20:2,sbersih);edit4.Text:=sjumlah;edit5.Text:=sdisc;edit6.Text:=sbersih;

end;

procedure TForm1.RadioButton2Click(Sender: TObject);var sjumlah,sdisc,sbersih : string[20];harga,banyak,jumlah,disc,bersih : single;kode : integer;beginval(edit2.Text,harga,kode);val(edit3.Text,banyak,kode);jumlah:=harga*banyak;if RadioButton1.Checked then disc:=0.1*jumlahelse disc:=0;bersih:=jumlah-disc;str(jumlah:20:0,sjumlah);str(disc:20:2,sdisc);str(bersih:20:2,sbersih);edit4.Text:=sjumlah;edit5.Text:=sdisc;edit6.Text:=sbersih;

STMIK Duta Bangsa Surakarta - Delphi 6 29

Page 30: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

end;

end.

Latihan :

Cobalah, bagaimana kalau pilihan discount diganti dengan checkbox

yang terdiri dari checkbox Kartu Anggota dan checkbox Cash

4.3 Contoh program yang menggunakan object Combobox :

Combobox merupakan gabungan dari object edit dan object listbox, dengan combobox kita bisa

menulis atau memilih dari pilihan yang sudah disediakan.

Untuk mengisi pilihan pada object combobox pilih properties Items. Untuk memahami cobalah contoh

berikut ini :

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; ComboBox1: TComboBox; BitBtn1: TBitBtn;

STMIK Duta Bangsa Surakarta - Delphi 6 30

Page 31: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

procedure FormCreate(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure Edit2Change(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);begincombobox1.Items.Append('USD');combobox1.Items.Append('EURO');combobox1.Items.Append('YEN');combobox1.Items.Append('RINGGIT');end;

procedure TForm1.BitBtn1Click(Sender: TObject);beginclose;end;

procedure TForm1.ComboBox1Change(Sender: TObject);beginif combobox1.text='USD' then edit1.Text:='9600'elseif combobox1.text='EURO' then edit1.Text:='12500'elseif combobox1.text='YEN' then edit1.Text:='85'else edit1.Text:='2500'; edit2.setfocus;end;

procedure TForm1.Edit2Change(Sender: TObject);var srupiah : string[20];kurs,jumlah,rupiah:single;kode:integer;beginval(edit1.Text,kurs,kode);val(edit2.Text,jumlah,kode);rupiah:=kurs*jumlah;str(rupiah:20:0,srupiah);

STMIK Duta Bangsa Surakarta - Delphi 6 31

Page 32: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

edit3.text:=srupiah;end;end.

4.4 Contoh program yang menggunakan object scrollBar :

ScrollBar dapat dipakai untuk membuat batang gulung. Arah batangnya bisa horisontal

ataupun secara vertikal, tergantung properties Kind yang dapat dipilih sbhorizontal atau

sbvertical.

Untuk lebih jelasnya cobalah contoh program dibawah ini :

kode program secara lengkap dapat dilihat sebagai berikut :unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type TForm1 = class(TForm) ScrollBar1: TScrollBar; ScrollBar2: TScrollBar; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Label1: TLabel; Label2: TLabel; Label3: TLabel; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure ScrollBar1Change(Sender: TObject); private { Private declarations } public { Public declarations } end;

STMIK Duta Bangsa Surakarta - Delphi 6 32

Page 33: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);beginApplication.terminate;end;

procedure TForm1.FormCreate(Sender: TObject);beginscrollbar2.min:=0;scrollbar2.Max:=1000;scrollbar2.smallchange:=1;scrollbar2.largechange:=1000;scrollbar1.min:=0;scrollbar1.Max:=1000;scrollbar1.smallchange:=1;scrollbar1.largechange:=1000;scrollbar2.OnChange :=scrollbar1.OnChange ;// baris program diatas juga bisa diubah lewat propertiesend;

procedure TForm1.ScrollBar1Change(Sender: TObject);beginedit1.Text:=format('%18.2n',[scrollbar1.Position/100]);edit2.Text:=format('%18.2n',[scrollbar2.position/100]);edit3.Text:=format('%18.2n',[scrollbar1.position/100*scrollbar2.position/100]);end;end.

Latihan :

1. Buatlah satu program untuk menampilkan penghitungan hasil pangkat dari suatu bilangan

2. Simpan Form tersebut dalam satu project.3. Jalankan Form yang telah anda buat.

STMIK Duta Bangsa Surakarta - Delphi 6 33

Page 34: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

BAB V

OPERASI DATABASE

Tujuan UmumSetelah mempelajari bab ini mahasiswa dapat mengetahui dan membuat program aplikasi database pengolahan data dengan menggunakan bahasa pemrograman Delphi.

Tujuan Khususa. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui database yang digunakan dalam delphi.b. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui dan membuat database menggunakan database desktop.

c. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat file database

d. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan memodifikasi file database.

e. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat file index data.

f. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan mengolah database yang telah dibuat.

g. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program input data lewat form

h. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program edit dan hapus data.

Materi :

5.1 Database dalam Borland Delphi 6

Borland Delphi 6 menyediakan fasilitas lengkap untuk mengolah database, berbagai format

database dapat diolah oleh Borland Delphi 6 misalkan database dengan format Paradox,

dBase, MS-Access, ODBC, syBASE, Oracle dan lain-lain.

Dalam modul ini kita hanya akan menggunakan contoh format database paradox saja

walaupun format yang lain juga bisa. Jadi diharapkan nantinya anda tetap dapat

menyesuaikan pengetahuan dari modul ini untuk dapat mengolah database dalam format yang

lain.

5.2 Menggunakan Database Dekstop

Database Dekstop adalah suatu program ‘Add-Ins’, yaitu program terpisah yang ditempelkan

dalam Borland Delphi 6 , sehingga bisa dipakai sebagai bagian dari Borland Delphi 6 .

Cara memanggil Database Dekstop :

STMIK Duta Bangsa Surakarta - Delphi 6 34

Page 35: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Klik Menu Tools.

Klik Database Dekstop, sehingga muncul tampilan database dekstop sperti dibawah

ini :

A. Membuat File Database

Untuk membuat file database dengan format paradox, lakukan langkah-langkah sebagai

berikut :

1. Pilih menu File (pada menu database dekstop), kemudian klik

New lalu klik Table, sehingga muncul gambar sebagai berikut :

2. Pilih table type yaitu paradox 7, kemudian klik OK sehingga

muncul tampilan seperti dibawah ini:

STMIK Duta Bangsa Surakarta - Delphi 6 35

Page 36: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

3. buat struktur table-nya seperti nampak pada gambar diatas, pada

kolom field name tentukan nama field-nya. Aturan pemberian nama field-nya adalah

sebagai berikut :

a. Maksimum panjangnya 25 karakter.

b. Tidak boleh diawali dengan spasi.

c. Harus unik, yaitu tidak boleh ada nama field yang sama dalam satu table.

d. Jangan menggunakan tanda koma tanda pipe dan tanda seru.

e. Hindarkan penggunaan kata perintah SQL, misalkan Select,Where,Count dan

lain-lain.

4. Tentukan type field-nya pada kolom Type

Untuk mengetahui type field yang ada pada paradox klik kanan pada kolom type maka

akan muncul type data seperti dibawah ini :

a. A (Alpha), untuk menampung kumpulan karakter huruf. Lebar field antara 1 s.d 255

b. N (Number), untuk menampung data angka yang dapat dihitung yang mempunyai

jangkauan 15 digit angka signifikan.

c. $ (Money), sama dengan number tetapi defaultnya data ditampilkan dengan

desimal dan pemisah ribuan.

d. S (Short), untuk menampung bilangan bulat antara -32,767 sampai 32,767

STMIK Duta Bangsa Surakarta - Delphi 6 36

Page 37: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

e. I (Long Integer), untuk menampung bilangan bulat dengan nilai antara –

2147483648 sampai 2147483647

f. D (Date), untuk menampung data tanggal sampai dengan 31 desember 9999.

g. T (Time), Untuk menampung data waktu dalam 24 jam sampai hitungan mili detik.

h. M (Memo), untuk menampung data memo.

i. F (Formatted Memo), untuk menampung data memo yang mempunyai format,

misalkan mempunyai font tertentu, warna text dan lain-lain.

j. G (Graphic), untuk menampung data gambar.

k. L (Logical), Untuk menampung data boolean yaitu true atau flase.

5. Tentukan lebar field pada kolom Size.

6. Pada kolom key anda dapat memberi bintang dengan cara mendouble klik. Field yang

diberi tanda bintang berarti sebagai index primer.

7. setelah selesai klik tombol Save As. Tentukan folder penyimpanan misal D:\latdelphi

dan nama table-nya Barang. Lalu kilk icon Save.

8. untuk keluar dari database dekstop klik file lalu exit.

B. Memodifikasi File database

Cara memodifikasi database hampir sama dengan cara membuat yaitu sebagai berikut:

1. Panggil program Database Dekstop

2. Pilih Menu file, open lalu Table, tentukan nama table yang akan

dibuka

3. Pilih Menu table lalu Table Restructure, sampai muncul tampilan

seperti saat kita membuat table.

4. Ubah struktur table sesuai dengan kebutuhan, jika ingin

menghapus field tekan Ctrl-Delete.

5. Klik tombol save untuk menyimpan kembali struktur yang telah

diubah/diperbaiki.

C. Menambahkan Index Data

Index adalah file yang berisi urutan data pada suatu table database. Dalam paradox ada

dua jenis index yaitu index primer dan index secunder. Index primer sering disebuy

sebagai Key.

Key adalah sebuah field atau beberapa field yang dipakai untuk membuat data dalam

table terurut. Key mempunyai sifat sebagai berikut :

STMIK Duta Bangsa Surakarta - Delphi 6 37

Page 38: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

1. mencegah duplikasi record pada key yang sama, karena key dipakai sebagai referensi

suatu record.

2. jika ada perubahan data, index data key selalu ter-update.

Sementara index secunder dipakai untuk keperluan seperti berikut ini:

1. sebagai alternatif untuk mendapatkan urutan data dalam table.

2. sebagai kunci penghubung dalam relasi data atau tble yang lain dengan table

tersebut.

3. mempercepat proses pencarian suatu data.

Cara membuat secondary index adalah sebagai berikut :

1. buka table yang akan dibuat secondary index.

2. pilih pilihan secondary indexed pada combobox Table Properties yang terletak dipojok

kanan atas.

3. klik tombol Define, sampai muncul jendela Define secondary Index seperti pada

gambar berikut ini :

4. Pilih nama field yang akan dibuat secondary index dikolom sebelah kiri.

STMIK Duta Bangsa Surakarta - Delphi 6 38

Page 39: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

5. kemudian klik tombol panah kanan, kemudian tentukan pilihan pengurutan data

berdasarkan kunci index yang bersangkutan. Pilihanya adalah sebagai berikut :

Unique, dipakai jika diinginkan kunci bersifat unik.

Case Sensitive, dipakai jika index membedakan urutan huruf besar dan kecil.

Maintained, dipakai jika diinginkan index secara otomatis selalu di-update jika

ada perubahan dalam table.

Descending, dipakai jika arah pengurutanya menurun.

6. Klik OK, sampai muncul gambar dibawah ini :

7. ketikkan nama indexnya . perhatikan nama index tidak boleh sama dengan nama

fieldnya.

8. Klik Ok lalu Klik Save.

5.3 Mengolah Database

A. Membuat Input Data

untuk mengolah input database menggunakan Borland Delphi 6 dapat diikuti cara berikut ini:

1. Sediakan form kosong unutk membuat design input.

2. kaitkan file database yang telah kita buat dengan form dengan cara : pilih tab BDE

kemudian cari object Table dan tambahkan ke form dan pilih tab DataAccess dan cari

object Datasource dan tempelkan di form seperti pada gambar.

3. tambahkan object DBGrid yang terletak pada tab DataControl

4. object dan properties yang diubah dapat dilihat pada tabel dibawah ini :

Object Properties yang diubahForm Caption = Input Data barang

Table1 - Table Name = D:\latdelphi\barang.db- Active = True

STMIK Duta Bangsa Surakarta - Delphi 6 39

Page 40: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

DataSource1 Dataset = Table1DBGrid1 Datasource = Datasource1Label1 Caption = Kode barangLabel2 Caption = Nama BarangLabel3 Caption = SatuanLabel4 Caption = StokEdit1 Text = Edit2 Text =

Combobox1

- Text =- Items = Buah Biji Kg Pack

Edit3 Text =Button1 Caption = &SimpanButton2 Caption = &BatalButton3 Caption = &Keluar

5. Design Form-nya adalah sebagai berikut :

6. Kode program secara lengkapnya adalah sebagai berikut:

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

STMIK Duta Bangsa Surakarta - Delphi 6 40

Page 41: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls;

type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Edit1: TEdit; Edit2: TEdit; ComboBox1: TComboBox; Edit3: TEdit; Button1: TButton; Button2: TButton; Button3: TButton; Table1: TTable; DataSource1: TDataSource; DBGrid1: TDBGrid; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1;

implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begintable1.append;table1['kode_brg']:=edit1.Text;table1['nama']:=edit2.Text;table1['satuan']:=combobox1.Text;table1['stok']:=edit3.Text;table1.Post ;edit1.Text:='';edit2.Text:='';combobox1.Text:='';edit3.Text:='';edit1.setfocus;end;

procedure TForm1.Button2Click(Sender: TObject);beginedit1.Text:='';edit2.Text:='';combobox1.Text:='';edit3.Text:='';edit1.setfocus;end;

STMIK Duta Bangsa Surakarta - Delphi 6 41

Page 42: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

procedure TForm1.Button3Click(Sender: TObject);beginclose;end;end.

B. Membuat Edit dan Hapus Data

Untuk membuat edit dan hapus data bisa dilakukan dengan cara sebagai berikut:

1. sediakan form kosong.

2. buat design form dan tambahkan object-nya seperti yang nampak

pada gambar dibawah ini:

STMIK Duta Bangsa Surakarta - Delphi 6 42

gambar konfirmasi hapus data.

Page 43: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

3. object dan properties yang diubah dapat dilihat pada tabel dibawah ini:

Object Properties yang diubahForm Caption = Edit dan Hapus Data barang

Table1 - Table Name = D:\latdelphi\barang.db- Active = True

DataSource1 Dataset = Table1DBGrid1 Datasource = Datasource1Label1 Caption = Kode barangLabel2 Caption = Nama BarangLabel3 Caption = SatuanLabel4 Caption = Stok

Dblookupcombobox1Listsource =Datasource1ListField = Kode_brgKeyField = Kode_brg

DbEdit1 Datasource =Datasource1DataField =nama

Dbedit2 Datasource =Datasource1DataField =satuan

DbEdit3 Datasource =Datasource1DataField =stok

Button1 Caption = &SimpanButton2 Caption = &HapusButton3 Caption = &Keluar

4. Kode program secara lengkap adalah sebagai berikut:unit editbarang;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DBCtrls, Grids, DBGrids, DB, DBTables, Mask;type TForm2 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Table1: TTable; DataSource1: TDataSource; DBGrid1: TDBGrid; DBLookupComboBox1: TDBLookupComboBox; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button3Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public

STMIK Duta Bangsa Surakarta - Delphi 6 43

Page 44: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

{ Public declarations } end;

var Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button3Click(Sender: TObject);beginclose;end;

procedure TForm2.Button1Click(Sender: TObject);begintable1.edit;table1['kode_brg']:=dblookupcombobox1.Text;table1['nama']:=dbedit1.Text;table1['satuan']:=dbedit2.Text;table1['stok']:=dbedit3.Text;table1.next ;end;

procedure TForm2.Button2Click(Sender: TObject);beginif(application.MessageBox('Benar dihapus ?' , 'Peringatan', mb_yesno or mb_iconwarning) =idyes) thentable1.delete;end;end.

Latihan :

1. Buatlah satu form input data customer dengan struktu table sebagai berikut :Kode_cts A 5 *Nama_cts A 20Alamat A 35Telp A 13

2. Design form bebas, tombol yang ikutkan, tambah, simpan, batal, hapus dan keluar.

3. Simpan formtersebut dan jalankan Form yang telah anda buat.

STMIK Duta Bangsa Surakarta - Delphi 6 44

Page 45: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

BAB VI

PENCARIAN DATA DAN VALIDASI

Tujuan UmumSetelah mempelajari bab ini mahasiswa dapat mengetahui dan membuat program aplikasi pencarian data dan validasi data dengan menggunakan bahasa pemrograman Delphi.

Tujuan Khususa. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui cara membuat index dalam delphi.b. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui dan membuat program pencarian data menggunakan index.

c. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan validasi beberapa table.

d. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program aplikasi penyaringan data atau filter didalam Delphi.

e. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat relasi data antar table didalam delphi

f. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan SQL (Structure Query Langguage).

Materi :

Pencarian data merupakan operasi yang sangat penting dalam manajemen database. Pada

dasarnya pencarian data ada dua macam yaitu pencarian data tanpa index (urutan

data/sekuensial) dan pencarian data menggunakan index.

6.1 Pencarian data menggunakan Index.

Untuk pencarian data menggunakan index tentu saja kita harus mengindex field yang akan

digunakan sebagai dasar pencarian. Fungsi dan proocedure yang disediakan Borland Delphi 6

dalam pencarian data adalah SetKey, GotoKey, GotoNearest, EditKey ,FindKey dan

FindNearest. Untuk fungsi dan procedure SetKey, GotoKey, GotoNearest, EditKey adalah

bawaan dari Borland Delphi sebelumnya jadi yang kita bahas adalah FindKey dan

FindNearest.

Untuk lebih memahaminya buatlah latihan berikut:

1. Buat file database mahasiswa dengan struktur sebagai berikut:Field name type size Key

Nim A 10 *

STMIK Duta Bangsa Surakarta - Delphi 6 45

Page 46: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

NamaTgl_masukAlamatTelp

ADAA

20

4013

2. Buat Secondary index-nya berdasarkan nim dan nama dengan nama xnim dan xnama

3. object dan properties yang diubah dapat dilihat pada tabel dibawah ini:

Object Properties yang diubahForm Caption = Input Data Mahasiswa

Table1 - Table Name = D:\latdelphi\mahasiswa.db- Active = True

DataSource1 Dataset = Table1DBGrid1 Datasource = Datasource1Label1 Caption = No.Induk MahasiswaLabel2 Caption = Nama MahasiwaLabel3 Caption = Tanggal MasukLabel4 Caption = Alamat MahasiswaLabel5 Caption = TelponLabel6 Caption = NIMLabel7 Caption = NamaEdit1 Text = Edit2 Text =DateTimePicker1Edit3 Text =Edit4 Text =Edit5 Text =Edit6 Text =Edit7 Text =

BitBtn1Caption =Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\wztop.bmp

BitBtn2Caption =Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\wzback.bmp

BitBtn3Caption =Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\wznext.bmp

BitBtn4Caption =Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\wzend.bmp

BitBtn5Caption =&SaveGlyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\wzsave.bmp

BitBtn6Caption =&CancelGlyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\wzundo.bmp

BitBtn7Caption =&DeleteGlyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\wzdelete.bmp

BitBtn8Caption =E&xitGlyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\wzclose.bmp

BitBtn9 Caption = Cari Nim

STMIK Duta Bangsa Surakarta - Delphi 6 46

Page 47: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

4. Design formnya sebagai berikut:

5. Kode program secara lengkap seperti berikut:unit Unit1;

interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, Buttons, ComCtrls;type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Edit1: TEdit; Edit2: TEdit; DateTimePicker1: TDateTimePicker; Edit3: TEdit; Edit4: TEdit; GroupBox1: TGroupBox; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; Edit5: TEdit; BitBtn5: TBitBtn; BitBtn6: TBitBtn;

STMIK Duta Bangsa Surakarta - Delphi 6 47

Page 48: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

BitBtn7: TBitBtn; BitBtn8: TBitBtn; DBGrid1: TDBGrid; GroupBox2: TGroupBox; GroupBox3: TGroupBox; Label6: TLabel; Edit6: TEdit; BitBtn9: TBitBtn; Edit7: TEdit; Label7: TLabel; Table1: TTable; DataSource1: TDataSource; procedure BitBtn5Click(Sender: TObject); procedure BitBtn6Click(Sender: TObject); procedure BitBtn7Click(Sender: TObject); procedure BitBtn8Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure FormActivate(Sender: TObject); procedure BitBtn9Click(Sender: TObject); procedure Edit7Change(Sender: TObject); procedure Edit1Exit(Sender: TObject); procedure DBGrid1CellClick(Column: TColumn); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char); procedure Edit3KeyPress(Sender: TObject; var Key: Char); procedure Edit4KeyPress(Sender: TObject; var Key: Char); private { Private declarations } public { Public declarations } end;var Form1: TForm1;implementation

{$R *.dfm}

procedure TForm1.BitBtn5Click(Sender: TObject);var i:integer;begintable1.Append;table1['nim']:=edit1.Text;table1['nama']:=edit2.Text;table1['tgl_masuk']:=datetimepicker1.Date ;table1['alamat']:=edit3.Text;table1['telp']:=edit4.Text;table1.Post ;i:=table1.RecNo ;edit5.Text:=inttostr(i);edit1.Text:='';edit2.Text:='';datetimepicker1.Date:=date();

STMIK Duta Bangsa Surakarta - Delphi 6 48

Page 49: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

edit3.Text:='';edit4.Text:='';edit1.setfocus;end;

procedure TForm1.BitBtn6Click(Sender: TObject);beginedit1.Text:='';edit2.Text:='';datetimepicker1.Date:=date() ;edit3.Text:='';edit4.Text:='';edit1.setfocus;end;

procedure TForm1.BitBtn7Click(Sender: TObject);var i:integer;beginif(application.MessageBox('Benar akan dihapus','peringatan',mb_yesno or mb_iconwarning)=idyes)then table1.Delete; table1.Next; i:=table1.RecNo ; edit5.Text:=inttostr(i);end;

procedure TForm1.BitBtn8Click(Sender: TObject);beginclose;end;

procedure TForm1.BitBtn1Click(Sender: TObject);var i:integer;begintable1.First ;edit1.Text:=table1['nim'];edit2.Text:=table1['nama'];datetimepicker1.Date :=table1['tgl_masuk'];edit3.Text:=table1['alamat'];edit4.Text:=table1['telp'];i:=table1.RecNo ;edit5.Text:=inttostr(i);end;

procedure TForm1.BitBtn2Click(Sender: TObject);var i:integer;begintable1.prior ;edit1.Text:=table1['nim'];edit2.Text:=table1['nama'];datetimepicker1.Date :=table1['tgl_masuk'];edit3.Text:=table1['alamat'];edit4.Text:=table1['telp'];i:=table1.RecNo ;edit5.Text:=inttostr(i);end;

STMIK Duta Bangsa Surakarta - Delphi 6 49

Page 50: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

procedure TForm1.BitBtn3Click(Sender: TObject);var i:integer;begintable1.next ;edit1.Text:=table1['nim'];edit2.Text:=table1['nama'];datetimepicker1.Date :=table1['tgl_masuk'];edit3.Text:=table1['alamat'];edit4.Text:=table1['telp'];i:=table1.RecNo ;edit5.Text:=inttostr(i);

end;

procedure TForm1.BitBtn4Click(Sender: TObject);var i:integer;begintable1.last ;edit1.Text:=table1['nim'];edit2.Text:=table1['nama'];datetimepicker1.Date :=table1['tgl_masuk'];edit3.Text:=table1['alamat'];edit4.Text:=table1['telp'];i:=table1.RecNo ;edit5.Text:=inttostr(i);

end;

procedure TForm1.FormActivate(Sender: TObject);var i:integer;begini:=table1.RecNo ;edit5.Text:=inttostr(i);end;

procedure TForm1.BitBtn9Click(Sender: TObject);var ada:boolean; i :integer;begintable1.IndexName :='xnim';ada:=table1.FindKey([edit6.text]);if ada then begin edit1.Text:=table1['nim']; edit2.Text:=table1['nama']; datetimepicker1.Date :=table1['tgl_masuk']; edit3.Text:=table1['alamat']; edit4.Text:=table1['telp']; i:=table1.RecNo ; edit5.Text:=inttostr(i); endelse showmessage('NIM tersebut Tidak ada'); edit6.Text:=''; edit6.setfocus;end;

STMIK Duta Bangsa Surakarta - Delphi 6 50

Page 51: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

procedure TForm1.Edit7Change(Sender: TObject);begintable1.IndexName :='xnama';table1.FindNearest([edit7.text]); edit1.Text:=table1['nim']; edit2.Text:=table1['nama']; datetimepicker1.Date :=table1['tgl_masuk']; edit3.Text:=table1['alamat']; edit4.Text:=table1['telp'];end;

procedure TForm1.Edit1Exit(Sender: TObject);var ada:boolean; i :integer;begintable1.IndexName :='xnim';ada:=table1.FindKey([edit1.text]);if ada then begin edit1.Text:=table1['nim']; edit2.Text:=table1['nama']; datetimepicker1.Date :=table1['tgl_masuk']; edit3.Text:=table1['alamat']; edit4.Text:=table1['telp']; showmessage('NIM tersebut sudah ada'); edit1.Text:=''; edit2.Text:=''; datetimepicker1.Date:=date(); edit3.Text:=''; edit4.Text:=''; edit1.setfocus; endelse edit2.SetFocus ;end;

procedure TForm1.DBGrid1CellClick(Column: TColumn);var i:integer;begintable1.First ;edit1.Text:=table1['nim'];edit2.Text:=table1['nama'];datetimepicker1.Date :=table1['tgl_masuk'];edit3.Text:=table1['alamat'];edit4.Text:=table1['telp'];i:=table1.RecNo ;edit5.Text:=inttostr(i);

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);beginif key=chr(13)thenedit2.setfocus;

end;

STMIK Duta Bangsa Surakarta - Delphi 6 51

Page 52: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);beginif key=chr(13)thendatetimepicker1.setfocus;end;

procedure TForm1.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);beginif key=chr(13)thenedit3.setfocus;end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);beginif key=chr(13)thenedit4.setfocus;end;

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);beginif key=chr(13)thenbitbtn5.setfocus;end;

end.

Sebagai latihan buatlan design input mata kuliah dengan ketentuan sebagai berikut :

1. nama table matkul dan mempunyai struktur seperti dibawah ini:

Field name type size KeyKode_mkNama_mkSemestersks

AAAN

5253

*

2. design form bebas .

3. tombol yang ada adalah tombol penunjuk record, Simpan, Batal,Hapus dan keluar

6.2 Validasi pada beberapa table.

Untuk memakai beberapa tabel sekaligus kita coba membuat input data nilai

mahasiswa yang menggunakan beberapa tabel yaitu mahasiswa, matkul dan nilai.

Untuk file database mahasiswa dan matkul sudah kita bahas sebelumnya , kita tinggal

menambahi satu table nilai yang mempunyai struktur sebagai berikut:

Field name type size KeyNimKode_mkNilai

AAN

105

a. Buat Secondary index-nya berdasarkan nim dan nama dengan nama xnim dan

xkode

STMIK Duta Bangsa Surakarta - Delphi 6 52

Page 53: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

b. object dan properties yang diubah dapat dilihat pada tabel dibawah ini:

Object Properties yang diubahForm1 Caption = Input Data Nilai MahasiswaGroupbox1 Caption =Groupbox2 Caption =Shape

Table1 - Table Name = D:\latdelphi\mahasiswa.db- Active = True

Datasource1 Dataset =tabel1

Table2 - Table Name = D:\latdelphi\matkul.db- Active = True

Datasource2 Dataset =tabel2

Table3

- Table Name = D:\latdelphi\nilai.db- Active = True - Mastersource = Datasource1 - Masterfields = nim - Indexfieldnames / Indexname = nim

DataSource3 Dataset = Table3DBGrid1 Datasource = Datasource3Label1 Caption = No.Induk MahasiswaLabel2 Caption = Nama MahasiwaLabel3 Caption = Kode Mata KuliahLabel4 Caption = Nama Mata KuliahLabel5 Caption = SKSLabel6 Caption = Nilai

Dblookupcombobox1ListSource =Datasource1ListField = Nim;NamaKeyfield =nim

Dbedit1 Datasource = Datasource1DataField = nama

Dblookupcombobox2ListSource =Datasource2ListField = kode_mk;Nama_mkKeyfield =kode_mk

Dbedit2 Datasource = Datasource2DataField = nama

Dbedit3 Datasource = Datasource2DataField = sks

Edit1 Text =BitBtn1 Caption = &AddBitBtn2 Caption =&SaveBitBtn3 Caption =&CancelBitBtn4 Caption =&DeleteBitBtn5 Caption =E&xit

c. Design formnya sebagai berikut:

STMIK Duta Bangsa Surakarta - Delphi 6 53

Page 54: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

d. Kode program secara lengkap adalah sebagai berikut :unit nilai;

interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, DB, DBTables, Grids, DBGrids, ExtCtrls, Mask, DBCtrls;type TForm1 = class(TForm) GroupBox1: TGroupBox; GroupBox2: TGroupBox; Label1: TLabel; Label2: TLabel; DBLookupComboBox1: TDBLookupComboBox; DBEdit1: TDBEdit; DBLookupComboBox2: TDBLookupComboBox; DBEdit2: TDBEdit; DBEdit3: TDBEdit; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Edit1: TEdit; Shape1: TShape; DBGrid1: TDBGrid; Table1: TTable; Table2: TTable;

STMIK Duta Bangsa Surakarta - Delphi 6 54

Page 55: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Table3: TTable; DataSource1: TDataSource; DataSource2: TDataSource; DataSource3: TDataSource; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; BitBtn5: TBitBtn; procedure DBLookupComboBox2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure BitBtn5Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure FormActivate(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation{$R *.dfm}

procedure TForm1.DBLookupComboBox2Click(Sender: TObject);beginedit1.setfocus;end;

procedure TForm1.BitBtn1Click(Sender: TObject);begindbedit1.Text:='';dbedit2.Text:='';dbedit3.Text:='';edit1.Text:='';end;

procedure TForm1.BitBtn3Click(Sender: TObject);begindbedit2.Text:='';dbedit3.Text:='';edit1.Text:='';end;

procedure TForm1.BitBtn4Click(Sender: TObject);beginif(application.MessageBox('Yakin akan dihapus','Peringatan', mb_yesno or mb_iconwarning)=idyes)thentable3.delete;end;

procedure TForm1.BitBtn5Click(Sender: TObject);begin

STMIK Duta Bangsa Surakarta - Delphi 6 55

Page 56: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

close;end;

procedure TForm1.BitBtn2Click(Sender: TObject);begintable3.append;table3['nim']:=dblookupcombobox1.Text;table3['kode_mk']:=dblookupcombobox2.text;table3['nilai']:=edit1.Text;table3.Post;dbedit2.Text:='';dbedit3.Text:='';edit1.Text:='';dblookupcombobox1.SetFocus ;end;

procedure TForm1.FormActivate(Sender: TObject);begindbedit1.Text:='';dbedit2.Text:='';dbedit3.Text:='';edit1.Text:='';dblookupcombobox1.SetFocus ;end;end.

6.3 Penyaringan data atau Filter

Dalam penyaringan data kita bisa menggunakan perintah SetRange dan perintah Filter.

SetRange adalah membuat filter antara dengan menentukan syarat awal dan akhir-nya.

SetRange hanya bisa dipakai pada file yang telah ter-index. Sementara perintah filter sendiri

untuk menyaring data dengan syarat syarat tertentu, bisa dipakai pada file yang tidak ter-

index.

Untuk lebih memahami perintah iini, Cobalah contoh berikut ini :

a. design form seperti berikut ini:

b. object dan properties yang diubah dapat dilihat pada tabel dibawah ini:

STMIK Duta Bangsa Surakarta - Delphi 6 56

Page 57: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Object Properties yang diubahForm1 Caption = Filter Data MahasiswaGroupbox1 Caption = SetRangeGroupbox2 Caption = Filter

Table1 - Table Name = D:\latdelphi\mahasiswa.db- Active = True

Datasource1 Dataset =tabel1DBGrid1 Datasource = Datasource1Label1 Caption = NIM AwalLabel2 Caption = NIM AkhirLabel3 Caption = NIMEdit1 Text =Edit2 Text =Edit3 Text =BitBtn1 Caption = &MulaiBitBtn2 Caption =&FilterBitBtn3 Caption =&Selesai

c. Kode programnya adalah sebagau berikut :unit filter;

interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids;

type TForm3 = class(TForm) DBGrid1: TDBGrid; GroupBox1: TGroupBox; Label1: TLabel; Label2: TLabel; Edit1: TEdit; Edit2: TEdit; Button1: TButton; GroupBox2: TGroupBox; Label3: TLabel; Edit3: TEdit; Button2: TButton; Table1: TTable; DataSource1: TDataSource; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form3: TForm3;

STMIK Duta Bangsa Surakarta - Delphi 6 57

Page 58: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

implementation

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);begintable1.IndexName:='xnim';table1.setrange([edit1.text],[edit2.text]);end;

procedure TForm3.Button3Click(Sender: TObject);beginclose;end;

procedure TForm3.Button2Click(Sender: TObject);begintable1.FilterOptions :=[focaseinsensitive];table1.Filter :='nim='+quotedstr(edit3.Text);table1.Filtered :=true;end;end.

6.4 Relasi antar Tabel

Relasi antar tabel adalah mengaitkan beberapa data dalam satu kunci kaitan tertentu.

Sebagai contoh kita mengakses data nilai seperti dibawah ini

a. buat form kosong dan desai formnya seperti dibawah ini:

STMIK Duta Bangsa Surakarta - Delphi 6 58

Page 59: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

b. object dan properties yang diubah adalah sebagai berikut:

Object Properties yang diubahForm1 Caption = Relasi Antar Tabel Dan Data GambarTable1(lihat gambar point c dibawah untuk mengetahui cara pengkaitan antar tabel)

- Table Name = D:\latdelphi\matkul.db- Active = True- Mastersource = DataSource2- MasterField =Kode_mk- IndexFieldname =kode_mk

Datasource1 Dataset =tabel1

Table2 - Table Name = D:\latdelphi\nilai.db- Active = True

Datasource2 Dataset =tabel2DBGrid1 Datasource = Datasource2Label1 Caption = Nama Mata KuliahLabel2 Caption = SKS

Dbedit1 Datasource = Datasource1DataField = nama_mk

Dbedit2 Datasource = Datasource1DataField = sks

DBNavigator (Tab data Controls )

Datasource = Datasource2

BitBtn1 Caption =&SelesaiCheckbox1 Caption =PreviewGroupbox1 Caption =gambarImage1

c. cara mengaitkan atau merelasikan table pada properties masterfield adalah

sebagai berikut:

STMIK Duta Bangsa Surakarta - Delphi 6 59

Page 60: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

d. kode program secara lengkap adalah sebagai berikut:unit relasigambar;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, StdCtrls, Buttons, ExtCtrls, DBCtrls, Mask, Grids, DBGrids;

type TForm4 = class(TForm) DBGrid1: TDBGrid; Label1: TLabel; Label2: TLabel; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBNavigator1: TDBNavigator; BitBtn1: TBitBtn; Table1: TTable; Table2: TTable; DataSource1: TDataSource; DataSource2: TDataSource; GroupBox1: TGroupBox; CheckBox1: TCheckBox; Image1: TImage; procedure BitBtn1Click(Sender: TObject); procedure DBEdit1Change(Sender: TObject); procedure CheckBox1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.BitBtn1Click(Sender: TObject);beginClose;end;

procedure TForm4.DBEdit1Change(Sender: TObject);var filegambar :string;beginif checkbox1.Checked thentry begin filegambar:=table1.fieldbyname('kode_mk').asstring+'.BMP';

STMIK Duta Bangsa Surakarta - Delphi 6 60

Page 61: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

image1.Picture.LoadFromFile(filegambar); image1.Stretch :=true; image1.Visible :=true; end;exceptimage1.Visible :=false;end;if not checkbox1.Checked thenimage1.Visible :=false;end;

procedure TForm4.CheckBox1Click(Sender: TObject);begindbedit1change(sender);end;

end.

6.5 SQL (Structure Query Language)

SQL (Structure Query Language) adalah bahasa tersetruktur yang digunakan untuk query,

meng-update dan mengolah relasi antar database.

Untuk lebih memahami tentang sql buatlah latihan dibawah ini :

A. Latihan Sql 1

Buat design form seperti dibawah ini, dan tambahkan object sesuai dengan

tabel dibawah ini :

Object Properties yang diubahForm1 Caption = Structure Query Language

Query1 - SQL =select * from 'C:\LatDelphi\barang.db'

- Active = TrueDatasource1 Dataset =query1DBGrid1 Datasource = Datasource1Label1 Caption = Pernyataan SQLEdit1 Text = Button1 Caption =&Aktifkan SQLButton2 Caption =&Selesai

STMIK Duta Bangsa Surakarta - Delphi 6 61

Page 62: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids;type TForm1 = class(TForm) DBGrid1: TDBGrid; Label1: TLabel; Edit1: TEdit; Button1: TButton; Button2: TButton; DataSource1: TDataSource; Query1: TQuery; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);beginclose;end;

STMIK Duta Bangsa Surakarta - Delphi 6 62

Page 63: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

procedure TForm1.Button1Click(Sender: TObject);begin try begin query1.SQL.Clear ; query1.SQL.Add(edit1.Text); query1.Open; end; except begin beep; showmessage('Pernyataan SQL salah'); end; end;end;end.

B. Latihan Sql 2

Buat design form seperti dibawah ini, dan tambahkan object sesuai dengan

tabel dibawah ini :

Object Properties yang diubahForm1 Caption = Structure Query Language

Query1 - SQL =select * from 'C:\LatDelphi\barang.db'

- Active = TrueDatasource1 Dataset =query1DBGrid1 Datasource = Datasource1Label1 Caption = Kode BarangEdit1 Text = Button1 Caption =&Aktifkan SQLButton2 Caption =&Selesai

unit Unit1;

STMIK Duta Bangsa Surakarta - Delphi 6 63

Page 64: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, StdCtrls, Grids, DBGrids;

type TForm1 = class(TForm) DBGrid1: TDBGrid; Label1: TLabel; Edit1: TEdit; Button1: TButton; Button2: TButton; DataSource1: TDataSource; Query1: TQuery; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);beginclose;end;

procedure TForm1.Button1Click(Sender: TObject);beginquery1.SQL.Clear ;query1.SQL.Add('select * from'+ Quotedstr ('C:\LatDelphi\ Barang.db'));query1.SQL.Add('where Kode_brg Like :pkode_brg');query1.ParamByName('pkode_brg').AsString :=edit1.Text;query1.Prepare ;query1.Open;end;end.

STMIK Duta Bangsa Surakarta - Delphi 6 64

Page 65: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

BAB VII

MEMBUAT LAPORAN ATAU REPORT

Tujuan UmumSetelah mempelajari bab ini mahasiswa dapat mengetahui dan membuat laporan atau report dengan menggunakan bahasa pemrograman Delphi.

Tujuan Khususa. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui langkah-langkah membuat laporan didalam delphi.

b. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat laporan yang melibatkan satu table.

c. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat laporan dengan kondisi tertentu

d. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat laporan yang melibatkan beberapa table

e. Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program pemanggilan laporan lewat form.

Materi :

Untuk membuat laporan pada Borland Delphi 6 kita akan menggunakan fasilitas Quick Report

untuk medesain laporan yang kita inginkan.

7.1 Langkah Langkah membuat Laporan

Untuk membuat laporan menggunakan satu table ikuti langkah langkah berikut ini :

1. Klik menu file

2. Klik New klik Other pilih Report klik OK, maka akan muncul design quickReport

yang nampak pada gambar dibawah ini :

STMIK Duta Bangsa Surakarta - Delphi 6 65

Page 66: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

3. untuk mendesign laporan gunakan tab Qreport pada Control Pallete yang nampak pada

gambar dibawah ini

7.2 Membuat Laporan pada satu table.

Untuk memahami lebih lanjut buat laporan data barang berikut ini :

object yang diperlukan dan properties yang diubah adalah pada tabel berikut:

Object Properties yang diubahTable1 TableName = C:\LatDelphi\Barang.db

Active =TrueQuickReport1 Dataset = Table1+Bands HasDetail =True

STMIK Duta Bangsa Surakarta - Delphi 6 66

Page 67: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

HasPageHeader = True HasSummary =True

QRLabe1 Caption = Laporan Data BarangQRLabe2 Caption = No.QRLabe3 Caption = Kode BarangQRLabe4 Caption = Nama BarangQRLabe5 Caption = SatuanQRLabe6 Caption = StokQRLabe7 Caption = Jumlah

QRDBText1 Dataset =Table1DataField =Kode_brg

QRDBText2 Dataset =Table1DataField =nama

QRDBText3 Dataset =Table1DataField =satuan

QRDBText4 Dataset =Table1DataField =stok

QRSysData1 Data = qrsDetailNo //untuk membuat nomor urut

QRExpr1 Expression = SUM(Table1.Stok) // untuk membuat jumlah atau total dari stok

QRShape Untuk membuat garis atau LinePerhatikan tata letak setiap object dimana harus ditempatkan.Untuk mengetahui hasilnya klik kanan 1x pada QuickReport1 Pilih Preview

Hasil laporannya adalah sebagai berikut :

Berikut adalah cara menjalankan laporan yang telah kita buat melalui form.

Design form laporannya adalah sebagai berikut :

STMIK Duta Bangsa Surakarta - Delphi 6 67

Page 68: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

procedure TForm1.BitBtn3Click(Sender: TObject);beginclose;end;

procedure TForm1.BitBtn1Click(Sender: TObject);beginquickreport1.preview;end;procedure TForm1.BitBtn2Click(Sender: TObject);beginquickreport1.print;end;end.

7.3 Membuat Laporan dengan kondisi tertentu

Untuk membuat laporan dengan kondisi tertentu kita menggunakan object QuickRep yang

terdapat di tab QReport, kemudian QuickRep tersebut kita letakkan diatas form kemudian kita

desain sama dengan quickreport.

Untuk lebih memahaminya marilah kita buat laporan barang per kode barang seperti yang

nampak seperti dibawah ini .

Design-nya adalah sebagai berikut :

Object yang kita pakai dapat kita lihat pada tabel berikut ini:

Object Properties yang diubahForm1 Caption = Laporan Data BarangTable1 TableName = C:\LatDelphi\Barang.db

Active =TrueDatasource1 Dataset =table1Table2 TableName = C:\LatDelphi\Barang.db

STMIK Duta Bangsa Surakarta - Delphi 6 68

Page 69: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Active =TrueMasterSource = Datasource1MasterField =Kode_brgIndexFieldName=kode_brg

QuickRep1

Dataset = Table2+Bands HasDetail =True HasPageHeader = True HasSummary =True

Label1 Caption = Kode Barang

DBLookupCombobox1ListSource =datasource1ListField =kode_brg;namaKeyfield =kode_brg

QRLabe1 Caption = Laporan Data BarangQRLabe2 Caption = No.QRLabe3 Caption = Kode BarangQRLabe4 Caption = Nama BarangQRLabe5 Caption = SatuanQRLabe6 Caption = StokQRLabe7 Caption = Jumlah

QRDBText1 Dataset =Table2DataField =Kode_brg

QRDBText2 Dataset =Table2DataField =nama

QRDBText3 Dataset =Table2DataField =satuan

QRDBText4 Dataset =Table2DataField =stok

BitBtn1 Caption=P&reviewBitBtn2 Caption=&PrintBitBtn3 Caption=E&xitQRSysData1 Data = qrsDetailNo //untuk membuat nomor urut QRShape Untuk membuat garis atau LinePerhatikan tata letak setiap object dimana harus ditempatkan.

Hasilnya adalah sebagai berikut:

STMIK Duta Bangsa Surakarta - Delphi 6 69

Page 70: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

procedure TForm1.BitBtn3Click(Sender: TObject);beginclose;end;procedure TForm1.BitBtn1Click(Sender: TObject);beginquickrep1.preview;end;

procedure TForm1.BitBtn2Click(Sender: TObject);beginquickrep1.print;end;

7.4 Membuat Laporan dengan beberapa table

Untuk membuat laporan dengan menggunakan beberapa tabel kita akan membuat laporan

data nilai mahasiswa yang telah kita bahas sebelumnya.

1. Buat form kosong, kemudian form tersebut di design dan ditambahi object yang

diperlukan seperti pada gambar dibawah ini

2. Object yang diperlukan dan properties yang dirubah bisa dilihat pada tabel

berikut ini:

Object Properties yang diubahForm1 Caption = Laporan Data Nilai Mahasiswa

Table1 TableName = C:\LatDelphi\Mahasiswa.dbActive =True

STMIK Duta Bangsa Surakarta - Delphi 6 70

Page 71: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Datasource1 Dataset =table1

Table2

TableName = C:\LatDelphi\Matkul.dbActive =TrueMasterSource = Datasource1MasterField =Kode_mkIndexFieldName=kode_mk

Datasource2 Dataset =table2

Table3

TableName = C:\LatDelphi\Nilai.dbActive =TrueMasterSource = Datasource1MasterField =nimIndexFieldName=nim

Datasource3 Dataset =table3

Table4

TableName = C:\LatDelphi\Nilai.dbActive =TrueMasterSource = Datasource3MasterField =nimIndexFieldName=nim

Datasource4 Dataset =table4

QuickRep1

Dataset = Table3+Bands HasDetail =True HasPageHeader = True HasSummary =True

Label1 Caption = No. Induk MahasiswaLabel2 Caption = Nama Mahasiswa

DBLookupCombobox1ListSource =datasource1ListField =nim;namaKeyfield =nim

DBEdit1 Datasource = Datasource1Datafield = nama

BitBtn1 Caption=P&reviewBitBtn2 Caption=&PrintBitBtn3 Caption=E&xitQRLabe1 Caption = NILAI MAHASISWAQRLabe2 Caption = No. Induk MahasiswaQRLabe3 Caption = Nama MahasiswaQRLabe4 Caption = NOQRLabe5 Caption = KODE M KQRLabe6 Caption = NAMA MATA KULIAHQRLabe7 Caption = SEMESTERQRLabe8 Caption = SKSQRLabe9 Caption = NILAIQRLabe10 Caption = TOTALQRLabe11 Caption = JUMLAHQRLabe12 Caption = INDEK PRESTASI [ IP ]

QRDBText1 Dataset =Table1DataField =nim

QRDBText2 Dataset =TableDataField =nama

QRSysData1 Data =qrsDetailNo

QRDBText3 Dataset =Table3DataField =kode_mk

QRDBText4 Dataset =Table2DataField =nama_mk

QRDBText5 Dataset =Table2DataField =semester

QRDBText6 Dataset =Table2

STMIK Duta Bangsa Surakarta - Delphi 6 71

Page 72: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

DataField =sks

QRDBText7 Dataset =Table3DataField =nilai

QRExpr1

Expression =Table2.Sks * Table3.Nilai

QRExpr2 Expression =SUM(Table2.Sks)QRExpr3 Expression =SUM(Table3.Nilai)QRExpr4 Expression =SUM(Table2.Sks * Table3.Nilai)QRExpr5 Expression =SUM(Table2.Sks * Table3.Nilai) / SUM(Table2.Sks)QRShape Untuk membuat garis atau LinePerhatikan tata letak setiap object dimana harus ditempatkan.

3. Hasilnya adalah sebagai berikut :

STMIK Duta Bangsa Surakarta - Delphi 6 72

Page 73: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

4. kode program form adalah sebagai berikut:procedure TForm2.BitBtn1Click(Sender: TObject);beginquickrep1.Preview ;end;

procedure TForm2.BitBtn2Click(Sender: TObject);beginquickrep1.Print ;end;

procedure TForm2.BitBtn3Click(Sender: TObject);beginclose;end;

STMIK Duta Bangsa Surakarta - Delphi 6 73

Page 74: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

BAB VIII

MEMBUAT MENU, FUNGSI DAN PROCEDURE, SETUP DISK

Tujuan UmumSetelah mempelajari bab ini mahasiswa dapat mengetahui dan membuat menu, fungsi, procedure dan setup disk dengan menggunakan bahasa pemrograman Delphi.

Tujuan Khususa. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui langkah-langkah membuat menu didalam delphi.b. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui dan membuat main menu atau pulldown menu.c. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui dan membuat popup menu.d. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui dan membuat setup diske. Setelah mengikuti kuliah bab ini mahasiswa dapat

mengetahui dan membuat compile file dari program yang telah dibuat.

f. Setelah mengikuti kuliah bab ini mahasiswa dapat menjalankan program yang telah dibuat.

Materi :

8.1 MENU

Borland Delphi 6 menyediakan dua buah object untuk membuat menu dengan cepat dan

mudah, yaitu MainMenu dan PopupMenu.

a. MainMenu

Object MainMenu dipakai untuk membuat menu berbentuk pull-down, yaitu menu yang

terdiri dari menu utama yang berderet mendatar (horisontal) dan sub menu yang

berbentuk tegak (vertikal)

Sekarang kita akan mencoba membuat Main menu seperti yang terlihat pada gambar

dibawah ini:

Langkah langkah membuatnya adalah sebagai berikut :

1. Buat form kosong, kemudian tambahkan object MainMenu

STMIK Duta Bangsa Surakarta - Delphi 6 74

Data Transaksi Laporan Mahasiswa Nilai Mahasiswa Mata Kuliah Mata Kuliah

Selesai Nilai

Page 75: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

2. Klik properties Items pada main menu, atau klik kanan object

mainmenu lalu klik menu designer

3. Akan muncul menu designer, tuliskan caption menunya ,

seperti pada gambar dibawah ini:

4. setelah selesai tutup menu designer dengan close.

5. untuk memanggil form lain ke menu dapat dituliskan dengan

kode program sebagai berikut :<nama form>.Show;contoh : form2.show;

b. PopupMenu

Object PopupMenu dipakai untuk membuat menu tambahan, yaitu suatu bentuk menu

yang berbentuk tegak (vertikal) yang akan ditampilkan jika kita melakukan klik kanan pada

suatu object.

Berikut adalah langkah langkah membuat PopupMenu yang akan ditampilkan pada object

Form:

1. Tambahkan object PopupMenu pada tab standart di form tersebut.

2. Klik properties Items pada object popupmenu, atau klik kanan object mainmenu lalu

klik menu designer

3. Buat popupmenu-nya seperti membuat main menu, tambahkan delete dan properties.

4. Setelah selesai tutup menu designer dengan close,

5. Ubah properties PopupMenu pada object form menjadi popupmenu1

6. Jalankan form tersebut, kemudian hasilnya bisa dilihat pada gambar dibawah ini

STMIK Duta Bangsa Surakarta - Delphi 6 75

Page 76: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

8.2 Membuat Setup Disk

Setelah kita menyelesaikan pembuatan suatu program aplikasi, mungkon kita akan meng-copy

program kita ke komputer lain, salah satunya adalah membuat setup disk.

Untuk membuat setup disk di Borland Delphi 6 adalah sebuah program yang terpisah dari program

Borland Delphi 6 , tetapi masih termasuk dalam paket Borland Delphi 6 yang disebut InstallShield

Express.

Berikut adalah langkah-langkah membuat setup disk:

1. Program aplikasi yang akan dibuat setup disk harus berupa file EXE.

2. Pilih menu Start Programs InstallShield Express, maka akan muncul gambar InstallShield

Express.

3. Pilih Create a new Setup project lalu OK.

4. Tentukan nama project pada isian Project name misalnya barang, tentukan folder atau directory

hasil setup pada kotak directory. Setelah selesai klik tombol Create.

5. Tentukan pilihan-pilihan sesuai dengan keinginan.

6. Setelah ditentukan pilihan-pilihan tersebut klik-lah pilihan Disk Builder klik-lah tombol Build,

tunggu proses selesai kemudian tutuplah dengan tombol Close.

8.3 Fungsi dan Procedure

1. Str

Dipakai untuk mendapatkan nilai string dari suatu data numeric, penulisanya sebagai berikut :Str(x [: Width [: Decimals ]]; var S)

x adalah data numeric bertipe Integer atau real. Tanda kurung siku bersifat optional.

2. StrToCurr

Dipakai untuk mendapatkan nilai Currency dari suatu data string, penulisanya sebagai berikut:

STMIK Duta Bangsa Surakarta - Delphi 6 76

Page 77: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

StrToCurr(Const S: String)

S adalah tipe data string yang akan diambil nilai currency-nya

3. StrToDate

Dipakai untuk mendapatkan nilai TdateTime dari suatu data string, penulisanya sebagai berikut:StrToDate(Const S: String)

S adalah tipe data string yang akan diambil nilai TdateTime-nya

4. StrToFloat

Dipakai untuk mendapatkan nilai Extended (salah satu tipe real) dari suatu data string, penulisanya

sebagai berikut :StrToFloat(Const S: String)

S adalah tipe data string yang akan diambil nilai Extended-nya

5. StrToInt

Dipakai untuk mendapatkan nilai integer dari suatu data string, penulisanya sebagai berikut :StrToInt(Const S: String)

S adalah tipe data string yang akan diambil nilai Integer-nya

6. UpperCase

Dipakai untuk mendapatkan huruf besar dari suatu data string, penulisanya sebagai berikut:UpperCase(Const S: String)

S adalah tipe data string yang akan diambil nilai uppercase-nya

7. LowerCase

Dipakai untuk mendapatkan huruf kecil dari suatu data string, penulisanya sebagai berikut:LowerCase(Const S: String)

S adalah tipe data string yang akan diambil nilai lowercase-nya

8. Val

Dipakai untuk mendapatkan nilai numeric dari suatu data string, penulisanya sebagai berikut:Val ( S; var v; var code:integer)

S adalah tipe data string yang akan diambil nilai numeric-nya

V adalah variabel tipe numeric untuk menampung hasil konversi

Code adalah variabel bertipe integer yang dipakai untuk menampung informasi tentang

keberhasilan proses konversi. Jika proses konversi berhasil maka code berisi nilai 0 (nol).

9. DateToStr

Dipakai untuk mendapatkan nilai string dari suatu data TDateTime, penulisanya sebagai berikut:

DateToStr(Date: TDateTime)

Date adalah tipe data TDateTime yang akan diambil nilai string-nya

10. Format

Dipakai untuk mendapatkan nilai string dari suatu data array, penulisanya sebagai berikut:

STMIK Duta Bangsa Surakarta - Delphi 6 77

Page 78: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

Format(<stringformat>,<arraydiformat>)

Stringformat adalah string yang berisi kode kode tertentu untuk menformat arraydiformat penulisan

stringformat diawali tanda % kemudian dikuti angka yang menunjukan lebar dan desimal serta

kode format, macam macam kode format dapat dilihat pada tabel berikut ini:

Kode Keterangand Argumen atau data yang diformat harus bertipe integeru Sama dengan d, tetapi tidak menghasilkan tanda positif atau negatife Argumen harus bertipe floating-pointf Sama dengan e, tetapi tidak menggunakan angka eksponeng Menggunkan format yang paling mungkin anata e dan fn Argumen harus bertipe floating point, tidak menggunakan angka eksponen,

menggunakan pemisah ribuan dan desimal.m Argumen harus bertipe floating point, menggunakan format currencyp Argumen harus bertipe pointer, hasilnya berupa 8 karakter string yang

menunjukan nilai pointer dalam heksa desimal.s Argumen harus bertipe string atau Pcharx Argumen harus bertipe integer, hasilnya berupa string dalam bentuk heksa

desimal

Contoh :Format(‘8.2f’,[123.456]);EdKurs.text:=format(‘%25.2n’,[kurs]);EdHbeli.text:=format(‘%12.2m’,[nhbeli]);

STMIK Duta Bangsa Surakarta - Delphi 6 78

Page 79: Modul Delphi 6 STMIK ..

Oleh: Wijiyanto

DAFTAR PUSTAKA

Ardiansyah, Manual HandBook PharmaCompulabs 5.0, Yogyakarta, 2001

Kadir, Abdul, Ir., M.T, Pemrograman Database Menggunakan Delphi, Penerbit Salemba Infotek, Jakarta, 2001.

Martina, Inge, Ir., Database Menggunakan Delphi, PT Elex Media Komputindo, Jakarta, 2001.

M. Agus J. Alam, Belajar Sendiri Borland Delphi 5.0, PT Elex Media Komputindo, Jakarta, 2000.

Pranata, Antony, Tip dan Trik Pemrograman Delphi, Andi Offset, Yogyakarta, 1997

Pranata, Antony, Pemrograman Borland Delphi , Andi,

Yogyakarta, 1998

STMIK Duta Bangsa Surakarta - Delphi 6 79