Anda di halaman 1dari 93

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

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto 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 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:

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto

1.3

Langkah Umum Membuat Program Aplikasi berikut program yang sederhana brtujuan untuk

Program

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

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto 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. 4. 5. lakukan cara yang sama untuk mendapatkan label tambahkan object edit yang letaknya disebelah kanan tambahkan oject button, letakkan dibawah object Selesai dan Lama. label. Dan kosongkan properties Text-nya. 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.

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto 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 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 Uses Windows, messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; Type Tform1 = class(Tform) Timer1:Ttimer; Edit1:TEdit; Edit2:Tedit; Edit3:Tedit; Label1:Tlabel; Label2:Tlabel Label3:Tlabel Button1:Tbutton; Procedure FormCreate(Sender: Tobject); Procedure Button1Clik(Sender: Tobject); Procedure Timer1Timer(Sender: Tobject); Private { Private Declaration } public { Public Declaration } end; var Form1 :Tform1; Awal,akhir : tDateTime; Lama : Real; Implementation ( SR *.DFM ) procedure Tform1.FormCreate (Sender: Tobject); begin

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto
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; end else if button1.caption=Stop then Button1.caption:=Selesai Else Aplication.terminate End; Procedure Tform1.Timer1Timer(Sender: Tobject); Var slama : String; Begin If Button1.Caption=Stop Then Begin 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 1.3.3 menyimpan sebanyak dua kali yaitu menyimpan form/unitnya dan menyimpan projectnya dari unit tersebut. 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

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto Untuk dapat menguasai pemrograman Borland Delphi 6 dengan baik maka kita harus tau beberapa komponen yanga ada di Borland Delphi 6 1.4.1 dan memepelajarinya dengan baik, adapun komponen Project tersebut antara lain: 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. b. c. project. d. e. 1.4.2 Form File Resource(.res) File Backup(.~dp, .~df, .~pa) Dipakai untuk menyimpan icon yang dipakai project. Dipakai untuk menyimpan file backup project, form dan unit. 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 :
7

File Form (.dfm) File project Option(.dfo)

Dipakai untuk menyimpan semua informasi mengenai form Dipakai untuk menyimpan semua setting option (pilihan)

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto

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 berikut : a. Membagi program yang besar kedalam beberapa unit, sehingga kita dapat mengedit unit-unit tertentu saja. 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.
STMIK Duta Bangsa Surakarta - Delphi 6

dalam program antara lain sebagai

Oleh: Wijiyanto 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); Button1.caption=Stop; end else if button1.caption=Stop then Button1.caption=Selesai

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto
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

10

Oleh: Wijiyanto

BAB II TIPE DATA, VARIABEL DAN OPERATOR


Tujuan Umum Setelah mempelajari bab ini mahasiswa dapat mengetahui tipe data, variabel dan operator untuk membuat program aplikasi pengolahan data dengan menggunakan bahasa pemrograman Delphi. Tujuan Khusus a. 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 Byte Word ShortInt SmallIn t Integer Cardina l Rentang Nilai 0-255 0-65535 -128 127 - 32768 - 32767 2147483648 2147483647 0 2147483647 -2147483648 Byt e 1 2 1 2 - 4 4 4 -

STMIK Duta Bangsa Surakarta - Delphi 6

11

Oleh: Wijiyanto
LongInt 2147483647

2.1.2 Tipe Real Tipe data real digunakan untuk menyatakan bilangan yang mempunyai angka desimal, yang termasuk tipe data real antara lain :

Tipe Real48 Single Double Extend ed Comp Currenc y

Rentang Nilai 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.58 08 s.d 922337203685477.58 07

Byt e 6 4 8 10 8 8

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 Boolea n ByteBo ol WordBo ol LongBo ol Byte 1 1 2 4

Disrankan yang digunakan adalah tipe Boolean karena tipe yang lain hanya digunakan untuk menjaga kompatibilitas yaitu jika

STMIK Duta Bangsa Surakarta - Delphi 6

12

Oleh: Wijiyanto 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 Char AnsiCh ar WideCh ar Byt Isi e 1 1 Character 1 Ansi 2 1 Character Ansi 1 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 ShortStr ing AnsiStri ng WideStr ing Isi Maximum 2 s.d 256 256 4 s.d 2gb character 4 s.d 2gb 231 Character 230 Character Byte

2.1.6 Tipe Array Array adalah variabel tunggal yang dapat dipakai untuk menyimpan sekumpulan data sejenis. Sebagai contoh perhatikan potongan program berikut :

Var Bulan : array[1..12] of ansiString; Begin Bulan[1]:=Januari; Bulan[2]:=Februari; . . Edit1.text:=bulan[1];

2.1.7 Tipe Record

STMIK Duta Bangsa Surakarta - Delphi 6

13

Oleh: Wijiyanto Tipe data record dipakai untuk menyimpan sekumpulan data yang mungkin berbeda tipe, tapi saling berhubungan, perhatikan contoh dibawah ini:
Type RecBrg=record Kode : AnsiString[6]; Nama : AnsiString[30]; Hsatuan : Single; End; Var Barang :recBrg; Begin Barang.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 Terenumerasi
type warna=(merah,biru,hijau,kuning,orange,hitam,putih); var warnacat:warna;

b. contoh Tipe data Subrange

type warnaku = Biru .. Orange; hurufBesar = A .. Z; Nilai = 0..100; Var Warnacat : Warnaku; Nilaiujian :nilai; Nilaiakhir :hurufbesar;

2.2 Konstanta Konstanta adalah sesuatu nilai yang bersifat tetap, untuk lebih jelasnya perhatikan contoh berikut ini :

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

STMIK Duta Bangsa Surakarta - Delphi 6

14

Oleh: Wijiyanto
potongan program diatas dapat dituliskan menjadi seperti contoh berikut ini :
Const Discountanggota=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.
15

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto 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; 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; Begin A:=10; // variabel ini bersifat lokal end;

