MODUL KULIAH PEMROGRAMAN BASIS DATA DENGAN CLIPPER VERSION 5.3
Oleh : Eko Purwanto, S.Kom
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK DUTA BANGSA SURAKARTA 2009
STMIK Duta Bangsa Surakarta KATA PENGANTAR
Merupakan sebuah bahasa pemprograman untuk menejemen database/ data base Clipper dapat digolongkan bahasa pemprograman database.Jika anda mengenal program-program paket pengolah database (DBMS) seperti dBase II Plus, FoxBase, FoxPro dan lain-lain, adalah bahasa pemrograman pengolah database yang menggunakan Interpreter sebagai penerjemah saat kita menjalankan program. Setelah memepelajari modul ini, diharapkan mahasiswa dapat menguasai pemrograman basis data dengan menggunakan Clipper Compiler secara mandiri, untuk selanjutnya mahasiswa dapat mengembangkanya sesuai dengan kebutuhan, karena sudah dilengkapi dengan contoh contoh program dan latihan latihan di tiap bab-nya. Pada kesempatan ini penulis mengucapkan banyak terima kasih atas dukunganya sehingga modul ini dapat diselesaikan terutama pihak STMIK Duta Bangsa Surakarta tempat penulis mengajar, serta pihak pihak yang lain yang membantu dalam menyelesaikan modul ini. Semoga modul ini bermanfaat bagi mahasiswa STMIK Duta Bangsa pada khususnya.
Surakarta,
Maret 2009
Penulis
Pemrograman Basis Data dengan Clipper 5.3
ii
STMIK Duta Bangsa Surakarta
DAFTAR ISI HALAMAN JUDUL .............................................................................................
i
KATA PENGANTAR ..........................................................................................
ii
DAFTAR ISI ....................... ..................................................................................
iii
DAFTAR TABEL .................................................................................................
v
DAFTAR GAMBAR ............................................................................................
vi
BAB I
PENDAHULUAN ..............................................................................
1
A.
Apakah Clipper itu .....................................................................
1
B.
Apakah yang harus disiapkan .....................................................
1
C.
Bagaimana Membuat program denganclipper ...........................
2
STRUKTUR DAN FORMAT PROGRAM CLIPPER COMPILER .
6
A.
Format Program Clipper ............................................................
6
B.
Fungsi dan Prosedur ...................................................................
8
DATA DAN VARIABEL ....................................................................
14
A.
Data ............................................................................................
14
B.
Variabel .....................................................................................
18
ORERATOR DAN EKSPRESE .........................................................
21
A.
Ekspresi Dalam Clipper .............................................................
21
B.
Pemuatan Nilai Dengan Fungsi IIF() atau IF() ..........................
26
STRUKTUR PROGRAM PERCABANGAN DAN PERULANGAN
27
A.
Sturktur Urut ata Liner ..............................................................
27
B.
Struktur Percabangan .................................................................
27
C.
Struktur Perulangan ....................................................................
32
MENAMPILKAN ATAU MENCETAK DATA ...............................
36
A.
Perintah-Perintah Menampilakan Atau Mencetak Data ............
36
B.
Perintah-Perintah Mengubah Perangkat Output .........................
41
C.
Perintah-perintah dan fungsi perangkat output layar .................
45
D.
Fungsi-Fungsi Output (Keluaran) ..............................................
56
E.
Perintah-perintah yang mempengaruhi Pencetakan data ...........
58
F.
Fungsi Output Suara ...................................................................
59
BAB II
BAB III
BAB IV
BAB V
BAB VI
Pemrograman Basis Data dengan Clipper 5.3
iii
STMIK Duta Bangsa Surakarta BAB VII MASUKAN ATAU INPUT DATA ...................................................
61
A.
Memasukkan data degnan perintah @... GET ..........................
61
B.
Memasukkan data lewat funfsi inkey(), lastkey() atau NextKey()
63
C.
Memasukkan data lewat fungsi Keyboard ..................................
69
D.
Perintah dan Fungsi Mendefinisikan Kunci (SET KEY & setKey)
69
BAB VIII APLIKASI MENGGUNAKAN DATA BASE ...................................
BAB IX
BAB X
71
A.
Definisi Database .......................................................................
71
B.
Menciptakan database ................................................................
71
C.
Menggunakan mengaktifkan database .......................................
75
D.
Area Kerja database ...................................................................
77
E.
Menutup Data Base ....................................................................
79
F.
File INDEX ................................................................................
80
G.
Pencarian Data Record Database ...............................................
84
H.
Query database ...........................................................................
87
I.
Menggerakkan Record ...............................................................
89
PROSES TERHADAP DATABASE ..................................................
94
A.
Mengubah atau Memodifikasi Data Record Data Base .............
94
B.
Fungsi – fungsi data base ...........................................................
104
C.
Membuat Program Master Data .................................................
109
MENYARING ATAU FILTER DATA DAN MENGHUBUNGKAN DABATASE ........................................................................................
113
A.
Menyaring Data Field DataBase ................................................
113
B.
Menhubungkan dua Buah Database atau relasi antar database ..
115
PRAPROSESOR, ARRAY DAN BLOK KODE ................................
117
A.
Praposedur ..................................................................................
117
B.
Data Array ..................................................................................
120
C.
Blok Kode ..................................................................................
128
BAB XII PROGRAM MENU PENENDALI ......................................................
130
BAB XIII FUNGSI – FUNGSI STRING .............................................................
134
BAB XI
A.
Operasi String .............................................................................
134
B.
Fungsi-fungsi String ...................................................................
134
Pemrograman Basis Data dengan Clipper 5.3
iv
STMIK Duta Bangsa Surakarta BAB XIV FUNGSI MATEMATIK ......................................................................
145
A.
Operasi Matematik .....................................................................
145
B.
Perintah SET DECIMAL dan SET FIXED ...............................
145
C.
Fungsi-Fungsi Matematika .........................................................
146
BAB XV FUNGSI TANGGAL DAN WAKTU .................................................
149
A.
Operasi Tanggal .........................................................................
149
B.
Mendefinisikan Variabel Tanggalciptakan database .................
149
C.
Format Tanggal ..........................................................................
150
D.
Fungsi-Fungsi Tanggal ..............................................................
151
E.
Fungsi-Fungsi Waktu .................................................................
153
BAB XVI FILE TEKS DAN DIELD MEMO ......................................................
155
A.
Membaca Field Memo dan Menulis ke Field Memo .................
155
B.
Membaca Field teks dan menulis ke File Teks ..........................
156
BAB XVII FILE MEMORY .................................................................................
157
A.
Fariabel Memory ........................................................................
157
B.
Perintah-perintah File Memory ..................................................
157
LAMPIRAN-LAMPIRAN DAFTAR PUSTAKA
Pemrograman Basis Data dengan Clipper 5.3
v
STMIK Duta Bangsa Surakarta
DAFTAR TABEL 1. Tabel 4.1 Operator Matematika .......................................................................
22
2. Tabel 4.2 Operator –Operator Relasi ..............................................................
23
3. Tabel 4.3 Operator Assigmen ..........................................................................
23
4. Tabel 4.4 Command Assigment Operasi .......................................................
23
5. Tabel 4.5 Operator ........................................................................................
24
6. Tabel 4.6 Operator Ekspresi khusus ................................................................
24
7. Tabel 6.1 Warna Tampilan ...............................................................................
38
8. Tabel 6.2 Picture Function (Fungsi warna) ......................................................
40
9. Tabel 6.3 Picture Temlate ................................................................................
40
10. Tabel 6.4 Simbol Konstanta .............................................................................
46
11. Tabel 6.5 Data Warna ......................................................................................
54
12. Tabel 6.6 Bentuk Kursor ..................................................................................
55
13. Tabel 7.1 Picture Function ...............................................................................
61
14. Tabel 7.2 Picture Template ..............................................................................
62
15. Tabel 7.3 Tombol Menggerakan Kursor ..........................................................
64
16. Tabel 7.4 Tombol Editing ................................................................................
64
17. Tabel 7.5 Tombol Fungsi .................................................................................
64
18. Tabel 7.6 Tombol ALT ....................................................................................
65
19. Tabel 7.7 Tombol Ctrl ......................................................................................
65
20. Tabel 7.8 Tombol Sift - Fungsi ........................................................................
66
21. Tabel 7.9 Tombol Ctrl - Fungsi........................................................................
66
22. Tabel 7.10 Tombol ALT -Fungsi .....................................................................
67
23. Tabel 8.1 Contoh Tabel ....................................................................................
72
24. Tabel 13.1 Operator String...............................................................................
134
25. Tabel 14.1 Operator Matematik .......................................................................
135
26. Tabel 15.1 Operator Operasi Tanggal ..............................................................
149
27. Tabel 15.2 Format Tanggal ..............................................................................
150
Pemrograman Basis Data dengan Clipper 5.3
vi
STMIK Duta Bangsa Surakarta
DAFTAR GAMBAR 1.
Gambar 1.1 Program Editor Clipper ............................................................
2
2.
Gambar 1.2 File Autoexact.Bat ....................................................................
2
3.
Gambar 1.3 Letak File Header .....................................................................
3
4.
Gambar 1.4 Proses Compilasi ......................................................................
4
5.
Gambar 1.5 Proses Lingking ........................................................................
5
6.
Gambar 1.6 Langkah Proses Pembuatan Cliper ...........................................
5
7.
Gambar 2.1 Format Program Clipper ...........................................................
7
8.
Gambar 2.2 Contoh 1 Fungtion dan Prosedure ............................................
8
9.
Gambar 2.3 Contoh 2 Fungtion dan Prosedure ............................................
9
10.
Gambar 2.4 AturanPenulisan Procedure ......................................................
10
11.
Gambar 2.5 Pemanggilan Procedure ............................................................
10
12.
Gambar 2.6 Contoh 1 penggunaan Procedure ..............................................
10
13.
Gambar 2.7 Contoh 2 penggunaan Procedure ..............................................
11
14.
Gambar 2.8 Contoh 3 penggunaan Procedure ..............................................
11
15.
Gambar 2.9 AturanPenulisan Fungsi ...........................................................
12
16.
Gambar 2.10 Contoh penggunaan Fungsi ...................................................
12
17.
Gambar 3.1 Contoh tipe data string .............................................................
14
18.
Gambar 3.2 Perintah penulisan tipe data tanggal .........................................
15
19.
Gambar 3.3 Perintah penulisan tipe data tanggal .........................................
15
20.
Gambar 3.4 Deklarasi Penulisan Array ........................................................
16
21.
Gambar 3.5 Contoh Tipe data Array ............................................................
17
22.
Gambar 3.6 Penulisan Kode Block ..............................................................
17
23.
Gambar 3.7 Contoh Tipe data NIL .............................................................
17
24.
Gambar 3.8 Contoh penulisan Variable ........................................................
18
25.
Gambar 3.9 Contoh 1 Variabel Static ...........................................................
19
26.
Gambar 3.10 Contoh 2 Variabel Static .........................................................
20
27.
Gambar 4.1 Bentuk penulisan ekspresi Pemuatan ........................................
21
28.
Gambar 4.2 Contoh Ekspresi String .............................................................
22
29.
Gambar 4.3 Contoh Operator Assigment ......................................................
23
Pemrograman Basis Data dengan Clipper 5.3
vii
STMIK Duta Bangsa Surakarta 30. Gambar 4.4 Penuulisan Fungsi IIF dan IF ....................................................
26
31.
Gambar 4.5 Contoh Fungsi IIF dan IF ..........................................................
26
32.
Gambar 5.1 Bentuk Penulisan Percabangan IF... ENDIF ............................
28
33.
Gambar 5.2 Contoh Percabangan IF...ENDIF ..............................................
30
34.
Gambar 5.3 Bentuk Penulisan DO … CASE ................................................
30
35.
Gambar 5.4 Contoh Percabangan DO …CASE ............................................
31
36.
Gambar 5.5 Bentuk Penulisan DO WHILE … ENDDO ..............................
32
37.
Gambar 5.6 Contoh DO WHILE …ENDDO ..............................................
33
38.
Gambar 5.3 Bentuk Penulisan FOR … NEXT .............................................
33
39.
Gambar 5.4 Contoh FOR …NEXT ...............................................................
34
40.
Gambar 6.1 Bentuk Penulisan perintah ? atau ?? .........................................
36
41.
Gambar 6.2 Contoh Perintah ? atau ?? .........................................................
37
42.
Gambar 6.3 Bentuk Penulisan perintah @ ... SAY .......................................
38
43.
Gambar 6.4 Contoh penulisan warna ...........................................................
39
44.
Gambar 6.5 Contoh Pemakaian.....................................................................
41
45.
Gambar 6.6 Contoh perintah SET ALLTERNATE TO...............................
41
46.
Gambar 6.7 Bentuk Penulisan SET ALLTERNATE TO ............................
42
47.
Gambar 6.8 Contoh perintah SET CONSELE ON/OF .................................
42
48.
Gambar 6.9 Contoh penulisan SET PRINT ON/OFF ..................................
43
49.
Gambar 6.10 Contoh penulisan perintah SET DEVICE TO .......................
43
50.
Gambar 6.11 bentuk penulisan perintah SET PRINT TO ...........................
44
51.
Gambar 6.12 contoh perintah SET PRINT TO ............................................
44
52.
Gambar 6.13 contoh penulisan perintah CLEAR .........................................
45
53.
Gambar 6.14 contoh penulisan perintah @......CLEAR ................................
45
54.
Gambar 6.15 contoh penulisan perintah @......TO .......................................
46
55.
Gambar 6.16 contoh penulisan perintah @......BOX ....................................
46
56.
Gambar 6.17 contoh penulisan perintah # include “BOX.CH” ....................
47
57.
Gambar 6.18 contoh penulisan perintah @......PROMpT .............................
48
58.
Gambar 6.19 contoh penulisan fungsi ALTER() ..........................................
49
59.
Gambar 6.20 bentuk penulisan fungsi DisBox() ...........................................
50
60.
Gambar 6.21 bentuk penulisan fungsi MaxRow dan MaxColl .....................
50
Pemrograman Basis Data dengan Clipper 5.3
viii
STMIK Duta Bangsa Surakarta 61. Gambar 6.22 contoh penulisan fungsi MaxRow dan MaxColl .....................
50
62.
Gambar 6.23 bentuk penulisan fungsi savesscreen () dan Restscreen() .......
51
63.
Gambar 6.24 contoh penulisan fungsi savesscreen () dan Restscreen() .......
53
64.
Gambar 6.25 bentuk penulisan fungsi scroll() ..............................................
54
65.
Gambar 6.26 bentuk penulisan fungsiSetColor() ..........................................
54
66.
Gambar 6.27 Setelen Warna .........................................................................
54
67.
Gambar 6.28 contoh penulisan fungsi setColor() .........................................
55
68.
Gambar 6.29 bentuk penulisan fungsi SetCursorl() ......................................
55
69.
Gambar 6.30 contoh penulisan fungsi setCursor () .......................................
55
70.
Gambar 6.31 bentuk penulisan fungsi SetMode () .......................................
56
71.
Gambar 6.32 bentuk penulisan fungsi Transform .........................................
56
72.
Gambar 6.33 contoh penulisan fungsi Prow(), Pcol(), SetPcr() ....................
57
73.
Gambar 6.34 contoh penulisan fungsi Devpos(), Setpos(), SetPrc() ............
58
74.
Gambar 6.35 contoh penulisan perintah SET DECIMAL TO ......................
58
75.
Gambar 6.36 contoh penulisan perintah SET DECIMAL TO, SET FIXED
59
76.
Gambar 6.37 Bentuk penulisan fungsi suara.................................................
60
77.
Gambar 7.1 Bentuk penulisan perintah @...GET .........................................
61
78.
Gambar 7.2 Contoh Penulisan perintah @...GET .........................................
62
79.
Gambar 7.3 Bentuk penulisan perintah SET DELIMETERS .......................
63
80.
Gambar 7.4 Contoh Penulisan perintah fungsi Inkey() ................................
63
81.
Gambar 7.5 Contoh Penulisan perintah fungsi tombol .................................
68
82.
Gambar 7.6 Bentuk penulisan fungsi LASTKEY() ......................................
68
83.
Gambar 7.7 Bentuk penulisan fungsi NEXTKEY() .....................................
68
84.
Gambar 7.8 Bentuk penulisan fungsi KEYBOARD() ..................................
69
85.
Gambar 7.9 Bentuk penulisan fungsi SETKEY() .........................................
69
86.
Gambar 7.10 Bentuk penulisan perintah SET KEY......................................
69
87.
Gambar 7.11 Bentuk penulisan perintah dan fungsi SET KEY ....................
69
88.
Gambar 8.1 Bentuk penulisan fungsi DbCreate () ........................................
71
89.
Gambar 8.2 Contoh penulisan fungsi DbCreate () ........................................
72
90.
Gambar 8.3 menjalankan DBU Utility lewat Comand Prompt.....................
73
91.
Gambar 8.4 Database Utility .........................................................................
73
Pemrograman Basis Data dengan Clipper 5.3
ix
STMIK Duta Bangsa Surakarta 92. Gambar 8.5 Mendesain Database pada database Utility ...............................
73
93.
Gambar 8.6 menyimpan file data base pada databas Utility .........................
74
94.
Gambar 87 Membuat File Index dengan DBU Utility ..................................
74
95.
Gambar 8.8 Bentuk Penulisan Pemanggilan Database .................................
75
96.
Gambar 8.9 Bentuk Penulisan Fungsi File() .................................................
75
97.
Gambar 8.10 contoh Penulisan Fungsi File() ................................................
76
98.
Gambar 8.11 contoh Penulisan Operator Makr(&) .......................................
76
99.
Gambar 8.12 contoh Pemanggilan database dengan ekspresi karakter.........
77
100. Gambar 8.13 Bentuk penulisan perintah SELECT .......................................
77
101. Gambar 8.14 contoh Penulisan Peritah SELECT() .......................................
78
102. Gambar 8.15 Contoh Penulisan Peritah SELECT ...NEW ...........................
78
103. Gambar 8.16 Bentuk Penulisan Perintah Menutup File ................................
79
104. Gambar 8.17 Bentuk Penulisan Perintah Menutup File ................................
79
105. Gambar 8.18 Bentuk Penulisan Menciptakan File Index dengan INDEX ON
80
106. Gambar 8.19 Bentuk Penulisan Perintah SET INDEX, DbSetIndex ............
81
107. Gambar 8.20 Contoh Penulisan Perintah SET INDEX, Db Set Index() .......
82
108. Gambar 8.21 Bentuk Penulisan Perintah SET ORDER TO, DbSetOrder ....
82
109. Gambar 8.22 Contoh Penulisan Perintah SET ORDER TO, DbSetOrder ....
82
110. Gambar 8.23 Bentuk Penulisan Perintah REINDEX, DbReindex ................
83
111. Gambar 8.24 Contoh Penulisan Perintah REINDEX, DbReindex ...............
83
112. Gambar 8.25 Contoh Penulisan Perintah Ckise Index, DbClearindex() .......
83
113. Gambar 8.26 Bentuk Penulisan Perintah LOCATE FOR .............................
84
114. Gambar 8.27 Contoh Bentuk Penulisan Perintah LOCATE FOR ................
85
115. Gambar 8.28 Bentuk Penulisan Perintah SEEK, FIND,DbSeek ..................
85
116. Gambar 8.29 Contoh Penulisan Perintah SEEK, FIND,DbSeek() ...............
87
117. Gambar 8.30 Bentuk Penulisan Perintah count.............................................
87
118. Gambar 8.31 Bentuk Penulisan Perintah Sum ..............................................
88
119. Gambar 8.32 Bentuk Penulisan Perintah AVERAGE ..................................
88
120. Gambar 8.33 Bentuk Penulisan Perintah SKIP .............................................
89
121. Gambar 8.34 contoh Penulisan Perintah SKIP ............................................
90
122. Gambar 8.35 Bentuk Penulisan Perintah GO TO, GO..................................
90
Pemrograman Basis Data dengan Clipper 5.3
x
STMIK Duta Bangsa Surakarta 123. Gambar 8.36 contoh Penulisan Perintah GO TO, GO ..................................
90
124. Gambar 8.37 Bentuk Penulisan Perintah GO TOP .......................................
91
125. Gambar 8.38 Bentuk Penulisan Perintah GO BOTTOM ..............................
91
126. Gambar 8.39 Contoh Penulisan Perintah GO BOTTOM .............................
91
127. Gambar 8.40 Bentuk Penulisan Perintah DbSkip().......................................
92
128. Gambar 8.41 Contoh Penulisan Perintah DbSkip() ......................................
92
129. Gambar 8.42 Bentuk Penulisan Perintah DbGoto() ......................................
92
130. Gambar 8.43 Contoh Penulisan Perintah DbGoto()......................................
93
131. Gambar 8.44 Contoh Penulisan Perintah DbGotop()....................................
93
132. Gambar 8.45 Bentuk Penulisan Perintah DbGoBottom() .............................
93
133. Gambar 8.46 Contoh Penulisan Perintah DbGoBottom() .............................
93
134. Gambar 9.1 Bentuk Penulisan Perintah REPLACE ......................................
94
135. Gambar 9.2 Contoh Form Input Data ...........................................................
94
136. Gambar 9.3 Listing program Form Input Data .............................................
96
137. Gambar 9.4 Contoh Form Edit Data .............................................................
96
138. Gambar 9.5 Listing program Form Edit Data ...............................................
98
139. Gambar 9.6 Bentuk Penulisan Perintah DELETE ........................................
98
140. Gambar 9.7 Bentuk Penulisan Perintah RECALL ........................................
98
141. Gambar 9.8 Contoh Form Hapus Data..........................................................
96
142. Gambar 9.9 Listing program Form Hapus Data............................................
101
143. Gambar 9.10 Contoh Form Program Display ...............................................
101
144. Gambar 9.11 Listing program Form Program Display .................................
102
145. Gambar 9.12 Listing program Cetak Laporan ..............................................
104
146. Gambar 9.13 Bentuk Penulisan Fungsi Fcount() ..........................................
104
147. Gambar 9.14 Contoh Penulisan Fungsi Fcount() ..........................................
104
148. Gambar 9.15 Bentuk Penulisan Fungsi Field() .............................................
104
149. Gambar 9.16 Contoh Penulisan Fungsi Field() .............................................
104
150. Gambar 9.17 Bentuk Penulisan Fungsi RecNo() ..........................................
105
151. Gambar 9.18 Contoh Penulisan Fungsi RecNo() ..........................................
105
152. Gambar 9.19 Bentuk Penulisan Fungsi RecCount() .....................................
105
153. Gambar 9.20 Contoh Penulisan Fungsi RecCount() .....................................
105
Pemrograman Basis Data dengan Clipper 5.3
xi
STMIK Duta Bangsa Surakarta 154. Gambar 9.21 Bentuk Penulisan Fungsi LastRec() ........................................
105
155. Gambar 9.22 Contoh Penulisan Fungsi LastRec () .......................................
105
156. Gambar 9.23 Bentuk Penulisan Fungsi RecSize() ........................................
106
157. Gambar 9.24 Contoh Penulisan Fungsi RecSize () .......................................
106
158. Gambar 9.25 Bentuk Penulisan Fungsi Header()..........................................
106
159. Gambar 9.26 Contoh Penulisan Fungsi Header () ........................................
106
160. Gambar 9.27 Bentuk Penulisan Fungsi LUpdate() .......................................
106
161. Gambar 9.28 Contoh Penulisan Fungsi LUpdate () ......................................
106
162. Gambar 9.29 Bentuk Penulisan Fungsi Bof () ..............................................
106
163. Gambar 9.30 Contoh Penulisan Fungsi Bof() ...............................................
107
164. Gambar 9.31 Bentuk Penulisan Fungsi Eof () ..............................................
107
165. Gambar 9.32 Contoh Penulisan Fungsi Eof() ...............................................
107
166. Gambar 9.33 Bentuk Penulisan Fungsi FieldGet () ......................................
107
167. Gambar 9.34 Contoh Penulisan Fungsi FieldGet () ......................................
108
168. Gambar 9.35 Bentuk Penulisan Fungsi FieldPut ().......................................
108
169. Gambar 9.36 Contoh Penulisan Fungsi FieldPut () ......................................
109
170. Gambar 9.37 Contoh Program Master Data ..................................................
109
171. Gambar 9.38 Listing Program Master Data ..................................................
112
172. Gambar 10.1 Bentuk Penulisan SET FILTER TO ........................................
113
173. Gambar 10.1 Contoh Program Pencarian Data dengan SET FILTER TO ...
113
174. Gambar 10.2 Listing Program Pencarian Data Dengan SET FILTER TO ...
114
175. Gambar 10.3 Bentuk Penulisan SET RELATION TO .................................
115
176. Gambar 10.4 Bentuk Penulisan Perintah SET RELATION TO ...................
115
177. Gambar 10.5 Contoh Relasi Antar Database atau Tabel...............................
116
178. Gambar 11.1 Bentuk Penulisan File Header # INCLUDE ...........................
117
179. Gambar 11.2 Contoh Penulisan File Header # INCLUDE ...........................
117
180. Gambar 11.3 Penulisan Perintah #ifdef,#else dan #endif .............................
118
181. Gambar 11.4 Contoh Penulisan #ifdef,#else dan #endif ..............................
118
182. Gambar 11.5 Bentuk Penulisan perintah # define .........................................
119
183. Gambar 11.6 Contoh Penulisan #define ......................................................
119
184. Gambar 11.7 Bentuk Penulisan perintah # comand atau #translate ..............
120
Pemrograman Basis Data dengan Clipper 5.3
xii
STMIK Duta Bangsa Surakarta 185. Gambar 11.8 Contoh Penulisan # comand atau #translate ...........................
120
186. Gambar 11.9 Contoh Data Array ..................................................................
120
187. Gambar 11.10 Bentuk Penulisan DECALARE ............................................
121
188. Gambar 11.11 Contoh Penulisan DECALARE ............................................
121
189. Gambar 11.12 Bentuk Penulisan fungsi Aadd() ...........................................
121
190. Gambar 11.13 Contoh Penulisan fungsi Aadd() ...........................................
122
191. Gambar 11.14 Bentuk Penulisan fungsi ADel() ...........................................
123
192. Gambar 11.15 Contoh Penulisan fungsi ADel() ...........................................
123
193. Gambar 11.16 Bentuk Penulisan fungsi Asize() ...........................................
123
194. Gambar 11.17 Contoh Penulisan fungsi Asize() ...........................................
124
195. Gambar 11.18 Bentuk Penulisan fungsi ADELARRAY () ..........................
124
196. Gambar 11.19 Contoh Penulisan fungsi ADELARRAY () ..........................
124
197. Gambar 11.20 Bentuk Penulisan fungsi AIns () ...........................................
124
198. Gambar 11.21 Contoh Penulisan fungsi AIns () ...........................................
125
199. Gambar 11.22 Bentuk Penulisan fungsi AINSARRAY() .............................
125
200. Gambar 11.23 Contoh Penulisan fungsi AINSARRAY() ............................
125
201. Gambar 11.24 Bentuk Penulisan fungsi AFill()............................................
125
202. Gambar 11.25 Contoh Penulisan fungsi AFill() ...........................................
125
203. Gambar 11.26 Bentuk Penulisan fungsi array() ............................................
126
204. Gambar 11.27 Bentuk Penulisan fungsi ACopy().........................................
126
205. Gambar 11.28 Contoh Penulisan fungsi ACopy() ........................................
126
206. Gambar 11.29 Bentuk Penulisan fungsi AClone()........................................
126
207. Gambar 11.30 Contoh Penulisan fungsi AClone() .......................................
126
208. Gambar 11.31 Contoh Penulisan fungsi AScane() .......................................
127
209. Gambar 11.32 Contoh Penulisan fungsi AScane() .......................................
127
210. Gambar 11.33 Bentuk Penulisan fungsi ASort()...........................................
127
211. Gambar 11.34 Contoh Penulisan fungsi ASort() ..........................................
127
212. Gambar 11.35 Bentuk Penulisan fungsi AEval() ..........................................
128
213. Gambar 11.36 Contoh Penulisan fungsi AEval()..........................................
128
214. Gambar 11.37 Bentuk Penulisan Blok Kode ................................................
128
215. Gambar 12.1 Contoh menu Puldown ............................................................
130
Pemrograman Basis Data dengan Clipper 5.3
xiii
STMIK Duta Bangsa Surakarta 216. Gambar 12.2 Listing program contoh Menu Pull-Down ..............................
133
217. Gambar 13.1 Bentuk Penulisan Fungsi Empty() ..........................................
134
218. Gambar 13.2 Contoh Penulisan Fungsi Empty() ..........................................
135
219. Gambar 13.3 Bentuk Penulisan Fungsi IsAlpha().........................................
135
220. Gambar 13.4 Contoh Penulisan Fungsi IsAlpha() ........................................
136
221. Gambar 13.5 Bentuk Penulisan Fungsi IsDigit() ..........................................
136
222. Gambar 13.6 Contoh Penulisan Fungsi IsDigit() ..........................................
136
223. Gambar 13.7 Bentuk Penulisan Fungsi IsLower() ........................................
137
224. Gambar 13.8 Contoh Penulisan Fungsi IsLower()........................................
137
225. Gambar 13.9 Bentuk Penulisan Fungsi IsUper() ..........................................
137
226. Gambar 13.10 Contoh Penulisan Fungsi IsUper() ........................................
138
227. Gambar 13.11 Bentuk Penulisan Fungsi At() ...............................................
138
228. Gambar 13.12 Contoh Penulisan Fungsi At() ...............................................
138
229. Gambar 13.13 Bentuk Penulisan Fungsi Rat()..............................................
139
230. Gambar 13.14 Contoh Penulisan Fungsi Rat() .............................................
139
231. Gambar 13.15 Bentuk Penulisan Fungsi len() ..............................................
139
232. Gambar 13.16 Contoh Penulisan Fungsi len() ..............................................
139
233. Gambar 13.17 Bentuk Penulisan Fungsi Alltrim() .......................................
140
234. Gambar 13.18 Contoh Penulisan Fungsi Alltrim() .......................................
140
235. Gambar 13.19 Bentuk Penulisan Fungsi Ltrim() ..........................................
140
236. Gambar 13.20 Contoh Penulisan Fungsi Ltrim() ..........................................
140
237. Gambar 13.21 Contoh Penulisan Fungsi Rtrim() atau Trim() ......................
140
238. Gambar 13.22 Contoh Penulisan Fungsi Rtrim() atau Trim() ......................
141
239. Gambar 13.23 Bentuk Penulisan Fungsi PadC() ..........................................
141
240. Gambar 13.24 Contoh Penulisan Fungsi PadC() ..........................................
141
241. Gambar 13.25 Bentuk Penulisan Fungsi Padl() ............................................
141
242. Gambar 13.26 Bentuk Penulisan Fungsi PadR() ..........................................
141
243. Gambar 13.27 Contoh Penulisan Fungsi PadR() ..........................................
141
244. Gambar 13.28 Bentuk Penulisan Fungsi left() ..............................................
142
245. Gambar 13.29 Contoh Penulisan Fungsi left()..............................................
142
246. Gambar 13.30 Bentuk Penulisan Fungsi Right() ..........................................
142
Pemrograman Basis Data dengan Clipper 5.3
xiv
STMIK Duta Bangsa Surakarta 247. Gambar 13.31 Contoh Penulisan Fungsi right() ...........................................
142
248. Gambar 13.32 Bentuk Penulisan Fungsi SubStr() ........................................
142
249. Gambar 13.33 Contoh Penulisan Fungsi SubStr() ........................................
142
250. Gambar 13.34 Bentuk Penulisan Fungsi Upper() .........................................
143
251. Gambar 13.35 Contoh Penulisan Fungsi Upper() .........................................
143
252. Gambar 13.36 Bentuk Penulisan Fungsi Lower() .........................................
143
253. Gambar 13.37 Contoh Penulisan Fungsi Lower() ........................................
143
254. Gambar 13.38 Bentuk Penulisan Fungsi Stuff() ...........................................
143
255. Gambar 13.39 Contoh Penulisan Fungsi Stuff() ...........................................
143
256. Gambar 13.40 Contoh operator data string ...................................................
143
257. Gambar 13.41 Bentuk Penulisan Fungsi STR() ............................................
144
258. Gambar 13.42 Contoh Penulisan Fungsi Str() ..............................................
144
259. Gambar 13.43 Contoh Penulisan Fungsi Val() .............................................
144
260. Gambar 13.44 Bentuk Penulisan Fungsi Val() .............................................
144
261. Gambar 14.1 Contoh Penulisan Operator Matematik() ................................
145
262. Gambar 14.2 Bentuk Penulisan Operator Abs() ..........................................
146
263. Gambar 14.3 Contoh Penulisan Operator Abs() ...........................................
146
264. Gambar 14.4 Bentuk Penulisan Operator Int() ............................................
146
265. Gambar 14.5 Contoh Penulisan Operator Int() .............................................
146
266. Gambar 14.6 Bentuk Penulisan Fungsi Max() ..............................................
147
267. Gambar 14.7 Contoh Penulisan Fungsi Max()..............................................
147
268. Gambar 14.8 Bentuk Penulisan Fungsi Min() ..............................................
146
269. Gambar 14.9 Contoh Penulisan Fungsi Min() ..............................................
146
270. Gambar 14.10 Bentuk Penulisan Fungsi Round() ........................................
147
271. Gambar 14.11 Bentuk Penulisan Fungsi Sqtr() ............................................
148
272. Gambar 14.12 Contoh Penulisan Fungsi Sqtr() ............................................
148
273. Gambar 15.1 Contoh Operasi Tanggal..........................................................
149
274. Gambar 15.2 Contoh Mendevinisikan Variabel Tanggal .............................
149
275. Gambar 15.3 Bentuk Penulisan Format Tanggal ..........................................
150
276. Gambar 15.4 Bentuk Penulisan Format Tanggal ..........................................
150
277. Gambar 15.5 Contoh Penulisan Format Tanggal ..........................................
150
Pemrograman Basis Data dengan Clipper 5.3
xv
STMIK Duta Bangsa Surakarta 278. Gambar 15.6 Contoh Penulisan Format Tanggal dengan Set Century .........
151
279. Gambar 15.7 Bentuk Penulisan Fungsi Date()..............................................
151
280. Gambar 15.8 Contoh Penulisan Fungsi Date() .............................................
151
281. Gambar 15.9 Bentuk Penulisan Fungsi CDow() ...........................................
151
282. Gambar 15.10 Contoh Penulisan Fungsi CDow() ........................................
151
283. Gambar 15.11 Bentuk Penulisan Fungsi CMount() ......................................
152
284. Gambar 15.12 Contoh Penulisan Fungsi CDow() ........................................
152
285. Gambar 15.13 Bentuk Penulisan Fungsi Dow() ...........................................
152
286. Gambar 15.14 Contoh Penulisan Fungsi Dow() ...........................................
152
287. Gambar 15.15 Contoh Penulisan Fungsi Day() ............................................
152
288. Gambar 15.16 Contoh Penulisan Fungsi Day() ............................................
152
289. Gambar 15.17 Bentuk Penulisan Fungsi Mount() ........................................
152
290. Gambar 15.18 Contoh Penulisan Fungsi Mount() ........................................
152
291. Gambar 15.19 Bentuk Penulisan Fungsi Year() ...........................................
153
292. Gambar 15.20 Contoh Penulisan Fungsi Year () ..........................................
153
293. Gambar 15.21 Bentuk Penulisan Fungsi Dtoc() ...........................................
153
294. Gambar 15.22 Contoh Penulisan Fungsi Dtoc () ..........................................
153
295. Gambar 15.23 Bentuk Penulisan Fungsi Ctod() ...........................................
153
296. Gambar 15.24 Contoh Penulisan Fungsi Ctod() ...........................................
153
297. Gambar 15.25 Contoh Penulisan Fungsi Time() ..........................................
154
298. Gambar 15.26 Bentuk Penulisan Fungsi Second() .......................................
154
299. Gambar 16.1 Contoh Pembacaan Field Memo .............................................
155
300. Gambar 16.2 Contoh Menulisa data ke dalam field memo ...........................
155
301. Gambar 16.3 Bentuk Penulisan Fungsi MemoRead() ..................................
156
302. Gambar 16.4 Contoh Penulisan Fungsi MemoRead() ..................................
156
303. Gambar 16.5 Bentuk Penulisan Fungsi MemoEdit() ....................................
156
304. Gambar 16.6 Contoh Penulisan Fungsi MemoEdit() ...................................
156
305. Gambar 16.7 Bentuk Penulisan Fungsi MemoWrite() ..................................
156
306. Gambar 16.8 Contoh Bentuk Penulisan Fungsi MemoWrite() .....................
156
307. Gambar 17.1 deklarasi variable memory ......................................................
157
308. Gambar 17.2 bentuk penulisanPerintah SAVE TO ......................................
157
Pemrograman Basis Data dengan Clipper 5.3
xvi
STMIK Duta Bangsa Surakarta 309. Gambar 17.3 Contoh Penulisan Perintah SAVE TO ....................................
157
310. Gambar 17.4 Bentuk penulisanPerintah RESTORE FROM() ......................
158
311. Gambar 17.5 Contoh Penulisan Perintah RESTORE FROM () ...................
158
312. Gambar 17.6 penulisanPerintah Menghapus variabel memory () .................
158
Pemrograman Basis Data dengan Clipper 5.3
xvii
STMIK Duta Bangsa Surakarta BAB I PENDAHULUAN MENGENAL APAKAH ITU CLIPPER ? Tujuan Instruksional Umum : Mahasiswa dapat memahami konsep dasar bahasa pemrograman Clipper Compiler 5.3. Tujuan Instruksional Khusus : 1. Mahasiswa dapat mengetahui Bahasa Pemrograman Clipper 5.3, dapat mengetahui apa saja yang harus disiapkan dalam bahasa pemrograman Clipper 5.3. 2. Mahasiswa dapat membuat file program clipper. 3. Mahasiswa mengetahui cara compilasi dan linking file program clipper.
A. Apakah Clipper itu? Merupakan sebuah bahasa pemprograman untuk menejemen database/ data base Clipper dapat digolongkan bahasa pemprograman database.Jika anda mengenal program-program paket pengolah database (DBMS) seperti dBase II Plus, FoxBase, FoxPro dan lain-lain, adalah bahasa pemrograman pengolah database yang menggunakan Interpreter sebagai penerjemah saat kita menjalankan program, sehingga jika anda akan menjalankan suatu program aplikasi tertentu yang dibuat, anda harus mengaktifkan terlebih dahulu program paket tersebut dan dengan perintah tertentu, misalkan DO, baru akan dijalankan program aplikasi tersebut. Berbeda dengan Clipper Compiler karena menggunakan penerjemah Compiler, maka program yang dibuat harus dibentuk ke dalam file Executable (.EXE) untuk bisa dijalankan, sehingga tidak perlu kita masuk ke program Clipper untuk menjalankannya, tetapi dari Dos Prompt bisa kita jalankan dengan memanggil nama file .exe yang dihasilkan. B. Apakah yang harus disiapkan ? Untuk mengoperasikan program Clipper Compiler ada beberapa hal yang perlu diperhatikan terlebih dahulu, misalkan program yang anda buat atau anda tulis harus dalam format teks atau ascii. Nama file yang digunakan berekstension .PRG. Program dapat dibuat dengan editor apa saja misal SK (SideKick) atau dengan editor pada Dos, atau dengan menggunakan program bantu bawaan dari program clipper Compiler yaitu PE (Program Editor),
Pemrograman Basis Data dengan Clipper 5.3
xviii
STMIK Duta Bangsa Surakarta dengan cara memanggil file PE.EXE yang bentuk umum penulisannya sebagai berikut : C:\>PE coba.prg Atau C:\>edit coba.prg Gambar 1.1 Program Editor Clipper File Config. Sys Pada pemprograman data base sering terjadi membuka lebih dari satu file sekaligus yang kadang meliputi file data base dan indexnya. Maka diperlukan file config.sysuntuk mengatur configurasi buffer komputer yang dipakai. Untuk menggunakan Clipper maka confog.sys harus berisi perintah derektif.
Files = n
N=berkisar antara 8 s/d 255, jika akan dibuka 30 file sekaligus maka n diisi dengan 35, 30 untuk file data base dan 5 untuk digunakan dos.
File Autotexec.bat Digunakan untuk menentukan variabel enviromen yang digunakan Clipper, guna menentukan lokasi file LIB, file Include. File Lib merupakan file librari yang digunakan untuk proses compilasi. File Include berisi file header yang diperlukan oleh perintah yang digunakan dalam pemprograman. Didalam file Autotexec. Bat dapat diberi perintah :
SET PIPEHANDLE=0 SET OBJ=C:\CLIP53\OBJ SET LIB=C:\CLIP53\LIB SET INCLUDE=C:\CLIP53\INCLUDE SET PATH=C:\CLIP53\BIN Pemrograman Basis Data dengan Clipper 5.3
xix
STMIK Duta Bangsa Surakarta Gambar 1.2 file Autoexect.Bat Perintah set path diatas membuat komputer mencuri letak file clipper, file clpper ditunjukkan berada directori c:\clip5\bin, juga dapat diberikan perintah untuk menentukan jumlah file yan dipanggil.
SET INCLUDE Berfungsi untuk mengatur konfigurasi pencarian file-file Header.
SET LIB Berfungsi mengatur konfigurasi pencarian file-file library.
SET PATH Berfungsi mengatur konfigurasi pencarian file-file yang dibutuhkan, termasuk file-file system utama atau file Executable yang dibutuhkan oleh program clipper compiler serta file-file clipper Guide.
SET OBJ Berfungsi untuk konfigurasi pencarian file-file objek yang berisikan prosedur dan fungsi.
File-file BIN Yaitu file-file system utama berupa file executable (.exe) yang dipakai dalam proses kompilasi dan link program. File-file ini terletak di C:\CLIP53\BIN File-file LIB atau Library Yaitu file-file system yang dipakai sebagai libaray atau pustaka pada saat proses Link dari program yang menggunakan prosedur atau fungsi tertentu, dan fungsi itu diterjemahkan berdasarkan library yang ditunjuk saat diberikan perintah kompilasi. File-file ini terletak di C:\CLIP53\LIB File-file HEADER yaitu file-file system yang berfungsi untuk menyimpan konstanta simbolik yang akan diaktifkan oleh pengarah compiler #include sesuai dengan masing-masing kelompok konstanta simbolik yang disimpan dalam file header. File-file ini terletak di C:\CLIP53\INCLUDE Pemrograman Basis Data dengan Clipper 5.3
xx
STMIK Duta Bangsa Surakarta Gambar 1.3 Letak File Header File-file PLL (PreLink Library) Yaitu file-file system libarary untuk PreLink, yang berfungsi untuk menyimpan library yang sudah dikompilasi atau kode-kode program yang siap dipakai, sehingga saat proses Link tidak membutuhkan file system Library dan dipakai pada saat melakukan eksekusi program. File-file OBJ Yaitu file-file object bawaan clipper compiler yang berisikan prosedurproseduer atau fungsi-fungsi yang pada suatu saat digunakan dapat anda pakai sebagai library dengan cara mengubah file tersebut menjadi file library. File-file ini terletak di C:\CLIP53\OBJ File-file Clipper Guide Yaitu file-file bawaan clipper compiler yang berisikan Guide atau keterangan semua elemen yang dapat dipakai dalam program Clipper Compiler. File-file ini terletak di C:\CLIP53\NG
C. Bagaiman membuat program dengan Clipper ? Menulis listing program Intruksi program dapat ditulis dengan editor apa saja asal berbasis text (ASCII) seperti ek, word start non dokumen, edit dari dos. Hasil penulisan disimpan denngan menggunakan extention PRG. Compilasi Intruksi program yang telah ditulis selanjutnya dicompilasi sehingga diproses file yang berjenis (bertipe) OBJ atau denghan kata lain proses compilasi akan membuat file obyak. Perintah yang dipakai : Clipper
<enter> Contoh : C:\clipper coba.prg Pemrograman Basis Data dengan Clipper 5.3
xxi
STMIK Duta Bangsa Surakarta Gambar 1.4 Proses Compilasi
Proses Linking Proses ini digunakan untuk mengubah file obj menjadi file exe, sehingga dapat dijankan langsungn dari dos. Rtlink fi / ppl:Base52 (untuk clpper 52) Rtlink fi
Proses kompilasi dengan menhasilkan file OBJ Perintah : C:\clipper coba.prg Proses link yang akan menghasilkan file Executable (.EXE)
Proses Linking dengan menhghasilkan file EXE Perintah C:\blinker fi coba
Gambar 1.6 Langkah proses pembuatan program clipper File Program (.PRG) Adalah file program yang anda buat dengan aplikasi tertentu dan ditulis dengan modus teks atau ascii serta dapat menggunakan semua editor teks, misalkan SK (SideKick), PE (Program Editor) dan lain-lain. File Object (.OBJ) Adalah file object hasil kompilasi atau hasil terjemahan file program dalam bahasa mesin setelah diberikan perintah kompilasi. Pemrograman Basis Data dengan Clipper 5.3
xxii
STMIK Duta Bangsa Surakarta File Executable (.EXE) Adalah file yang sudah jadi dan siap dijalankan hasil dari proses link terhadap file object.
BAB II STRUKTUR DAN FORMAT PROGRAM CLIPPER COMPILER Tujuan Instruksional Umum : Mahasiswa dapat memahami Struktur Program dan Format Program Clipper Compiler 5.3 Tujuan Instruksional Khusus : 1. Mahasiswa mengetahui format program Bahasa Pemrograman Clipper 5.3. 2. Mahasiswa mengetahui dan memahami fungsi dan prosedure. 3. Mahasiswa dapat membuat file program clipper dengan fungsi dan procedure.
A. Format Program Clipper Berikut ini adalah format program clipper compiler secara lengkap yang dapat kita pakai dalam pembuatan program clipper, yaitu sebagai berikut : //Perintah-perintah compiler //Jika menggunakan kompilasi bersyarat [#ifdef <simbol>] //Menggunakan file header (bisa lebih dari satu file header) [#include ””...] //Mendefinisikan makro kompiler (bisa lebih dari satu) [#define
makro
compiler.([<parameter
formal>
[,...]])<ekspresi>...] //Mendefinisikan perintah (bisa lebih dari satu) [#command [<parameter formal> [,...]] =>; (<parameter formal>[,...]]) ...] //Menggunakan file header (bisa lebih dari satu file header ) [#include ”” //Mendefinisikan konstanta simbolik (bisa lebih dari satu) [#define ...] //Mendefinisikan makro kompiler (bisa lebih dari satu) [#define
makro
compiler>([<parameter
formal>{,...]])
<ekspresi> ...] //Mendefinisikan perintah (bisa lebih dari satu) [#command [<parameter formal>[,...])=>;
Pemrograman Basis Data dengan Clipper 5.3
xxiii
STMIK Duta Bangsa Surakarta (<parameter formal>[,...]]) ...] [#endif] //deklarasi variabel-variabel eksternal [[:=] [,...] ...] //Deklarasi fungsi atau prosedur [[STATIC]
FUNCTION/PROCEDURE
fungsi/prosedur>
([<parameter formal>[,...]]) [PARAMETERS [<parameter formal> [,...]]] //Dekalarasi variabel interbal [ [:=] [,...] ...] //Pernyataan-pernyataan
yang
digunakan
dalam
fungsi
atau
prosedure [ ...] //Memberikan ekspresi [<ekspresi> ...] //Menggunakan perintah-perintah clipper [ [<parameter perintah> [,...]] ...] //Menggunakan fungsi/prosedur [
fungsi/prosedur>
([<parameter
fungsi/prosedur>
[,...]]) ...] [RETURN []] ...]
Gambar 2.1 Format Program Clipper Dari format program di atas, maka dapat kita ambil kesimpulan bahwa program clipper yang kita buat mempunyai tiga kategori atau bagian utama program yaitu : Pemrograman Basis Data dengan Clipper 5.3
xxiv
STMIK Duta Bangsa Surakarta 1. Bagian Instruksi Kompiler Yaitu bagian yang penulisan-penulisannya diawali dengan tanda atau karakter #, yang mempunyai maksud mendefinisikan pengarah compiler.
2. Bagian deklarasi variabel eksternal Yaitu bagian yang berfungsi untuk mendefinisikan variabel eksternal atau yang dapat dipakai oleh seluruh prosedure atau fungsi yang didefinisikan. 3. Bagian utama program Yaitu bagian yang merupakan tubuh program sesuai dengan maksud dan logika pemrograman dan berisikan blok-blok program yang terangkum dalam masing-masing fungsi atau prosedure.
B. Fungsi dan Prosedur Secara umum fungsi dan prosedur adalah sama, yaitu suatu subrutine atau kelompok-kelompok program yang berdiri sendiri dan memiliki tugastugas khusus, misalkan mencetak teks di tengah, memberikan konfirmasi, menampilkan pesan kesalahan dan lain-lain, seperti kalu dalam program foxbase dan dbase adalah prosedur yang digunakan untuk program utama. Perbedaan antar prosedur dan fungsi adalah hanya pada niali balik yang dihasilkan, jika fungsi menghasilkan nilai balik sedangkan prosedure tidak menghasilkan nilai balik atau nil (kosong). Contoh : FUNCTION Jumlah(nNilai1,nNilai2) LOCAL nJumlah nJumlah=nNilai1 + nNilai2 RETURN nJumlah PROCEDURE Jumlah(nNilai1,nNilai2) LOCAL nJumlah nJumlah=nNilai1 + nNilai2 @10,10 SAY nJumlah PICTURE ‟999,9999‟ RETURN
Gambar 2.2 Contoh 1 Function dan Procedure Dari dua program di atas dapat diterangkan bahwa, fungsi Jumlah akan menghasilkan nilai balik nJumlah yang merupakan hasil penjumlahan nilaiPemrograman Basis Data dengan Clipper 5.3
xxv
STMIK Duta Bangsa Surakarta nilai data dari variabel nNilai1 dan nNilai2, sedangkan prosedur Jumlah tidak dihasilkan nilai balik, tetapi melakukan proses penjumlahan nilai-nilai data dari variabel nNilai1 dan nNilai2 sekaligus menampilkannya. Nilai balik yang dihasilkan oleh fungsi dapat disimpan ke dalam suatu variabel memory dengan cara seperti contoh berikut ini : PROCEDURE Main() LOCAL nJml nJml=Jumlah(10,20) @10,10 SAY nJml PICTURE ‟999,999‟ RETURN FUNCTION Jumlah(nNilai1,nNilai2) LOCAL nJumalh nJumlah=nNilai1 + nNilai2 RETURN nJumlah
Gambar 2.3 Contoh 2 Function dan Procedure Fungsi dan prosedur dalam program clipper secara umum dibagi menjadi dua yaitu : Fungsi atau prosedur standar Fungsi standar yang disediakan oleh program clipper dan anda tinggal menggunakannya, misalkan fungsi CHR(), LEN(), ABS() danlain-lain. Fungsi atau prosedur user defined Fungsi atau prosedur yang dapat kita ciptakan sendiri sesuai dengan kebutuhan yang kita inginkan. 1. Apakah Prosedure itu ? Prosedure adalah suatu kumpulan perintah yang menjalankan /mengerjakan suatu pekerjaan tertentu. Hal ini akan memperpendek penulisan program karena jika ada pekerjaan yang sama berulang kali, pekerjaan tersebut dapat ditulis dalam satu prosedure sehingga tinggal memanggil nama prosedure tiap akan mengerjakan pekerjaan. Dalam prosedure bisa terjadi ada pemakaian parameter saat pemanggilan. Ada dua jenis parameter dalam prosedure. 1. Para meter yang bersifat reference 2. Para meter yang bersifat by value Secara defauld dalam prosedure parameter bersifat by reference. Reference yaitu nilai yang dikirimkan bisa dirubah. Pemrograman Basis Data dengan Clipper 5.3
xxvi
STMIK Duta Bangsa Surakarta
a. Membuat Prosedure Aturan penulisan: Procedure Parameter .................................... Blok intruksi ............................... .............................. Return Keterangan Nama_pro : nama prosedure Daf_para : daftar parameter jika ada Gambar 2.4 Aturan Penulisan Procedure b. Bagaimana Penggunaan atau Pemanggilan Prosedure Pemanggilan prosedure dilakukan dengan cara : Prosedure tak berparameter Do Prosedure dengan parameter Do with Gambar 2.5 Pemanggilan Procedure Contoh : *program contoh.prg a=5 b=10 c=0 do hitung with a, b, c ?c //50 Retu *prosedure hitung Procedure hitung Parameter pa, pb, pc Pemrograman Basis Data dengan Clipper 5.3
xxvii
STMIK Duta Bangsa Surakarta Pc=pa*pb Retu Gambar 2.6 Contoh 1 Penggunaan Prosedur Dari contoh diatas begitu nama procedure dipanggil deprogram utama maka nilai A akan dimasukkan ke pc. Karena bersifat refernce maka hasil perkalian pa*pb yang disimpan di pc akan berubah isi dari variabel c. Contoh lagi: *program contoh procedure a=5 b=10 ?a //5 ?b //10 Do ubah with a, b ?a //20 ?b //15 Retu *procedure ubah Proc ubah Para c,d c:=c+15 d:=d+5 Retu Gambar 2.7 Contoh 2 Penggunaan Prosedur Parameter By Value secara defauld hanya terjadi pada pemanggilan fungsi, yaitu prosedure pengiriman nilai tidak bias dirubah. Contoh lagi : *contoh program untuk membuat kotak Do buat_kotak with 5,10,20,70,”b”/w” Retu *procedure untuk buat kotaknya Proc buat_kotak Parameters t,l,b,r,Clr Local v,h,I V=savescreen(t+l,r+l,b+l,r+2) H= savescreen(b+l,l+2,b+l,r+2) For 1=2 to len(h) step 2 H=stuff(h,I,l,chr(7)) Next Pemrograman Basis Data dengan Clipper 5.3
xxviii
STMIK Duta Bangsa Surakarta For 1=2 to len(v) step 2 Next Set color to (Clr) @ t,l clear to b,r @ t,l to b,r Restscreen(1+l,r+l,b+l,r+2,v) Restscreen(b+l,l+2,b+l,r+2,h) Return Gambar 2.8 Contoh 3 Penggunaan Prosedur 2. Apakah Fungsi ? Hampir sama dengan prosedure fungsi merupakan kumpulan intruksi yang dapat menghasilkan suatu keluaran. Membuat fungsi : Function Parameter ................... ................... Retu Gambar 2.9 Aturan Penulisan Fungsi Pemanggilan Fungsi Pemanggilan fungsi dilakukan dengan menyertakan dengan perintah lain. Contoh fungsi : A=5 B=10 ? hitung (A,B) Retu Functoin hitung Para A,B D=0 D=a+b Retu d Contoh fungsi untuk menguji apakah printer dalam kondisi siap: Function cekprinter() If Isprinter() Retu (“printer siap”) Else Pemrograman Basis Data dengan Clipper 5.3
xxix
STMIK Duta Bangsa Surakarta Retu(“printer belum siap”) Endif Isprinter merupakan fungsi bawaan clipper untuk mengecek printer apakah sudah siap. Gambar 2.10 Contoh Penggunaan Fungsi
TUGAS ! 1. Tulislah program berikut : *program test fungsi Center (“ini contoh”,12,1,80,‟r+/w) Return Function center() Para pesan, baris,kol1,kol2,wrn Privat war1 War1=setcolor() Set color to&wrn @ baris,kol1+int(((kol2-kol1)-len(pesan))/2) say pesan Set color to&wr1 return 2. Buatlah procedure untuk menghitungsuatub factorial sebuah bilangan 3. Buatlah sebuah fungsi bila ada masukkan sebuah angka akan keluar nama hari, dengan ketentuan : 1 keluar Minggu 2 keluar Senin 3 keluar Selasa 4 keluar Rabu 5 keluar Sabtu 6 keluar Minggu 4. Buatlah procedure untuk menentukan nama hari jika masukkan berupa angka. Ketentuan sebagai berikyut : Pemrograman Basis Data dengan Clipper 5.3
xxx
STMIK Duta Bangsa Surakarta 1 hari Senin 2 hari Selasa 3 hari Rabu 4 hari Kamis 5 hari Jum‟at 6 hari Sabtu 7 hari Minggu
BAB III DATA DAN VARIABEL Tujuan Instruksional Umum : Mahasiswa dapat memahami Tipe Data dan Variable dalam bahasa pemrograman Clipper. Tujuan Instruksional Khusus : 1. Mahasiswa mengetahui jenis tipe data clipper. 2. Mahasiswa dapat menerapkan tipe data clipper ke dalam bahasa pemrograman clipper. 3. Mahasiswa mengetahui variabel. 4. Mahasiswa dapat menerapkan variabel ke dalam bahasa pemrograman clipper.
Tujuan utama dari suatu pengolahan atau proses tertentu baik dengan atau tanpa komputer adalah informasi. Dalam konsep sistem informasi, data merupakan unsur penting karena merupakan dasar dihasilkannya informasi. Oleh karena itu dengan menggunakan komputer kepastian data yang akan diolah menjadi informasi, merupakan prioritas utama dalam suatu proses pengolahan. A. DATA Dalam pemrograman program clipper data dikelompokkan ke dalam dua tipe data, dan masing-masing tipe terdiri atasa berbagai jenis data seperti di bawah ini : Tipe data yangn dimiliki clipper terdiri atas : Tipe Sederhana -
Character/String Merupakan data yang tidak dapat dilakkukan proses matematik, misalnya nama, alamat dll. Jenis data ini dapat berisikan semua jenis karakter atau string (abjad, angka dan karakter khusus) yang dituliskan di antara tanda atau pembatas data character atau string yaitu :
Pemrograman Basis Data dengan Clipper 5.3
xxxi
STMIK Duta Bangsa Surakarta Tanda kutip tunggal („ „)
Tanda kutip ganda (“ “)
Tanda kurung buka, kurung tutup kotak atau siku ([ ])
Contoh : 1. 2. 3. 4. 5. 6.
[STMIK”DUTA BANGSA”] atau „STMIK”DUTA BANGSA”‟ cJudul=”STMIK DUTA BANGSA” cNama=‟STMIK DUTA BANGSA” cNama=[STMIK DUTA BANGSA] cJumlah=”250.000” cJumlah=[250.000]
Gambar 3.1 Contoh Tipe Data String -
Date/Tanggal Jenis data tanggal atau date ini digunakan untuk menyatakan suatu penanggalan dan disediakan untuk memudahkan dalam memproses atau memanipulasi data tanggal.
Tipe data date digunakan bila data berupa tanggal format tanggal yang terdapat di Clipper adalah : Tabel 3.1 Format Tipe Data Tanggal Format American Ansi British French German Italian Japanese Usa
Bentuk keluaran Mm/dd/yy yy.mm.dd Dd/mm/yy Dd/mm/yy dd.mm.yy dd-mm-yy Yy/mm/dd mm-dd-yy
Untuk mementukan format tanggal perintah yang digunakan : Set date Contoh: Set date american Gambar 3.2 Perintah Penulisan Tipe Data Tanggal Clipper juga menyediakan perintah agar programer menentukan sendiri format tanggalnya tanpa menggunakan tipe dari tabel di atas : Set date format to<string> Pemrograman Basis Data dengan Clipper 5.3
xxxii
STMIK Duta Bangsa Surakarta Contoh: Set date format to”dd-mm-yy” Gambar 3.3 Perintah Penulisan Tipe Data Tanggal -
Logical Tipe data yang memiliki dua kondisi atau dua kemungkinan yaitu benar atu salah. Benar dinyatakan denngan
.T., sedangnkan salah
dinyatakan dengan .F.
-
Memo Data memo merupakan data yang terdiri atas string dengnan ukukran besar, tiap record akan tersimpan dengan panjang yang berbeda-beda, data ini akan tersimpan dengan file berjenis .DBT
-
Numeric Jenis data hanya dapat berisikan karakter angka 0 sampai dengan 9, titik (.) untuk pembatas desimal dan karakter minus (-) sebagai tanda bilangan negatif. Selain menggunakan karakter-karakter itu, maka data numerik dianggal didak sah atau salah. Contoh : cJumlah=240000.00
Tipe Kompleks -
Array Merupakan satu atau lebih variabel yang memiliki nama yangh sama, untuk membedakannya berdasarkan nomor elemenya. Sebelum digunakan array harus dideklarasikan, cara mendeklarasikan: Declara nama_array[jumlah elemen] Local nama_array[jumlah elemen] Privat nama_array[jumlah elemen] Public nama_array[jumlah elemen] Static nama_array[jumlah elemen]
Pemrograman Basis Data dengan Clipper 5.3
xxxiii
STMIK Duta Bangsa Surakarta Contoh pemakaian : Local paket[3] Paket[1]=”dbase III” Paket[2]=”turbo c” Paket[3]=”pascal” ? paket[2]//turbo c
Gambar 3.4 Deklarasi Penulisan Array
Bila array dipakai tanpa dideklarasikan terlebih dahulu dengan cara diapit diantara dua tanda {}. Contoh : Paket={“DbaseII”,”Turbo C”,”Pascal”} Array dapat pula mengandung elemen yang berlainan, contoh : Data={“Dbase”,”Pascal”,50,80} Gambar 3.5 Contoh Tipe Data Array
-
Code Bock/Blok Kode Dta yang berisi kode yang tercompilasi. Bentuknya seperti berikut : { } Gambar 3.6 Penulisan Code Block Keterangan : adalah daftar argumen atau parameter yang akan dilewatkan dan dipakai oleh ekspresi dalam data kode blok adalah merupakan ekspresi data blok kode yang dieksekusi atau dievaluasi.
-
Nil Data yang dipakai untuk menyatakan suatu sebutan tidak ada issinya, biasanya dipaki saat disebutkan suatu argumen tidak ada isinya. Local pelajaran[4]
Pemrograman Basis Data dengan Clipper 5.3
xxxiv
STMIK Duta Bangsa Surakarta /pelajaran[1] //NIM Gambar 3.7 Contoh Tipe Data NIL -
Object Adalah suatu konsep baru penggunaan data dan terdapat dalam bahasabahasa pemrograman canggih seperti Turbo C++, Turbo Pascal Release 6.0 atau yang lebih baru serta sering digunakan dalam konsep pemrograman bahasa-bahasa pemrograman under windows. Object adalah jenis data yang secara otomatis mengandung data atau nilai instan dan fungsi yang telah disusun sedemikian rupa oleh program clipper.
B. VARIABEL Variabel merupakan suatu sebutan yang dipakai untuk menyimpan data. Syarat variabel : -
Panjang maksimum 10 karakter
-
Karakter pertama tidak boleh angka
-
Tidak boleh mengandung spasi, tanda baca
-
Tidak boleh kata / atatement clipper
-
Variabel sebaiknya mencerminkan datanya
Contoh : Nilai No_mhs Tgl_lahir
Contoh salah : 2nilai No mhs Set Gambar 3.8 Contoh Penulisan Variabel Macam-macam variabel : Variabel Public
Pemrograman Basis Data dengan Clipper 5.3
xxxv
STMIK Duta Bangsa Surakarta Merupakan variable yang akan dikenali di seluruh tubuh program, biasanya didefinisikan dengan kata “public”. Variabel private Variabel yang akan dakenali oleh procedure / fungsi dimana variabel tersebut didefinisikan dan juga procedure atau fungsi yang terletak di level bawahnya (yang dipanggil). Didefinisikan dengan kata “Private” Variabel Local Variabel yang akan dikenali ditempat procedure atau fungsi dimana ia didefinisikan. Biasanya didefinisikan dengan kata “Local”
Variabel Static Variabel yang akan diinisialkan sekali saja. Sifat variabel ini sama dengan variabel local yaitu hanya dikenali di tempat ia didefinisikan. Contoh satu : *Program Bapak A=15 B=20 Do putra ? A // 15 ? B // 20 ? C // 35 Gambar 3.9 Contoh 1 Variabel Static Darin dua program daitas variable A dan B akan dikenal oleh program putra karena bersifat Public, sedang C hanya dikenal oleh program putra karena bersifat local. Contoh dua : *program bapak.prg Public c A=3 Pemrograman Basis Data dengan Clipper 5.3
xxxvi
STMIK Duta Bangsa Surakarta B=4 Do anak ? a // 3 ? b // 4 ? c // 12 *program anak.prg C;=a*b ? a // 3 ? b // 4 ? c // 12 Contoh tiga : *program bapak.prg Public c A:=5 B:=10 Do putra ? A // 15 ? B // 10 ? c // .f. *program putraku.prg Private c c;=a*b do turunan ? a //5 ? b //10 ? c //50 retu *program turunan.prg ? a // 5 ? b // 10 ? c // 50 Pemrograman Basis Data dengan Clipper 5.3
xxxvii
STMIK Duta Bangsa Surakarta Gambar 3.10 Contoh 2 Variabel Static
Variabel C akan menghasillkan angka pada putra.prg dan turunan.prg Variabel C pada bapak tidak terpengaruh karena Variabel C pada putra bersifat Private.
BAB IV OPERATOR DAN EKSPRESI Tujuan Instruksional Umum : Mahasiswa dapat mengenal dan memahami operator dan ekspresi dalam Clipper Compiler 5.3. Tujuan Instruksional Khusus : 1. Mahasiswa mengetahui jenis operator dalam bahasa permrograman clipper. 2. Mahasiswa dapat menerapkan operator dalam bahasa pemrograman clipper. 3. Mahasiswa dapat mengetahui jenis ekspresi dalam bahasa pemrograman clipper. 4. Mahasiswa dapat menerapakan ekspresi dalam bahasa pemrograman clipper.
Dalam pemrograman dengan clipper akan selalu kita gunakan apa yang disebut Ekspresi. Epkspresi sendiri adalah suatu rumusan atau formula yang dapat dievaluasi dan menghasilkan suatu nilai baru. Di dalam Ekspresi selalu menggunakan operator, sesuai dengan jenis data yang digunakan, sehingga operator sangat erat kaitannyadengan ekspresi.
A. Ekspresi dalam Clipper Secara umum ekspresi dalam pemrograman clipper dibagi menjadi 6 (enam) jenis ekspresi, berikut operator yang dapat digunakan yaitu : Ekspresi Pemuatan Nilai Pemrograman Basis Data dengan Clipper 5.3
xxxviii
STMIK Duta Bangsa Surakarta Ekspresi Pemuatan Nilai ini selalu digunakan, jika anda akan memuat atau memasukkan nilai atau harga wal, hasil evaluasi atau proses suatu ekspresi, nilai balik suatu fungsi atau nilai variabel lain, ke dalam variabel yang tertentu yang dimaksud. Bentuk penulisan ekspresi pemuatan nilai adalah : = <ekspresi> Atau := <ekspresi> Gambar 4.1 Bentuk Penulisan ekspresi pemuatan Ekspresi Matematika Ekspresi matematik adalah rumusan atau pernyataan matematik yang dapat dievaluasi untuk menghasilkan suatu nilai baru. Operator matematik digunakan untuk proses matematika. Berikut Operator matematik : Tabel 4.1 Operator Matematika Operator Guna **,^ Perpangkat * Perkalian / Pembagian % Modulus/Sisa hasil bagi + Penambahan atau Penjumlahan + Sambung Pengurangan Sambung ++ Peningkatan atau increment -Penurunan atau decrement ^= Perpangkatan terhadap variabel yang sama *= Perkalian terhadap variabel yang sama /= Pembagian terhadapvariabel yang sama %= Sisa bagi terhadap variabel yang sama += Penjumlahan terhadap variabel yang sama -= Pengranagan terhadap variabel yang sama Ketarangan : N
: Numeric
C
: Carakter
D
: Date
Pemrograman Basis Data dengan Clipper 5.3
Jenis data N N N N ND C ND C ND ND N N N N N N
xxxix
STMIK Duta Bangsa Surakarta Ekspresi String Ekspresi string adalah rumusan atau pernyataan data string yang dapat dievaluasi untuk menghasilkan suatu nilai string baru. Operator yang digunakan hanya dua yaitu : Operator + Penggunaannya untuk penggabungan data string termasuk spasi. Operator – Penggunaannya untuk penggabungan data string tanpa spasi Contoh : ? ”Program ” + ”Clipper”
Hasil //”Program Clipper”
? ”Program ” – ”Clipper”
Hasil //”ProgramClipper”
Gambar 4.2 Contoh Ekspresi String Ekspresi Relasi Ekspresi relasi adalah ekspresi yang membandingkan dua buah ekspresi atau pernyataan dan akan menghasilkan nilai .T. (TRUE), jika hasil perbandingan benar dan akan menghasilkan nilai .F. (FALSE), jika perbandingan salah.Ekspresi ini biasa dipakai untuk mengkondisikan suatu data. Operator-operator yang digunakan mempunyai jenjang atau prioritas sama dan selalu dievaluasi dari kiri ke kanan, yang antara lain terdiri dari : Tabel 4.2 Operator-Operator Relasi Operator <> / = # < <= = == > >= $ Ekspresi Assigmen
Fungsi Tidak sama Lebih kecil Lebih kecil sama dengan Sama dengan Sama persis Lebih besar Lebih besar sama dengan Ada di dalam
Data C D L N M NIL ADLNM CDLNM C D L M N NIL C D L N M A O NOL CDLNM CDLNM CM
Operator untuk memberi nilai / data pada suatu sebutan atau variabel. Tabel 4.3 Operator Assigmen Operator = := =
Guna Simple assigment In-line assigment Compound assigment
Pemrograman Basis Data dengan Clipper 5.3
Data Semua tipe data Semua tipe data C, D, N xl
STMIK Duta Bangsa Surakarta Contoh: A = 5 // A diberi nilai 5 B :=10 // B diberi nilai 10 Gambar 4.3 Contoh Operator Assigmen Compound
assigment
untuk
operasi
matematika
yang
hasilnya
dimasukkan ke variable. Tabel 4.4 Compound Assigmen Operasi Matematika Operasi X+= X-= X*=Y X/=Y X%=Y X^=Y Ekspresi Logika Ekspresi
logika
adalah
Sama dengan X:=X+1 X:=X-1 X:=X*Y X:=X/Y X:=X%Y X:=X^Y rumusan
atau
pernyataan
logika
yang
menghubungkan dua buah ekspresi atau lebih dengan masing-masing nilai logikanya, dan menggunakan operator logika sebagai penghubung. Sama seperti ekspresi relasi, ekspresi ini akan menghasilkan nilai .T. (TRUE), jika hasil perbandingan benar, serta menghasilkan nilai .F. (FALSE), jika hasil perbandingan salah.Operator-operator yang digunakan dalam ekspresi ini adalah : Tabel 4.5 Operator Logika Operator .AND. .OR. .NOT. Operator logika
Arti Dan Atau Tidak .AND. akan membandingkan dua buah ekspresi relasi
atau lebih, dan jika semua ekspresi relasi bernilai benar (.T.), maka nilai ekspresi logika bernilai benar (.T.), jika tidak akan bernilai salah (.F.). Operator logika .OR. akan membandingkan dua buah ekspresi relasi atau lebih, jika salah satu atau semua ekspresi relasi bernilai benar
Pemrograman Basis Data dengan Clipper 5.3
xli
STMIK Duta Bangsa Surakarta (.T.), maka nilai ekspresi logika bernilai benar (.T.), jika tidak akan bernilai salah (.F.). Operator logika .NOT. dapat diganti dengan tanda !, artinya membalikan nilai kebenaran suatu ekspresi relasi, sehingga ekspresi relasi yang dinegasi bernilai salah (.F.), maka ekspresi logika bernilai benar (.T.). Ekspresi Khusus Ekspresi khusus ini mencakup semua ekspresi-ekspresi, selain yang didefinisikan di atas. Misalkan kita mendefinisikan suatu data array, secara tidak langsung sebenarnya anda menggunakan suatu ekspresi. Operatoroperator yang digunakan antara lain terdiri dari : Tabel 4.6 Operator Ekspresi Khusus Operator -> & @ : ; {} [] ()
Fungsi Operator alias Operator Makro Operator alamat Operator pemuat object Operator penghubung Operator array atau pembatas data kode blok Operator elemen array Operator parameter fungsi atau pengelompokan
Data C,D,L,N,M,FC C Semua tipe data Object Semua tipe data Array dan blok kode Array Semua tipe data dan fungsi
Keterangan : Operator ->, digunakan untuk menunjuk suatu alias dari penyimpan data yang digunakan, seperti nama database, nama area atau memori. Contoh : NASABAH->kodecust Operator &, selalu bekerja pada character atau string dari sembarang ekspresi dan mengembalikan nilai hasil evaluasi ekspresi tersebut. Operator @, berfungsi untuk memaksakan data parameter agar dilewatkan walaupun berkelas local dari parameter fungsi yang dipanggil ke fungsi pemanggil. Pemrograman Basis Data dengan Clipper 5.3
xlii
STMIK Duta Bangsa Surakarta Operator :, hanya digunakan sebagai operator pemuat nilai terhadap data dalam kelas object. Operator ; adalah operator penghubung dari satu baris program ke dalam dua baris program atau lebih. Operator ini biasanya digunakan sebagai pemisah baris program yang panjang menjadi dua baris atau lebih. Operator { }, untuk memberi harga awal suatu data kelas array atau mendefinisikan data kelas blok kode atau code block. Operator [ ], berfungsi untuk mendeklarasikan suatu data array sekaligus menentukan jumlah elemen atau indeks, atau untuk menunjuk ke elemen atau indeks array tertentu dan sebgai tanda pembatas data character atau string selain tanda “ “ atau „ „. Operator ( ), operator yang digunakan sebagai penentu parameter yang disertakan dalam fungsi atau untuk pengelompokkan suatu atau sebagian ekspresi tertentu.
B. Pemuatan Nilai dengan Fungsi IIF() atau IF() Dalam melakukan pemuatan nilai, anda dapat memberikan kondisi tertentu dalam memuat nilai. Misalkan akan memuat nilai variabel nJenkel dengan ”Laki-Laki” atau ”Perempuan”, tergantung dari variabel Ijenkel, jika Ijenkel bernilai benar (.T.), maka nJenkel memuat nilai string ”Laki-Laki”, jika tidak nJenkel akan memuat nilai string ”Perempuan”. Untuk itu dilakukan dengan menggunakan fungsi IF() atau IiF() yang bentuk umumnya seperti berikut : :=IIF(,,) Atau :=IF(,,) Gambar 4.4 Penulisan Fungsi IIF dan IF Keterangan : Pemrograman Basis Data dengan Clipper 5.3
xliii
STMIK Duta Bangsa Surakarta adalah variabel yang bersifat umumtergantung dari nilai balik yang dihasilkan oleh fungsi. adalah ekspresi yang akan dievaluasi sebagai kondisi dalam fungsi. adalah nilai balik fungsi IF() atau IiF() yang akan dihasilkan, seandainya bernilai benar atau .T. adalah nilai balik fungsi IF() atau IiF() yang akan dihasilkan, seandainya bernilai salah atau .F. Contoh : 1. Dengan fungsi IF() LOCAL nJenkel, Ijenkel:=.T. IF Ijenkel nJenkel:=”Laki-Laki” ELSE nJenkel:=”Perempuan” ENDIF 2. Dengan fungsi IIF() LOCAL nJenkel, Ijenkel:=.T. nJenkel:=Iif(Ijenkel,”Laki-Laki”,”Perempuan”) nJenkel:=IF(!Ijenkel,”Laki-Laki”,”Perempuan”) Gambar 4.6 Contoh Fungsi IIF dan IF
Pemrograman Basis Data dengan Clipper 5.3
xliv
STMIK Duta Bangsa Surakarta BAB V STRUKTUR PROGRAM PERCABANGAN DAN PERULANGAN Tujuan Instruksional Umum : Mahasiswa dapat memahami struktur program percabangan dan perulangan dalam Clipper Compiler 5.3. Tujuan Instruksional Khusus : 1. Mahasiswa mengetahui struktur percabangan IF… else …. Endif, Do Case…… Endcase. 2. Mahasiswa dapat menerapkan struktur percabangan If...else....endif dan Docase....endcase. 3. Mahasiswa mengetahui struktur perulangan Do While ….. Enddo, For ….. Next. 4. Mahasiswa dapat menerapkan struktur perulangan Do While ….. Enddo, For ….. Next.
Secara umum, struktur secara fisik dari semua program, jika dilihat dari model program sesuai dengan fungsinya adalah sama. Misalkan dalam dBase atau FoxBase menggunakan struktur percabangan dan perulangan, maka dalam program clipper pun juga dapat menggunakan struktur program percabangan dan atau perulangan tersebut, yang dituliskan dalam tiap-tiap fungsi atau prosedur yang menggunakannya. Secara umum struktur program dalam clipper ada 3 (tiga) yaitu : 1. Struktur urut atau linier 2. Struktur percabangan 3. Struktur perulangan A. Struktur Urut atau Liner Hampir semua program menggunakan struktur urut ini, termasuk program clipper, karena program akan diproses atau dideklarasikan secara urut dari atas ke bawah. Semua perintah termasuk pernyataan, fungsi ataupun ekspresi dapat diberikan dalam struktur urut tersebut. Karena struktur program ini sangat sederhana,maka pembahasan hanya sampai di sini. B. Struktur Percabangan Struktur program percabangan adalah suatu kelompok program dalam suatu fungsi atau prosedur yang mempunyai urutan pemrosesan bercabang, sesuai dengan kondisi yang diberikan. Dalam program clipper struktur percabangan dapat menggunakan 2 pernyataan yaitu : IF ... ENDIF dan DO CASE ... ENDCASE. 1. Pernyataan IF ... ENDIF
Pemrograman Basis Data dengan Clipper 5.3
xlv
STMIK Duta Bangsa Surakarta Pernyataan IF ... ENDIF ini berfungsi untuk menjalankan suatu kelompok instruksi tertentu tergantumg dari kondisi yang diberikan, jika kondisi terpenuhi atau bernilai benar, maka kelompok instruksi tersebut akan dijalankan. Bentuk umum penulisan adalah sebagai berikut : IF ELSEIF ELSE ENDIF Atau IF ELSE IF ELSE ENDIF ENDIF Gambar 5.1 Bentuk Penulisan Percabangan IF .... ENDIF Keterangan : dapat berupa ekspresi relasi atau logika yang merupakan kondisi awal dari pernyataan IF ... akan dikerjakan atau dieksekusi seandainya yang diberikan bernilai benar atau .T.. ELSEIF , option ini dapat diberikan, seandainya masih terdapat kondisi percabangan berikutnya, dan dapat secara berurutan lebih dari satu, jika kondisi yang digunakan juga lebih dari satu. merupakan ekspresi relasi atau logika sebgai kondisi dari option ELSEIF ... akan dikerjakan atau dieksekusi seandainya yang diberikan bernialai benar atau .T.. ELSE, option ini diberikan seandainya menginginkan pemrosesan atau eksekusi terhadap suatu kelompok instruksi yang terakhir dengan Pemrograman Basis Data dengan Clipper 5.3
xlvi
STMIK Duta Bangsa Surakarta syarat yang tidak memenhi kondisi-kondisi sebelumnya yang diberikan. akan dikerjakan atau dieksekusi seandainya kondisi-kondisi sebelumnya yang diberikan, tidak terpenuhi atau bernilai salah (.F.). ENDIF option ini sebagai tanda penutup dari IF Contoh 1 : CLEAR A:=10 If A> 2 ? ”a berisi bilangan lebih besar 2” Endif Contoh 2 : CLEAR A=12 B=5 If a>b ? ”A berisi bilangan yang lebih besar b” Else ? ”B berisi bilangan lebih beasr A” Endif. Contoh 3 : CLEAR LOCAL nGol,nGaji,nTunj,nTot @10,10 SAY “Golongan Karyawan
: “ GET nGol PICTURE “9” RANGE 1,3
READ IF nGol=1 nGaji=500000 nTunj=nGaji*0.3 ELSEIF nGol=2 nGaji=750000 nTunj=nGaji*0.2 ELSE
Pemrograman Basis Data dengan Clipper 5.3
xlvii
STMIK Duta Bangsa Surakarta nGaji=1000000 nTunj=nGaji*0.1 ENDIF nTot=nGaji+nTunj @11,10 SAY “Gaji Pokok
: “+TRANSFORM(nGaji,”Rp. 999,999,999”)
@12,10 SAY”Tunjangan
: “+TRANSFORM(nTunj,”Rp. 999,999,999”)
@13,10 SAY”Total Gaji
: “+TRANSFORM(nTot,”Rp. 999,999,999”)
RETURN
Gambar 5.2 Contoh Percabangan IF .... ENDIF 2. Pernyataan DO CASE … ENDCASE Dalam suatu kasus tertentu, misalkan kita dihadapkan pada suatu proses yang mempunyai kondisi atau kriteria yang banyak, maka kita dapat menggunakan pernyataan IF … ENDIF untuk menanganinya, tetapi selain itu kita dapat menggunakan pernyataan yang lebih tepat dan lebih mudah, yaitu pernyataan DO CASE … END CASE. Bentuk umum penulisan pernyataan DO CASE … END CASE adalah sebagai berikut : DO CASE CASE CASE …] OTHERWISE ENDCASE Gambar 5.3 Bentuk Penulisan DO.... CASE Keterangan : dapat berupa ekspresi relasi atau logika yang merupakan kondisi awal dari pernyataan DO CASE … akan dikerjakan seandainya yang diberikan bernilai benar atau .T..
Pemrograman Basis Data dengan Clipper 5.3
xlviii
STMIK Duta Bangsa Surakarta CASE , option ini dapat diberikan seandainya masih terdapat kondisi percabangan berikutnya, dan dapat secara berurutan lebih dari satu kondisi, jika kondisi yang digunakan juga lebih dari satu, sehingga bisa terdapat lebih dari dua option CASE … . merupakan ekspresi relasi atau logika sebagai kondisi dari option CASE … yang kedua. akan dikerjakan atau dieksekusi seandainya yang diberikan bernilai benar atau .T.. OTHERWISE, option ini
diberikan seandainya
menginginkan
pemrosesan atau eksekusi terhadap suatu kelompok instruksi yang terakhir dengan syarat yang tidak memenuhi kondisi-kondisi sebelumnya yang diberikan. akan dikerjakan atau dieksekusi seandainya kondisi-kondisi sebelumnya yang diberikan tidak terpenuhi atau bernilai salah (.F.). ENDCASE tanda penutup dari DO CASE … Contoh : CLEAR LOCAL nGol,nGaji,nTunj,nTot @10,10 SAY “Golongan Karyawan
: “ GET nGol PICTURE “9” RANGE 1,3
READ DO CASE CASE nGol=1 nGaji=500000 nTunj=nGaji*0.3 CASE nGol=2 nGaji=750000 nTunj=nGaji*0.2 OTHERWISE nGaji=1000000 nTunj=nGaji*0.1 ENDCASE nTot=nGaji+nTunj @11,10 SAY “Gaji Pokok
: “+TRANSFORM(nGaji,”Rp. 999,999,999”)
Pemrograman Basis Data dengan Clipper 5.3
xlix
STMIK Duta Bangsa Surakarta @12,10 SAY”Tunjangan
: “+TRANSFORM(nTunj,”Rp. 999,999,999”)
@13,10 SAY”Total Gaji
: “+TRANSFORM(nTot,”Rp. 999,999,999”)
RETURN
Gambar 5.4 Contoh Percabangan DO.... CASE C. Struktur Perulangan Setruktur program perulangan adalah suatu kelompok program dalam suatu fungsi atau prosedur yang akan diproses atau dieksekusi secara berulangulang, jika dan selama kondisi terpenuhi. Dalam program clipper struktur perulangan dapat menggunakan 2 pernyataan yaitu DO WHILE … ENDDO dan FOR … NEXT. 1. Pernyataan DO WHILE … ENDDO Pernyataan DO WHILE … ENDDO ini berfungsi untuk mengulang instruksi-instruksi yang ada di antara pernyataan DO WHILE dan ENDDO, selama kondisi yang diberikan bernilai benar atau .T.. Bentuk umum penulisan pernyataan DO WHILE … ENDDO adalah sebagai berikut : DO WHLIE EXIT LOOP ENDDO Gambar 5.5 Bentuk Penulisan DO WHILE ...... ENDDO Keterangan : DO WHILE pernyataan sebagai tanda awal perulangan. dapat berupa ekspresi relasi atau ekspresi logika yang merupakan kondisi awal dari pernyataan DO WHILE … selain menggunakan
ekspresi
relasi
atau
ekspresilogika,
kita
dapat
menggunakan kondisi .T. yang artinya sksn berulang terus menerus tanpa henti, sampai dengan ditemui pernyataan EXIT.
Pemrograman Basis Data dengan Clipper 5.3
l
STMIK Duta Bangsa Surakarta adalah instruksi-instuksi yang diberikan dan dapat berupa pernyataan, fungsi, atau ekspresi dan akan dikerjakan secara berulang selama kondisi benar atau .T.. EXIT, option ini jika diberikan akan memaksa keluar dari proses perulangan, tanpa melihat apakah kondisi yang diberikan masih bernilai benar atau tidak. LOOP, option ini jika diberikan akan mengembalikan perulangan ke pernyataan awal DO WHILE … tanpa harus mengerjakan sampai selesai atau sampai dengan ditemui pernyataan ENDDO. ENDDO adalah tanda penutup dari DO WHILE … Contoh : I=1 Do while I<5 ?”belajar” I=I+1 Enddo Gambar 5.6 Contoh DO WHILE ...... ENDDO 2. Pernyataan FOR … NEXT Pernyataan FOR … NEXT ini berfungsi untuk mengulang instruksiinstruksi yang terdapat antara pernyataan FOR dan NEXT, sebanyak n kali sesuai dengan nilai yang diberikan sebagai kondisi. Bentuk umum penulisan pernyataan FOR … NEXT adalah sebagai berikut : FOR := TO STEP EXIT LOOP NEXT
Gambar 5.7 Bentuk Penulisan FOR ...... NEXT Keterangan : adalah variable tipe numeric yang digunakan sebagai kounter dan yang akan diproses. Pemrograman Basis Data dengan Clipper 5.3
li
STMIK Duta Bangsa Surakarta Variabel kounter ini juga dipakai sebagai kondisi apakah masih berulang ataukah tidak. pertamakali bernilai sama dengan nilai awal, dan akan bertambah sebanyak jika positif, serta akan berkurang sebanyak jika negative, setelah menemui pernyataan NEXT. Perulangan dilakukan jika masih lebih kecil atau sama dengan , seadainya positif dan jika lebih besar atau sama dengan , seandainya negative. merupakan nilai awal yang dipakai, jika positif,maka harus lebih besar dari dan lebih kecil dari , jika negative. merupakan kondisi perulangan yang dilakukan, jika masih lebih kecil atau sama dengan , seandainya positif dan jika lebih besar atau sama dengan , seandainya negative, maka program akan berulang. STEP option ini jika tidak diberikan akan dianggap bernilai 1 (positif) dan jika tidak, akan bernilai sesuai dengan yang dimasukkan, bisa negatif atau positif.
adalah
instruksi-instruksi
yang
dapat
diberikan berupa pernyataan, fungsi, atau ekspresi dan akan dikerjakan secara berulang sesuai kondisi yang ada. EXIT option ini jika diberikan akan memaksa keluar dari proses perulangan, tanpa melihat apakah kondisi yang diberikan masih memungkinkan untuk berulang atau tidak. LOOP option ini jika diberikan akan mengembalikan proses perulangan ke pernyataan ke pernyataan awal FOR … tanpa harus
Pemrograman Basis Data dengan Clipper 5.3
lii
STMIK Duta Bangsa Surakarta mengerjakan sampai selesai atau sampai dengan ditemui pernyataan NEXT. Contoh : CLEAR FOR I=1 to 10 STEP 2 ? “BELAJAR FOR” NEXT Gambar 5.8 Contoh FOR ...... NEXT
Tugas: 1. Buatlah program untuk mencetak kata “Selamat data di Clipper sebanyak 5 kali” 2. Buatlah procedure untuk mencetak kata sebanyak suatu kata tertentu, sebanyak n kali
Pemrograman Basis Data dengan Clipper 5.3
liii
STMIK Duta Bangsa Surakarta
BAB VI MENAMPILKAN ATAU MENCETAK DATA
Tujuan Instruksional Umum : Mahasiswa dapat memahami perintah menampilkan dan mencetak data ke perangkat output. Tujuan Instruksional Khusus : 1. Mahasiswa mengetahui menampilkan atau mencetak data dengan perintah ? atau ?? dan perintah @... SAY. 2. Mahasiswa mengetahui dan dapat menerapkan perintah-perintah mengubah perangkat output, perintah dan fungsi perangkat output layar. 3. Mahasiswa dapat menerapkan fungsi output atau keluaran. 4. Mahasiswa dapat menerapkan perintah yang mempengaruhi pencetakan data. 5. Mahasiswa dapat mengetahui dan menggunakan fungsi output suara.
Sesuai dengan prinsip kerjanya, komputer oleh manusia dipakai untuk membantu mengolah data menjadi informasi. Pengolahan data tersebut tidak terlepas dari prinsip I-P-O (Input-Proses-Output). Oleh karena itu tujuan dari pembuatan program pengolahan data atau informasi pasti dihadapkan pada masalah input atau masukan data, proses serta output atau keluaran data. Secara umum dalam program clipper, untuk menampilkan atau mencetak data dapat diarahkan ke dalam 3 perangkat keluaran yang berbeda, yaitu : 1. Menampilkan atau mencetak data ke layar 2. Menampilkan atau mencetak data ke printer 3. Mencetak data ke dalam file A. Perintah-Perintah Menampilkan atau Mencetak Data
Pemrograman Basis Data dengan Clipper 5.3
liv
STMIK Duta Bangsa Surakarta Ada dua perintah menampilkan atau mencetak data ke dalam program clipper, yang dapat kita gunakan yaitu perintah ? atau ?? dan @ ... SAY. 1. Perintah ? atau ?? Perintah ini berfungsi untuk menampilkan atau mencetak data ke dalam perangkat output yang aktif pada saat itu. Dalam keadaan default perangkat output yang aktif adalah layar, maka dengan perintah ? atau ??, data akan ditampilkan atau dicetak ke layar. Bentuk umum perintah ? atau ?? adalah sebagai berikut : ? [[,...]] Atau ?? [ [,...]] Gambar 6.1 Bentuk Penulisan Perintah ? atau ?? Perbedaan antara perintah ? dan ?? adalah hanya pada posisi pencetakan, di mana perintah ? ini akan mencetak data di posisi kursor, kemudian dilanjutkan dengan enter atau menuju ke baris berikutnya dikolom 0 secara otomatis, sedangkan perintah ?? akan mencetak di posisi kursor tanpa dilanjutkan dengan penekan enter, sehingga setiap diberikan perintah pencetakan ini akan selalu bersambung dan jika lebih dari 79 kolom akan dirapikan atau dicetak ke baris berikutnya secara otomatis. Berikut ini biasanya dipakai untuk mencetak laporan, yang cara pencetakan datanya urut satu persatu dari atas ke bawah. Perintah ? atau ?? ini juga dipengaruhi oleh perintah setting pengubah perangkat keluaran, misalkan perintah SET DEVICE TO SCREEN, maka perintah ? atau ?? akan menampilkan atau mencetak data ke layar, begitu juga dengan perintah SET DEVICE TO PRINT, maka akan menampilkan atau mencetak data ke printer yang aktif. Selain itu perintah setting pengubah perangkat keluaran SET CONSOLE ON/OFF, jika dalam keadaan OFF, maka perintah ? atau ?? akan menampilkan atau mencetak data ke layar, dan jika dalam keadaan ON tidak akan ditamilkan atau dicetak ke layar. Contoh 1 : CLEAR Pemrograman Basis Data dengan Clipper 5.3
lv
STMIK Duta Bangsa Surakarta ?”Saya Belajar Mencetak” ?”Dengan Program Clipper”
Contoh 2 : ??”Saya Belajar Mencetak” ??”Dengan Program Clipper” Gambar 6.2 Contoh Perintah ? atau ?? 2. Perintah @ ... SAY Perintah @ ... SAY ini berfungsi untuk menampilkan atau mencetak data ke perangkat keluaran yang aktif, diposisi ataukoordinat baris dan kolom tertentu sesuai yang disebutkan. Bentuk umum perintah @ ... SAY adalah sebagai berikut : @, SAY [COLOR<warna>] [PICTURE