2.4 Operator Hirarti operator dalam Borland Delphi 6 adalah sebagai berikut:
Operator @, not *, / , div, mod, and, shl, shr, as +, -, or, xor =, <>, <, >, <=, >=, in, is Hierarki Tertinggi Kedua Ketiga Keempat

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 :

STMIK Duta Bangsa Surakarta - Delphi 6

16

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

2.4.2 Operator Aritmatika Digunakan


Operato r * / div mod + -

untuk
Operasi

melakukan
Tipe diproses Integer, real Integer, real Integer Integer Integer, real Integer, real

operasi

aritmatika.

Operator

aritmatika terdiri dari :


Tipe Hasil Integer, real real, real Integer Integer Integer, real Integer, real

Perkalian Pembagian Pembagian bulat Sisa pembagian Penambaha n penguranga n

Contoh penggunaan operator aritmatika dapat dilihat pada contoh dibawah ini :
A:= 2* 3; // A:= 5 / 2 ; // A:= 5 div 2 ; // A:=5 mod 2 ; // A:= 5 + 2 ; // A:= 5 2 ; // hasilnya hasilnya hasilnya hasilnya hasilnya hasilnya 6 2.5 2 dibulatkan kebawah 1 dibulatkan keatas 7 3

Contoh pangkat :
A:= 2 ; B:= 3 ; C:=exp(B*Ln(A)); D:=exp(B*Ln(5)); // C berisi 9 // D berisi 125

2.4.3 Operator Relasi Operator relasi digunakan untuk membandingkan suatu data dengan data yang alain dan menghasilkan suatu nilai logika

STMIK Duta Bangsa Surakarta - Delphi 6

17

Oleh: Wijiyanto benar atau salah. Operator penggabungan dalam operator relasi nampak pada tabel dibawah ini:
Operato r = <> < > <= >= Keterangan Sama dengan Tidak sama dengan Lebih kecil Lebih besar Lebih kecil atau sama dengan Lebih besar atau sama dengan

Contoh penggunaan operator relasi adalah sebaga berikut :


A:= A:= A:= A:= 2 > 3 ; // False 2+2 >3 ; // True 3 > 2+ 2 ; // False 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:
Operato r Not And Or Xor Keteranga n Tidak Dan Atau Exclusive or

a.

tabel penggunaan operator NOT tampak pada tebel

berikut ini:
Ekpresi Hasil Not False True True Not False

Contoh hasil penggunaan operator logiak NOT adalah sebagai berikut :


Tes := not (5>4); Tes := not (5=4); //tes berisi false //tes berisi true

STMIK Duta Bangsa Surakarta - Delphi 6

18

Oleh: Wijiyanto

b.

tabel penggunaan operator AND tampak pada tebel


Hasil False False False True

berikut ini:
Ekspresi False and false False and true True and false True and true

Contoh hasil penggunaan operator logiak AND adalah sebagai berikut :


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

c.

tabel penggunaan operator OR tampak pada tebel


Hasil False True True True

berikut ini:
Ekspresi False or false False or true True or false True or true

Contoh hasil penggunaan operator logiak OR adalah sebagai berikut :


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

d.

tabel penggunaan operator XOR tampak pada tebel

berikut ini:

STMIK Duta Bangsa Surakarta - Delphi 6

19

Oleh: Wijiyanto
Ekspresi False xor false False xor true True xor false True xor true Hasil False True True False

Contoh hasil penggunaan operator logiak XOR adalah sebagai berikut :


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

Latihan : 1. terdiri 2. 3. Buatlah satu form untuk menampilkan fungsi logika yang dari penggunaan operator AND, OR dan NOT. Simpan form tersebut. Jalankan form tersebut dan lihatlah hasilnya benar atau salah.

STMIK Duta Bangsa Surakarta - Delphi 6

20

Oleh: Wijiyanto

BAB 3 KONTROL PROGRAM


Tujuan Umum Setelah mempelajari bab ini mahasiswa dapat mengetahui kontrol program untuk membuat program aplikasi pengolahan data dengan menggunakan bahasa pemrograman Delphi. Tujuan Khusus a.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 repeatuntil c.Setelah mengikuti kuliah bab ini mahasiswa dapat mengetahui dan membuat program menggunakan perulangan fornext 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

STMIK Duta Bangsa Surakarta - Delphi 6

21

Oleh: Wijiyanto 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 : 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 a e. Program menghentikan pengulangan dan menjalankan baris berikutnya (jika ada) Berikut adalah contoh perulangan menggunakan while.do :
// pengulangan satu pernyataan while data[I] <> x do I:=I+1 ; // pengulangan satu blok pernyataan while not eof (inputfile) do begin readln(inputfile,line); process(line); end; // pengulangan satu blok pernyataan while I > 0 do begin if A > B Then begin C:=A + B; D:=B / A; End Else 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 :

STMIK Duta Bangsa Surakarta - Delphi 6

22

Oleh: Wijiyanto 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 Repeat <pernyataan 1>; . . <pernyataan x>; until <ekspresi>

contoh pengulangan repeat until adalah sebagai berikut :


repeat K : = 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 pertama for I : = 2 to 63 do if data[I] > max then max := data[I];

STMIK Duta Bangsa Surakarta - Delphi 6

23

Oleh: Wijiyanto

// contoh kedua for 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. 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 pertama if j <> 0 then hasil := i/j ; // contoh kedua if j = 0 then exit else 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 :

STMIK Duta Bangsa Surakarta - Delphi 6

24

Oleh: Wijiyanto

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 :

// contoh pertama case I of 1 .. 5 : snilai :=Rendah; 6 .. 10 : snilai :=Tinggi; 0,11.. 99 : snilai :=Tidak Sah; else snilai := ; end; // contoh kedua case warna of merah : x :=1; hijau : x :=2; biru : x :=3; kuning,orange,hitam : x :=0; end;

3.1.6 Percabangan GoTo

STMIK Duta Bangsa Surakarta - Delphi 6

25

Oleh: Wijiyanto 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 :
Begin Label awal ; a:=a+2; a:=b/a; if (a<100) then goto awal; ; ; end;

perhatikan

bahwa

pernyataan jika

goto

sebaiknya maka

dibatasi struktur

penggunaanya, program.

karena

terlalu

banyak

program menjadi kurang baik dan makin sulit mengontrol 3.1.7 Pernyataan Break Pernyataan for.. next. break Jika dapat terdapat dipakai memaksa break menghentikan pada suatu pengulangan, baik pengulangan while..do, repeat..until, atau pernyataan 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. Latihan : 1. Buatlah satu program untuk menampilkan angka 1 sampai dengan 100 dengan menggunakan perintah whiledo, for..next atau repeat until. 2. Buatlah satu program untuk menampilkan konversi nilai, dengan ketentuan sebagai berikut : Nilai Angka Nilai Huruf Keterangan 0-20 E Sangat Kurang
STMIK Duta Bangsa Surakarta - Delphi 6

26

Oleh: Wijiyanto 21-40 41-60 61-80 81-100 D C B A Kurang Cukup Baik Memuaskan

STMIK Duta Bangsa Surakarta - Delphi 6

27

Oleh: Wijiyanto

BAB IV INTERAKSI DENGAN BORLAND DELPHI 6 LEWAT VCL


Tujuan Umum Setelah 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 Khusus a.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.

STMIK Duta Bangsa Surakarta - Delphi 6

28

Oleh: Wijiyanto -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 b. properties edit -AutoSelect : jika dipilih true maka seluruh teks dalam object edit akan diblok saat dalm fokus -Borderstyle -PasswordChar : untuk menentukan tipe pembatas object edit : untuk menentukan karakter yang ditampilkan -Maxlength : untuk menentukan lebar maximum masukkan 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

STMIK Duta Bangsa Surakarta - Delphi 6

29

Oleh: Wijiyanto

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; 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

STMIK Duta Bangsa Surakarta - Delphi 6

30

Oleh: Wijiyanto
{$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; 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];

STMIK Duta Bangsa Surakarta - Delphi 6

31

Oleh: Wijiyanto
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 1. contoh program yang menggunakan groupbox dan radiobutton. buat design form seperti yang nampak pada gambar dibawah ini :

2.

tuliskan

kode

programnya

seperti

yang

tampak

dibawah ini:
unit Unit1; interface uses

STMIK Duta Bangsa Surakarta - Delphi 6

32

Oleh: Wijiyanto
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 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin edit1.Text:=''; edit2.Text:=''; edit3.Text:=''; edit4.Text:=''; edit5.Text:=''; edit6.Text:=''; edit1.setfocus; end; procedure TForm1.Button2Click(Sender: TObject); begin

STMIK Duta Bangsa Surakarta - Delphi 6

33

Oleh: Wijiyanto
close; end; procedure TForm1.Edit2Change(Sender: TObject); var sjumlah,sdisc,sbersih : string[20]; harga,banyak,jumlah,disc,bersih : single; kode : integer; begin val(edit2.Text,harga,kode); val(edit3.Text,banyak,kode); jumlah:=harga*banyak; if RadioButton1.Checked then disc:=0.1*jumlah else 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; begin val(edit2.Text,harga,kode); val(edit3.Text,banyak,kode); jumlah:=harga*banyak; if RadioButton1.Checked then disc:=0.1*jumlah else 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; begin val(edit2.Text,harga,kode);

STMIK Duta Bangsa Surakarta - Delphi 6

34

Oleh: Wijiyanto
val(edit3.Text,banyak,kode); jumlah:=harga*banyak; if RadioButton1.Checked then disc:=0.1*jumlah else 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; begin val(edit2.Text,harga,kode); val(edit3.Text,banyak,kode); jumlah:=harga*banyak; if RadioButton1.Checked then disc:=0.1*jumlah else 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; end.

Latihan : Cobalah, bagaimana kalau pilihan discount diganti dengan checkbox yang terdiri dari checkbox Kartu Anggota dan checkbox Cash
4.3Contoh 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.

STMIK Duta Bangsa Surakarta - Delphi 6

35

Oleh: Wijiyanto
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; 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

STMIK Duta Bangsa Surakarta - Delphi 6

36

Oleh: Wijiyanto

{$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin combobox1.Items.Append('USD'); combobox1.Items.Append('EURO'); combobox1.Items.Append('YEN'); combobox1.Items.Append('RINGGIT'); end; procedure TForm1.BitBtn1Click(Sender: TObject); begin close; end; procedure TForm1.ComboBox1Change(Sender: TObject); begin if combobox1.text='USD' then edit1.Text:='9600' else if combobox1.text='EURO' then edit1.Text:='12500' else if 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; begin val(edit1.Text,kurs,kode); val(edit2.Text,jumlah,kode); rupiah:=kurs*jumlah; str(rupiah:20:0,srupiah); 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 :

STMIK Duta Bangsa Surakarta - Delphi 6

37

Oleh: Wijiyanto

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; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Application.terminate;

STMIK Duta Bangsa Surakarta - Delphi 6

38

Oleh: Wijiyanto
end; procedure TForm1.FormCreate(Sender: TObject); begin scrollbar2.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 properties end; procedure TForm1.ScrollBar1Change(Sender: TObject); begin edit1.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

39

Oleh: Wijiyanto

BAB V OPERASI DATABASE


Tujuan Umum Setelah mempelajari bab ini mahasiswa dapat mengetahui dan membuat program aplikasi database pengolahan data dengan menggunakan bahasa pemrograman Delphi. Tujuan Khusus a.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 6 menyediakan fasilitas lengkap untuk mengolah database, berbagai format database dapat diolah oleh Borland Delphi 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

STMIK Duta Bangsa Surakarta - Delphi 6

40

Oleh: Wijiyanto 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 : 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 :

STMIK Duta Bangsa Surakarta - Delphi 6

41

Oleh: Wijiyanto

2.

Pilih table type yaitu paradox 7, kemudian klik

OK sehingga muncul tampilan seperti dibawah ini:

3.

buat struktur table-nya seperti nampak pada

gambar diatas, pada kolom field name tentukan nama fieldnya. Aturan pemberian nama field-nya adalah sebagai berikut : a. b. c. Maksimum panjangnya 25 karakter. Tidak boleh diawali dengan spasi. Harus unik, yaitu tidak boleh ada nama field yang sama

dalam satu table.


STMIK Duta Bangsa Surakarta - Delphi 6

42

Oleh: Wijiyanto d. seru. e. 4. Hindarkan penggunaan kata perintah SQL, misalkan Tentukan type field-nya pada kolom Type Select,Where,Count dan lain-lain. Untuk mengetahui type field yang ada pada paradox klik kanan pada kolom type maka akan muncul type data seperti dibawah ini : a. b. A (Alpha), untuk menampung kumpulan karakter huruf. Lebar field antara 1 s.d 255 N (Number), untuk menampung data angka yang dapat dihitung signifikan. c. d. e. f. g. h. i. yang j. k. $ (Money), sama dengan number tetapi defaultnya S (Short), untuk menampung bilangan bulat antara I (Long Integer), untuk menampung bilangan bulat D (Date), untuk menampung data tanggal sampai T (Time), Untuk menampung data waktu dalam 24 M (Memo), untuk menampung data memo. F (Formatted Memo), untuk menampung data memo mempunyai format, misalkan mempunyai font data ditampilkan dengan desimal dan pemisah ribuan. -32,767 sampai 32,767 dengan nilai antara 2147483648 sampai 2147483647 dengan 31 desember 9999. jam sampai hitungan mili detik. yang mempunyai jangkauan 15 digit angka Jangan menggunakan tanda koma tanda pipe dan tanda

tertentu, warna text dan lain-lain. G (Graphic), untuk menampung data gambar. L (Logical), Untuk menampung data boolean yaitu true

atau flase. 5. Tentukan lebar field pada kolom Size.


43

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto 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. 2. 3. 4. 5. C. Panggil program Database Dekstop Pilih Menu file, open lalu Table, tentukan nama Pilih Menu table lalu Table Restructure, sampai Ubah struktur table sesuai dengan kebutuhan, Klik tombol save untuk menyimpan kembali Menambahkan Index Data

table yang akan dibuka muncul tampilan seperti saat kita membuat table. jika ingin menghapus field tekan Ctrl-Delete. struktur yang telah diubah/diperbaiki. 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 : 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.

STMIK Duta Bangsa Surakarta - Delphi 6

44

Oleh: Wijiyanto 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.
45

STMIK Duta Bangsa Surakarta - Delphi 6

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.

STMIK Duta Bangsa Surakarta - Delphi 6

46

Oleh: Wijiyanto 3. tambahkan object DBGrid yang terletak pada tab DataControl 4. object dan properties yang diubah dapat dilihat pada tabel dibawah ini :

Object Form

Properties yang diubah Caption = Input Data barang Table Name = Table1 D:\latdelphi\barang.db - Active = True DataSource1 Dataset = Table1 DBGrid1 Datasource = Datasource1 Label1 Caption = Kode barang Label2 Caption = Nama Barang Label3 Caption = Satuan Label4 Caption = Stok Edit1 Text = Edit2 Text = - Text = - Items = Buah Combobox1 Biji Kg Pack Edit3 Text = Button1 Caption = &Simpan Button2 Caption = &Batal Button3 Caption = &Keluar

5. Design Form-nya adalah sebagai berikut :

STMIK Duta Bangsa Surakarta - Delphi 6

47

Oleh: Wijiyanto

6. Kode program secara lengkapnya adalah sebagai berikut:

unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 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);

STMIK Duta Bangsa Surakarta - Delphi 6

48

Oleh: Wijiyanto
procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin table1.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); begin edit1.Text:=''; edit2.Text:=''; combobox1.Text:=''; edit3.Text:=''; edit1.setfocus; end; procedure TForm1.Button3Click(Sender: TObject); begin close; end; end.

B.

Membuat Edit dan Hapus Data

Untuk membuat edit dan hapus data bisa dilakukan dengan cara sebagai berikut: 1. 2. sediakan form kosong. buat design form dan tambahkan object-nya

seperti yang nampak pada gambar dibawah ini:

STMIK Duta Bangsa Surakarta - Delphi 6

49

Oleh: Wijiyanto

gambar konfirmasi hapus data.

3. Object Form Table1 DataSource1 DBGrid1 Label1 Label2

object dan properties yang diubah dapat dilihat pada Properties yang diubah Caption = Edit dan Hapus Data barang Table Name = D:\latdelphi\barang.db - Active = True Dataset = Table1 Datasource = Datasource1 Caption = Kode barang Caption = Nama Barang

tabel dibawah ini:

STMIK Duta Bangsa Surakarta - Delphi 6

50

Oleh: Wijiyanto
Label3 Label4 Dblookupcomb obox1 DbEdit1 Dbedit2 DbEdit3 Button1 Button2 Button3 4. 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 { Public declarations } end; var Form2: TForm2;

Caption = Satuan Caption = Stok Listsource =Datasource1 ListField = Kode_brg KeyField = Kode_brg Datasource =Datasource1 DataField =nama Datasource =Datasource1 DataField =satuan Datasource =Datasource1 DataField =stok Caption = &Simpan Caption = &Hapus Caption = &Keluar Kode program secara lengkap adalah sebagai

STMIK Duta Bangsa Surakarta - Delphi 6

51

Oleh: Wijiyanto
implementation {$R *.dfm} procedure TForm2.Button3Click(Sender: TObject); begin close; end; procedure TForm2.Button1Click(Sender: TObject); begin table1.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); begin if(application.MessageBox('Benar dihapus ?' , mb_iconwarning) =idyes) then table1.delete; end; end.

'Peringatan',

mb_yesno

or

Latihan : 1. Buatlah satu form input data customer dengan struktu table sebagai berikut : Kode_cts A 5 * Nama_cts A 20 Alamat A 35 Telp 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

52

Oleh: Wijiyanto

BAB VI PENCARIAN DATA DAN VALIDASI


Tujuan Umum Setelah mempelajari bab ini mahasiswa dapat mengetahui dan membuat program aplikasi pencarian data dan validasi data dengan menggunakan bahasa pemrograman Delphi. Tujuan Khusus a.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 yaitu 6.1 data merupakan data tanpa operasi index yang sangat penting dalam dan

manajemen database. Pada dasarnya pencarian data ada dua macam pencarian (urutan data/sekuensial) pencarian data menggunakan index. 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.
STMIK Duta Bangsa Surakarta - Delphi 6

53

Oleh: Wijiyanto Untuk lebih memahaminya buatlah latihan berikut: 1. Buat file database mahasiswa dengan struktur sebagai berikut:
Field name Nim Nama Tgl_masu k Alamat Telp type A A D A A size 10 20 40 13 Ke y *

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 Form Table1 DataSource1 DBGrid1 Label1 Label2 Label3 Label4 Label5 Label6 Label7 Edit1 Edit2 DateTimePicker1 Edit3 Edit4 Edit5 Edit6 Edit7 BitBtn1 BitBtn2 Properties yang diubah Caption = Input Data Mahasiswa Table Name = D:\latdelphi\mahasiswa.db - Active = True Dataset = Table1 Datasource = Datasource1 Caption = No.Induk Mahasiswa Caption = Nama Mahasiwa Caption = Tanggal Masuk Caption = Alamat Mahasiswa Caption = Telpon Caption = NIM Caption = Nama Text = Text = Text = Text = Text = Text = Text = Caption = Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\w ztop.bmp Caption = Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\w

STMIK Duta Bangsa Surakarta - Delphi 6

54

Oleh: Wijiyanto
zback.bmp Caption = Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\w znext.bmp Caption = Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\w zend.bmp Caption =&Save Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\w zsave.bmp Caption =&Cancel Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\w zundo.bmp Caption =&Delete Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\w zdelete.bmp Caption =E&xit Glyph = C:\program files\microsoft visual studio\vfp98\wizards\wizbmps\w zclose.bmp Caption = Cari Nim

BitBtn3

BitBtn4

BitBtn5

BitBtn6

BitBtn7

BitBtn8 BitBtn9

4. Design formnya sebagai berikut:

STMIK Duta Bangsa Surakarta - Delphi 6

55

Oleh: Wijiyanto

5. Kode program secara lengkap seperti berikut:


unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Controls, Forms, Dialogs, DB, DBTables, Grids, DBGrids, 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; BitBtn7: TBitBtn; BitBtn8: TBitBtn;

Classes, StdCtrls,

Graphics, Buttons,

STMIK Duta Bangsa Surakarta - Delphi 6

56

Oleh: Wijiyanto
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; begin table1.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(); edit3.Text:=''; edit4.Text:='';

STMIK Duta Bangsa Surakarta - Delphi 6

57

Oleh: Wijiyanto
edit1.setfocus; end; procedure TForm1.BitBtn6Click(Sender: TObject); begin edit1.Text:=''; edit2.Text:=''; datetimepicker1.Date:=date() ; edit3.Text:=''; edit4.Text:=''; edit1.setfocus; end; procedure TForm1.BitBtn7Click(Sender: TObject); var i:integer; begin if(application.MessageBox('Benar 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); begin close; end; procedure TForm1.BitBtn1Click(Sender: TObject); var i:integer; begin table1.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; begin table1.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;

akan

STMIK Duta Bangsa Surakarta - Delphi 6

58

Oleh: Wijiyanto
procedure TForm1.BitBtn3Click(Sender: TObject); var i:integer; begin table1.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; begin table1.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; begin i:=table1.RecNo ; edit5.Text:=inttostr(i); end; procedure TForm1.BitBtn9Click(Sender: TObject); var ada:boolean; i :integer; begin table1.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); end else showmessage('NIM tersebut Tidak ada'); edit6.Text:=''; edit6.setfocus; end;

STMIK Duta Bangsa Surakarta - Delphi 6

59

Oleh: Wijiyanto
procedure TForm1.Edit7Change(Sender: TObject); begin table1.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; begin table1.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; end else edit2.SetFocus ; end; procedure TForm1.DBGrid1CellClick(Column: TColumn); var i:integer; begin table1.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); begin if key=chr(13)then edit2.setfocus; end;

STMIK Duta Bangsa Surakarta - Delphi 6

60

Oleh: Wijiyanto
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char); begin if key=chr(13)then datetimepicker1.setfocus; end; procedure TForm1.DateTimePicker1KeyPress(Sender: Key: Char); begin if key=chr(13)then edit3.setfocus; end; TObject; var

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char); begin if key=chr(13)then edit4.setfocus; end; procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char); begin if key=chr(13)then bitbtn5.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 Kode_mk Nama_m k Semester sks type A A A N size 5 25 3 Ke y *

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

STMIK Duta Bangsa Surakarta - Delphi 6

61

Oleh: Wijiyanto matkul sudah kita bahas sebelumnya , kita tinggal menambahi satu table nilai yang mempunyai struktur sebagai berikut:
Field name Nim Kode_mk Nilai type A A N size 10 5 Ke y

a. b.

Buat Secondary index-nya berdasarkan nim dan nama object dan properties yang diubah dapat dilihat pada tabel
Properties yang diubah Caption = Input Data Nilai Mahasiswa Caption = Caption =

dengan nama xnim dan xkode dibawah ini:


Object Form1 Groupbox1 Groupbox2 Shape Table1

Table Name = D:\latdelphi\mahasiswa.db - Active = True Datasource1 Dataset =tabel1 Table Name = Table2 D:\latdelphi\matkul.db - Active = True Datasource2 Dataset =tabel2 Table Name = D:\latdelphi\nilai.db - Active = True Table3 - Mastersource = Datasource1 - Masterfields = nim - Indexfieldnames / Indexname = nim DataSource3 Dataset = Table3 DBGrid1 Datasource = Datasource3 Label1 Caption = No.Induk Mahasiswa Label2 Caption = Nama Mahasiwa Label3 Caption = Kode Mata Kuliah Label4 Caption = Nama Mata Kuliah Label5 Caption = SKS Label6 Caption = Nilai ListSource =Datasource1 Dblookupcombobo ListField = Nim;Nama x1 Keyfield =nim Datasource = Datasource1 Dbedit1 DataField = nama

STMIK Duta Bangsa Surakarta - Delphi 6

62

Oleh: Wijiyanto
Dblookupcombobo x2 Dbedit2 Dbedit3 Edit1 BitBtn1 BitBtn2 BitBtn3 BitBtn4 BitBtn5 ListSource =Datasource2 ListField = kode_mk;Nama_mk Keyfield =kode_mk Datasource = Datasource2 DataField = nama Datasource = Datasource2 DataField = sks Text = Caption = &Add Caption =&Save Caption =&Cancel Caption =&Delete Caption =E&xit

c.

Design formnya sebagai berikut:

d.

Kode program secara lengkap adalah sebagai berikut :

unit nilai; interface uses

STMIK Duta Bangsa Surakarta - Delphi 6

63

Oleh: Wijiyanto
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; 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); begin edit1.setfocus; end;

STMIK Duta Bangsa Surakarta - Delphi 6

64

Oleh: Wijiyanto

procedure TForm1.BitBtn1Click(Sender: TObject); begin dbedit1.Text:=''; dbedit2.Text:=''; dbedit3.Text:=''; edit1.Text:=''; end; procedure TForm1.BitBtn3Click(Sender: TObject); begin dbedit2.Text:=''; dbedit3.Text:=''; edit1.Text:=''; end; procedure TForm1.BitBtn4Click(Sender: TObject); begin if(application.MessageBox('Yakin akan dihapus','Peringatan', mb_yesno or mb_iconwarning)=idyes)then table3.delete; end; procedure TForm1.BitBtn5Click(Sender: TObject); begin close; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin table3.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); begin dbedit1.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.

STMIK Duta Bangsa Surakarta - Delphi 6

65

Oleh: Wijiyanto 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 terindex. 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


Properties yang diubah Caption = Filter Data Mahasiswa Caption = SetRange Caption = Filter Table Name = D:\latdelphi\mahasiswa.db - Active = True Dataset =tabel1 Datasource = Datasource1 Caption = NIM Awal Caption = NIM Akhir Caption = NIM Text = Text = Text = Caption = &Mulai Caption =&Filter Caption =&Selesai

dibawah ini:
Object Form1 Groupbox1 Groupbox2 Table1 Datasource1 DBGrid1 Label1 Label2 Label3 Edit1 Edit2 Edit3 BitBtn1 BitBtn2 BitBtn3

c.

Kode programnya adalah sebagau berikut :

unit filter;

STMIK Duta Bangsa Surakarta - Delphi 6

66

Oleh: Wijiyanto

interface uses Windows, Messages, SysUtils, Variants, Classes, 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; implementation {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin table1.IndexName:='xnim'; table1.setrange([edit1.text],[edit2.text]); end; procedure TForm3.Button3Click(Sender: TObject); begin close; end; procedure TForm3.Button2Click(Sender: TObject); begin table1.FilterOptions :=[focaseinsensitive]; table1.Filter :='nim='+quotedstr(edit3.Text); table1.Filtered :=true; end;

Graphics,

STMIK Duta Bangsa Surakarta - Delphi 6

67

Oleh: Wijiyanto
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

68

Oleh: Wijiyanto b. object dan properties yang diubah adalah sebagai


Properties yang diubah Caption = Relasi Antar Tabel Dan Data Gambar Table Name = D:\latdelphi\matkul.db - Active = True - Mastersource = DataSource2 - MasterField =Kode_mk - IndexFieldname =kode_mk Dataset =tabel1 - Table Name = D:\latdelphi\nilai.db - Active = True Dataset =tabel2 Datasource = Datasource2 Caption = Nama Mata Kuliah Caption = SKS Datasource = Datasource1 DataField = nama_mk Datasource = Datasource1 DataField = sks Datasource = Datasource2

berikut:
Object Form1 Table1 (lihat gambar point
c dibawah untuk mengetahui cara pengkaitan antar tabel)

Datasource1 Table2 Datasource2 DBGrid1 Label1 Label2 Dbedit1 Dbedit2

DBNavigator (Tab data Controls ) BitBtn1 Caption =&Selesai Checkbox1 Caption =Preview Groupbox1 Caption =gambar Image1

c.

cara mengaitkan atau merelasikan table pada properties

masterfield adalah sebagai berikut:

STMIK Duta Bangsa Surakarta - Delphi 6

69

Oleh: Wijiyanto

STMIK Duta Bangsa Surakarta - Delphi 6

70

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); begin Close; end; procedure TForm4.DBEdit1Change(Sender: TObject); var filegambar :string; begin if checkbox1.Checked then try begin filegambar:=table1.fieldbyname('kode_mk').asstring+'.BMP';

STMIK Duta Bangsa Surakarta - Delphi 6

71

Oleh: Wijiyanto
image1.Picture.LoadFromFile(filegambar); image1.Stretch :=true; image1.Visible :=true; end; except image1.Visible :=false; end; if not checkbox1.Checked then image1.Visible :=false; end; procedure TForm4.CheckBox1Click(Sender: TObject); begin dbedit1change(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 Form1 Query1 Datasource1 DBGrid1 Label1 Edit1 Button1 Button2 Properties yang diubah Caption = Structure Query Language - SQL =select * from 'C:\LatDelphi\barang.db' - Active = True Dataset =query1 Datasource = Datasource1 Caption = Pernyataan SQL Text = Caption =&Aktifkan SQL Caption =&Selesai

STMIK Duta Bangsa Surakarta - Delphi 6

72

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

STMIK Duta Bangsa Surakarta - Delphi 6

73

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 Form1 Query1 Datasource1 DBGrid1 Label1 Edit1 Button1 Button2 Properties yang diubah Caption = Structure Query Language - SQL =select * from 'C:\LatDelphi\barang.db' - Active = True Dataset =query1 Datasource = Datasource1 Caption = Kode Barang Text = Caption =&Aktifkan SQL Caption =&Selesai

STMIK Duta Bangsa Surakarta - Delphi 6

74

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

STMIK Duta Bangsa Surakarta - Delphi 6

75

Oleh: Wijiyanto
procedure TForm1.Button1Click(Sender: TObject); begin query1.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

76

Oleh: Wijiyanto

BAB VII MEMBUAT LAPORAN ATAU REPORT


Tujuan Umum Setelah mempelajari bab ini mahasiswa dapat mengetahui dan membuat laporan atau report dengan menggunakan bahasa pemrograman Delphi. Tujuan Khusus a.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

77

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
Table1

Properties yang diubah


TableName = C:\LatDelphi\Barang.db

STMIK Duta Bangsa Surakarta - Delphi 6

78

Oleh: Wijiyanto
Active =True Dataset = Table1 HasDetail =True HasPageHeader = True HasSummary =True Caption = Laporan Data Barang Caption = No. Caption = Kode Barang Caption = Nama Barang Caption = Satuan Caption = Stok Caption = Jumlah Dataset =Table1 DataField =Kode_brg Dataset =Table1 DataField =nama Dataset =Table1 DataField =satuan Dataset =Table1 DataField =stok Data = qrsDetailNo //untuk membuat nomor urut Expression = SUM(Table1.Stok) // untuk membuat jumlah atau total dari stok Untuk membuat garis atau Line

QuickReport1 +Bands QRLabe1 QRLabe2 QRLabe3 QRLabe4 QRLabe5 QRLabe6 QRLabe7 QRDBText1 QRDBText2 QRDBText3 QRDBText4 QRSysData1 QRExpr1 QRShape

Perhatikan 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.
79

STMIK Duta Bangsa Surakarta - Delphi 6

Oleh: Wijiyanto Design form laporannya adalah sebagai berikut :

procedure TForm1.BitBtn3Click(Sender: TObject); begin close; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin quickreport1.preview; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin quickreport1.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 :

STMIK Duta Bangsa Surakarta - Delphi 6

80

Oleh: Wijiyanto

Object yang kita pakai dapat kita lihat pada tabel berikut ini:
Object
Form1 Table1 Datasource1 Table2

Properties yang diubah


Caption = Laporan Data Barang TableName = C:\LatDelphi\Barang.db Active =True Dataset =table1 TableName = C:\LatDelphi\Barang.db Active =True MasterSource = Datasource1 MasterField =Kode_brg IndexFieldName=kode_brg Dataset = Table2 +Bands HasDetail =True HasPageHeader = True HasSummary =True Caption = Kode Barang ListSource =datasource1 ListField =kode_brg;nama Keyfield =kode_brg Caption = Laporan Data Barang Caption = No. Caption = Kode Barang Caption = Nama Barang Caption = Satuan Caption = Stok Caption = Jumlah Dataset =Table2 DataField =Kode_brg Dataset =Table2 DataField =nama Dataset =Table2

QuickRep1

Label1 DBLookupCombo box1 QRLabe1 QRLabe2 QRLabe3 QRLabe4 QRLabe5 QRLabe6 QRLabe7 QRDBText1 QRDBText2 QRDBText3

STMIK Duta Bangsa Surakarta - Delphi 6

81

Oleh: Wijiyanto
DataField =satuan Dataset =Table2 DataField =stok Caption=P&review Caption=&Print Caption=E&xit Data = qrsDetailNo //untuk membuat nomor urut Untuk membuat garis atau Line

QRDBText4 BitBtn1 BitBtn2 BitBtn3 QRSysData1 QRShape

Perhatikan tata letak setiap object dimana harus ditempatkan.

Hasilnya adalah sebagai berikut:

procedure TForm1.BitBtn3Click(Sender: TObject); begin close; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin quickrep1.preview; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin quickrep1.print; end;

7.4

Membuat Laporan dengan beberapa table

STMIK Duta Bangsa Surakarta - Delphi 6

82

Oleh: Wijiyanto 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
Form1 Table1 Datasource1 Table2 Datasource2 Table3

Properties yang diubah


Caption = Laporan Data Nilai Mahasiswa TableName = C:\LatDelphi\Mahasiswa.db Active =True Dataset =table1 TableName = C:\LatDelphi\Matkul.db Active =True MasterSource = Datasource1 MasterField =Kode_mk IndexFieldName=kode_mk Dataset =table2 TableName = C:\LatDelphi\Nilai.db Active =True MasterSource = Datasource1

STMIK Duta Bangsa Surakarta - Delphi 6

83

Oleh: Wijiyanto
MasterField =nim IndexFieldName=nim Dataset =table3 TableName = C:\LatDelphi\Nilai.db Active =True MasterSource = Datasource3 MasterField =nim IndexFieldName=nim Dataset =table4 Dataset = Table3 +Bands HasDetail =True HasPageHeader = True HasSummary =True Caption = No. Induk Mahasiswa Caption = Nama Mahasiswa ListSource =datasource1 ListField =nim;nama Keyfield =nim Datasource = Datasource1 Datafield = nama Caption=P&review Caption=&Print Caption=E&xit Caption = NILAI MAHASISWA Caption = No. Induk Mahasiswa Caption = Nama Mahasiswa Caption = NO Caption = KODE M K Caption = NAMA MATA KULIAH Caption = SEMESTER Caption = SKS Caption = NILAI Caption = TOTAL Caption = JUMLAH Caption = INDEK PRESTASI [ IP ] Dataset =Table1 DataField =nim Dataset =Table DataField =nama Data =qrsDetailNo Dataset =Table3 DataField =kode_mk Dataset =Table2 DataField =nama_mk Dataset =Table2 DataField =semester Dataset =Table2 DataField =sks Dataset =Table3 DataField =nilai Expression =Table2.Sks * Table3.Nilai

Datasource3 Table4 Datasource4 QuickRep1

Label1 Label2 DBLookupCombobo x1 DBEdit1 BitBtn1 BitBtn2 BitBtn3 QRLabe1 QRLabe2 QRLabe3 QRLabe4 QRLabe5 QRLabe6 QRLabe7 QRLabe8 QRLabe9 QRLabe10 QRLabe11 QRLabe12 QRDBText1 QRDBText2 QRSysData1 QRDBText3 QRDBText4 QRDBText5 QRDBText6 QRDBText7 QRExpr1

STMIK Duta Bangsa Surakarta - Delphi 6

84

Oleh: Wijiyanto

QRExpr2 QRExpr3 QRExpr4 QRExpr5 QRShape

Expression =SUM(Table2.Sks) Expression =SUM(Table3.Nilai) Expression =SUM(Table2.Sks * Table3.Nilai) Expression =SUM(Table2.Sks * Table3.Nilai) / SUM(Table2.Sks) Untuk membuat garis atau Line

Perhatikan tata letak setiap object dimana harus ditempatkan.

3. Hasilnya adalah sebagai berikut :

STMIK Duta Bangsa Surakarta - Delphi 6

85

Oleh: Wijiyanto
4. kode program form adalah sebagai berikut:
procedure TForm2.BitBtn1Click(Sender: TObject); begin quickrep1.Preview ; end; procedure TForm2.BitBtn2Click(Sender: TObject); begin quickrep1.Print ; end; procedure TForm2.BitBtn3Click(Sender: TObject); begin close; end;

STMIK Duta Bangsa Surakarta - Delphi 6

86

Oleh: Wijiyanto

BAB VIII MEMBUAT MENU, FUNGSI DAN PROCEDURE, SETUP DISK


Tujuan Umum Setelah mempelajari bab ini mahasiswa dapat mengetahui dan membuat menu, fungsi, procedure dan setup disk dengan menggunakan bahasa pemrograman Delphi. Tujuan Khusus a.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 disk e.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 pulldown, 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:
Data Transaksi Mahasiswa Nilai Mahasiswa Mata Kuliah Kuliah
STMIK Duta Bangsa Surakarta - Delphi 6

Laporan Mata

87

Oleh: Wijiyanto

Langkah langkah membuatnya adalah sebagai berikut : 1. object MainMenu 2. 3. Klik properties Items pada main menu, atau Akan muncul menu designer, tuliskan klik kanan object mainmenu lalu klik menu designer caption menunya , seperti pada gambar dibawah ini: Buat form kosong, kemudian tambahkan

4. close. 5.

setelah selesai tutup menu designer dengan 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.

STMIK Duta Bangsa Surakarta - Delphi 6

88

Oleh: Wijiyanto 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

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.

STMIK Duta Bangsa Surakarta - Delphi 6

89

Oleh: Wijiyanto 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 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

1. Str

bersifat optional.

2. StrToCurr Dipakai untuk mendapatkan nilai Currency dari suatu data string, penulisanya sebagai berikut:
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 :

STMIK Duta Bangsa Surakarta - Delphi 6

90

Oleh: Wijiyanto
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:
Format(<stringformat>,<arraydiformat>)

Stringformat adalah string yang berisi kode kode tertentu untuk menformat arraydiformat penulisan stringformat diawali tanda %

STMIK Duta Bangsa Surakarta - Delphi 6

91

Oleh: Wijiyanto
kemudian dikuti angka yang menunjukan lebar dan desimal serta kode format, macam macam kode format dapat dilihat pada tabel berikut ini:

Kode d u e f g n m p s x

Keterangan Argumen atau data yang diformat harus bertipe integer Sama dengan d, tetapi tidak menghasilkan tanda positif atau negatif Argumen harus bertipe floating-point Sama dengan e, tetapi tidak menggunakan angka eksponen Menggunkan format yang paling mungkin anata e dan f Argumen harus bertipe floating point, tidak menggunakan angka eksponen, menggunakan pemisah ribuan dan desimal. Argumen harus bertipe floating point, menggunakan format currency Argumen harus bertipe pointer, hasilnya berupa 8 karakter string yang menunjukan nilai pointer dalam heksa desimal. Argumen harus bertipe string atau Pchar 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

92

Oleh: Wijiyanto

DAFTAR PUSTAKA
Ardiansyah, Manual Yogyakarta, 2001 HandBook PharmaCompulabs 5.0,

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 Offset, Yogyakarta, 1997 Pranata, Antony, Pemrograman Pemrograman Borland Delphi, , Andi Andi,

Delphi

Yogyakarta, 1998

STMIK Duta Bangsa Surakarta - Delphi 6

93