MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E...

183
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

Transcript of MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E...

Page 1: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

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

Page 2: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 ii

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

Page 3: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 iii

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

BAB II STRUKTUR DAN FORMAT PROGRAM CLIPPER COMPILER . 6

A. Format Program Clipper ............................................................ 6

B. Fungsi dan Prosedur ................................................................... 8

BAB III DATA DAN VARIABEL .................................................................... 14

A. Data ............................................................................................ 14

B. Variabel ..................................................................................... 18

BAB IV ORERATOR DAN EKSPRESE ......................................................... 21

A. Ekspresi Dalam Clipper ............................................................. 21

B. Pemuatan Nilai Dengan Fungsi IIF() atau IF() .......................... 26

BAB V STRUKTUR PROGRAM PERCABANGAN DAN PERULANGAN 27

A. Sturktur Urut ata Liner .............................................................. 27

B. Struktur Percabangan ................................................................. 27

C. Struktur Perulangan .................................................................... 32

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

Page 4: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 iv

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

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

BAB X MENYARING ATAU FILTER DATA DAN MENGHUBUNGKAN

DABATASE ........................................................................................ 113

A. Menyaring Data Field DataBase ................................................ 113

B. Menhubungkan dua Buah Database atau relasi antar database .. 115

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

A. Operasi String ............................................................................. 134

B. Fungsi-fungsi String ................................................................... 134

Page 5: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 v

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

Page 6: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 vi

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

Page 7: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 vii

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

Page 8: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 viii

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

Page 9: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 ix

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

Page 10: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 x

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 8

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

Page 11: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xi

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

Page 12: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xii

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

Page 13: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xiii

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

Page 14: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xiv

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

Page 15: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xv

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

Page 16: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xvi

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

Page 17: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xvii

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

Page 18: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xviii

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

Page 19: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xix

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

Page 20: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xx

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

Page 21: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxi

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

proseduer 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<nama program><enter>

Contoh : C:\clipper coba.prg

Page 22: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxii

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<nama file obj> / ppl:Base52 (untuk clpper 52)

Rtlink fi<nama file obj (untuk clipper 52)

Blinker Rtlink fi<nama file obj (untuk clipper 53)

Contoh C:\blinker fi coba

Gambar 1.5 Proses Linking

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.

Penulisan program dengan

penyimpanan PRG

Perintah : C:\edit coba.prg

Proses kompilasi dengan

menhasilkan file OBJ

Perintah : C:\clipper coba.prg

Proses Linking dengan

menhghasilkan file EXE

Perintah C:\blinker fi coba

Proses kompilasi yang akan menghasilkan file Object (.OBJ)

Proses link yang akan menghasilkan file Executable (.EXE)

Page 23: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxiii

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 ”<nama file header>”...]

//Mendefinisikan makro kompiler (bisa lebih dari satu)

[#define <nama makro compiler.([<parameter formal>

[,...]])<ekspresi>...]

//Mendefinisikan perintah (bisa lebih dari satu)

[#command <nama perintah> [<parameter formal> [,...]] =>;

<nama fungsi>(<parameter formal>[,...]])

...]

//Menggunakan file header (bisa lebih dari satu file header )

[#include ”<nama file header>”

//Mendefinisikan konstanta simbolik (bisa lebih dari satu)

[#define <nama konstanta simbolik> <konstanta>

...]

//Mendefinisikan makro kompiler (bisa lebih dari satu)

[#define <nama makro compiler>([<parameter formal>{,...]])

<ekspresi>

...]

//Mendefinisikan perintah (bisa lebih dari satu)

[#command <nama perintah>[<parameter formal>[,...])=>;

Page 24: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxiv

<nama fungsi>(<parameter formal>[,...]])

...]

[#endif]

//deklarasi variabel-variabel eksternal

[<pernyataan><nama variabel>[:=<nilai variabel>] [,...]

...]

//Deklarasi fungsi atau prosedur

[[STATIC] FUNCTION/PROCEDURE <nama fungsi/prosedur>

([<parameter formal>[,...]])

[PARAMETERS [<parameter formal> [,...]]]

//Dekalarasi variabel interbal

[<pernyataan><nama variabel> [:=<nilai variabel>] [,...]

...]

//Pernyataan-pernyataan yang digunakan dalam fungsi atau

prosedure

[<pernyataan>

...]

//Memberikan ekspresi

[<ekspresi>

...]

//Menggunakan perintah-perintah clipper

[<nama perintah> [<parameter perintah> [,...]]

...]

//Menggunakan fungsi/prosedur

[<nama fungsi/prosedur> ([<parameter fungsi/prosedur>

[,...]])

...]

[RETURN [<nilai balik fungsi>]]

...]

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 :

Page 25: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxv

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

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

Page 26: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxvi

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.

Page 27: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxvii

a. Membuat Prosedure

Aturan penulisan:

Procedure <nama_pro>

Parameter <daf_para>

....................................

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

Prosedure dengan parameter

Do <nama_pro> with <dafpara>

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

Page 28: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxviii

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

Page 29: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxix

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

Parameter <dafparameter>

...................

...................

Retu <nilai kembali>

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

Page 30: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxx

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 :

Page 31: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxxi

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 :

Page 32: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxxii

Tanda kutip tunggal („ „)

Tanda kutip ganda (“ “)

Tanda kurung buka, kurung tutup kotak atau siku ([ ])

Contoh :

1. [STMIK”DUTA BANGSA”] atau „STMIK”DUTA BANGSA”‟

2. cJudul=”STMIK DUTA BANGSA”

3. cNama=‟STMIK DUTA BANGSA”

4. cNama=[STMIK DUTA BANGSA]

5. cJumlah=”250.000”

6. 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 Bentuk keluaran

American Mm/dd/yy

Ansi yy.mm.dd

British Dd/mm/yy

French Dd/mm/yy

German dd.mm.yy

Italian dd-mm-yy

Japanese Yy/mm/dd

Usa mm-dd-yy

Untuk mementukan format tanggal perintah yang digunakan :

Set date<format tanggal>

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>

Page 33: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxxiii

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]

Page 34: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxxiv

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 :

{<daftar argumen> <daftar expresi> }

Gambar 3.6 Penulisan Code Block

Keterangan :

<Daftar Argumen> adalah daftar argumen atau parameter yang

akan dilewatkan dan dipakai oleh ekspresi dalam data kode

blok

<Daftar Ekspresi> 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]

Page 35: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxxv

/pelajaran[1] //NIM

Gambar 3.7 Contoh Tipe Data NIL

- Object

Adalah suatu konsep baru penggunaan data dan terdapat dalam bahasa-

bahasa 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

Page 36: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxxvi

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

Page 37: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxxvii

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

Page 38: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxxviii

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

Page 39: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xxxix

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 :

<variabel> = <ekspresi>

Atau

<variabel> := <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 Jenis data

**,^ Perpangkat N

* Perkalian N

/ Pembagian N

% Modulus/Sisa hasil bagi N

+ Penambahan atau Penjumlahan ND

+ Sambung C

- Pengurangan ND

- Sambung C

++ Peningkatan atau increment ND

-- Penurunan atau decrement ND

^= Perpangkatan terhadap variabel yang sama N

*= Perkalian terhadap variabel yang sama N

/= Pembagian terhadapvariabel yang sama N

%= Sisa bagi terhadap variabel yang sama N

+= Penjumlahan terhadap variabel yang sama N

-= Pengranagan terhadap variabel yang sama N

Ketarangan :

N : Numeric

C : Carakter

D : Date

Page 40: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xl

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

<> / = # Tidak sama C D L N M NIL

< Lebih kecil A D L N M

<= Lebih kecil sama dengan C D L N M

= Sama dengan C D L M N NIL

= = Sama persis C D L N M A O NOL

> Lebih besar C D L N M

>= Lebih besar sama dengan C D L N M

$ Ada di dalam C M

Ekspresi Assigmen

Operator untuk memberi nilai / data pada suatu sebutan atau variabel.

Tabel 4.3 Operator Assigmen

Operator Guna Data

= Simple assigment Semua tipe data

: = In-line assigment Semua tipe data

<CP>= Compound assigment C, D, N

Page 41: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xli

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

X + = X:=X+1

X-= X:=X-1

X*=Y X:=X*Y

X/=Y X:=X/Y

X%=Y X:=X%Y

X^=Y X:=X^Y

Ekspresi Logika

Ekspresi logika adalah 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 Arti

.AND. Dan

.OR. Atau

.NOT. Tidak

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

Page 42: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xlii

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

operator yang digunakan antara lain terdiri dari :

Tabel 4.6 Operator Ekspresi Khusus

Operator Fungsi Data

-> Operator alias C,D,L,N,M,FC

& Operator Makro C

@ Operator alamat Semua tipe data

: Operator pemuat object Object

; Operator penghubung Semua tipe data

{ } Operator array atau

pembatas data kode blok

Array dan blok kode

[ ] Operator elemen array Array

( ) Operator parameter

fungsi atau

pengelompokan

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.

Page 43: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xliii

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 :

<gvariabel> :=IIF(<gekspresi>,<gekspresi1>,<gekspresi2>)

Atau

<gvariabel> :=IF(<gekspresi>,<gekspresi1>,<gekspresi2>)

Gambar 4.4 Penulisan Fungsi IIF dan IF

Keterangan :

Page 44: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xliv

<gvariabel> adalah variabel yang bersifat umumtergantung dari nilai

balik yang dihasilkan oleh fungsi.

<gekspresi> adalah ekspresi yang akan dievaluasi sebagai kondisi

dalam fungsi.

<gekspresi1> adalah nilai balik fungsi IF() atau IiF() yang akan

dihasilkan, seandainya <gekspresi> bernilai benar atau .T.

<gekspresi2> adalah nilai balik fungsi IF() atau IiF() yang akan

dihasilkan, seandainya <gekspresi> 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

Page 45: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xlv

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

Page 46: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xlvi

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

<instruksi-instruksi>

ELSEIF <kondisi>

<instruksi-instruksi>

ELSE

<instruksi-instruksi>

ENDIF

Atau

IF <kondisi1>

<instruksi-instruksi1>

ELSE

IF <kondisi2>

<instruksi-instruksi2>

ELSE

<instruksi-instruksi3>

ENDIF

ENDIF

Gambar 5.1 Bentuk Penulisan Percabangan IF .... ENDIF

Keterangan :

<kondisi1> dapat berupa ekspresi relasi atau logika yang merupakan

kondisi awal dari pernyataan IF ...

<instruksi-instruksi1> akan dikerjakan atau dieksekusi seandainya

<kondisi1> yang diberikan bernilai benar atau .T..

ELSEIF <kondisi2>, 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.

<kondisi2> merupakan ekspresi relasi atau logika sebgai kondisi dari

option ELSEIF ...

<instruksi-instruksi2> akan dikerjakan atau dieksekusi seandainya

<kondisi2> yang diberikan bernialai benar atau .T..

ELSE, option ini diberikan seandainya menginginkan pemrosesan atau

eksekusi terhadap suatu kelompok instruksi yang terakhir dengan

Page 47: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xlvii

syarat yang tidak memenhi kondisi-kondisi sebelumnya yang

diberikan.

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

Page 48: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xlviii

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

<instruksi-instruksi1>

CASE <kondisi2>

<instruksi-instruksi2>

…]

OTHERWISE

<instruksi-instruksi3>

ENDCASE

Gambar 5.3 Bentuk Penulisan DO.... CASE

Keterangan :

<kondisi> dapat berupa ekspresi relasi atau logika yang merupakan

kondisi awal dari pernyataan DO CASE …

<instruksi-instruksi1> akan dikerjakan seandainya <kondisi1> yang

diberikan bernilai benar atau .T..

Page 49: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xlix

CASE <kondisi2>, 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 … .

<kondisi2> merupakan ekspresi relasi atau logika sebagai kondisi dari

option CASE … yang kedua.

<instruksi-instruksi2> akan dikerjakan atau dieksekusi seandainya

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

<instruksi-instruksi3> 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”)

Page 50: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 l

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

ulang, 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 <kondisi>

<instruksi-instruksi>

EXIT

<instruksi-instruksi>

LOOP

<instruksi-instruksi>

ENDDO

Gambar 5.5 Bentuk Penulisan DO WHILE ...... ENDDO

Keterangan :

DO WHILE pernyataan sebagai tanda awal perulangan.

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

Page 51: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 li

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

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

instruksi 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 <variable counter> := <nilai awal> TO <nilai akhir> STEP <nilai kenaikan>

<instruksi-isntruksi>

EXIT

<instruksi-instruksi>

LOOP

<instruksi-instruksi>

NEXT

Gambar 5.7 Bentuk Penulisan FOR ...... NEXT

Keterangan :

<variable counter> adalah variable tipe numeric yang digunakan

sebagai kounter <nilai awal> dan <nilai akhir> yang akan diproses.

Page 52: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lii

Variabel kounter ini juga dipakai sebagai kondisi apakah masih

berulang ataukah tidak. <variable kounter> pertamakali bernilai

sama dengan nilai awal, dan akan bertambah sebanyak <nilai

kenaikan> jika <nilai kenaikan> positif, serta akan berkurang

sebanyak <nili kenaikan> jika <nilai kenaikan> negative, setelah

menemui pernyataan NEXT. Perulangan dilakukan jika <variable

kounter> masih lebih kecil atau sama dengan <nilai akhir>,

seadainya <nilai kenaikan> positif dan jika <variable kounter>

lebih besar atau sama dengan <nilai akhir>, seandainya <nilai

kenaikan> negative.

<nilai awal> merupakan nilai awal <variabel kounter> yang

dipakai, jika <nilai kenaikan> positif,maka <nilai awal> harus

lebih besar dari <nilai akhir> dan lebih kecil dari <nilai akhir>, jika

<nilai kenaikan> negative.

<nilai akhir> merupakan kondisi perulangan yang dilakukan, jika

<variable counter> masih lebih kecil atau sama dengan <nilai

akhir>, seandainya <nilai kenaikan> positif dan jika <variable

counter> lebih besar atau sama dengan <nilai akhir>, seandainya

<nilai kenaikan> negative, maka program akan berulang.

STEP <nilai kenaikan> option ini jika tidak diberikan akan

dianggap bernilai 1 (positif) dan jika tidak, akan bernilai sesuai

dengan yang dimasukkan, bisa negatif atau positif.

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

Page 53: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 liii

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

Page 54: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 liv

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

Page 55: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lv

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 :

? [<data>[,...]]

Atau

?? [<data> [,...]]

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

Page 56: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lvi

?”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 :

@<baris>,<kolom> SAY <data> [COLOR<warna>] [PICTURE<picture>]

Gambar 6.3 Bentuk Penulisan Perintah @ .... SAY

Keterangan :

<baris> dan <kolom> adalah data numeric yang menyatakan nomor baris

dan nomor kolom yang dipakai sebagaiposisi atau koordinat pencetakan.

Sesuai dengan baris dan kolom layer yang digunakan, data ini hanya dapat

berisikan antara 0 sampai dengan 79 dan baris 0 sampai dengan 24.

<data> adalah data yang akan ditampilkan atau dicetak, dan dapat berupa

konstanta, variabel, nilai balik suatu fungsi atau ekspresi.

[COLOR<warna>] option ini berfungsi untuk menentukan warna yang

dipakai dalam pencetakan ke layar, yang ditulis dalam tipe string. Jika

option ini tidak disertakan maka, pencetakan data menggunakan warna

yang aktif pada saat itu.

[PICTURE<picture>] option ini digunakan untuk menentukan format atau

model pencetakan data yang diinginkan, misalkan mencetak dengan

format koma sebagai pemisah angka ribuan, jutaan dll. Jika option ini

tidak disertakan maka data akan ditampilkan dengan format apa adanya.

a. Warna Tampilan (COLOR<warna>)

Page 57: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lvii

Warna tampilan yang dapat digunakan dalam option

[COLOR<warna>] ini sudah ditentkan kode wrnanya yang dituliskan

sebagai nilai character atau string, dengan diapit tanda petik tunggal

atau ganda. Warna tampilan yang dapat diubah adalah warna teks dan

warna latar belakang, yang dituliskan dengan memberikan tanda

pemisah slash(/).

Tabel 6.1 Warna Tampilan

Warna Kode Dapat digunakan untuk warna

Hitam N Teks, Latar Belakang

Biru B Teks, Latar Belakang

Hijau G Teks, Latar Belakang

Cyan BG Teks, Latar Belakang

Merah R Teks, Latar Belakang

Megenta BR Teks, Latar Belakang

Coklat GR Teks, Latar Belakang

Putih W Teks, Latar Belakang

Hitam Terang N+ Teks Biru Terang B+ Teks Hijau Terang G+ Teks Cyan Terang BG+ Teks Merah Terang R+ Teks Magenta Terang BR+ Teks Kuning GR+ Teks Putih Terang W+ Teks

Selain warna-warna di atas, kita juga dapat menentukan bahwa warna

tersebut secara berkedip, dengan menambahkan tanda bintang (*) sebagai

tanda warna blink atau berkedip sama seperti tanda plus (+) untuk warna

terang, tanda ”*” juga hanya dapat digunakan untuk warna teks.

Contoh 1 :

CLEAR

@1,1 SAY ”Mencetak Data dengan Baris dan Kolom”

FOR x:=1 TO 10

@x,0 SAY ”Mencetak Data Di Baris : ”,x

NEXT

Contoh 2 :

CLEAR

@12,10 SAY “Warna teks merah, dasar hijau” COLOR(“R/G”)

Page 58: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lviii

@13,10 SAY “Warna teks hijau terang, dasar putih” COLOR(“G+/W”)

RETUN

Gambar 6.4 Contoh Penulisan Warna (Color)

b. Format Tampilan (PICTURE <picture>)

Jika kita akan menformat data yang akan ditampilkan, dengan perintah

@ … SAY, maka option ini harus digunakan. Format tampiln

<picture> yang digunakan dituliskan sebagai data string dengan kode

tertentu, yang diapit dengan tanda petik tunggal atau ganda. Format

tampilan yang digunakan untuk perintah ini dekelompokkan dalam dua

bagian, yaitu Picture Function dan Picture Tamplate.

Tabel 6.2 Picture Fuction (Fungsi Warna)

Format Kegunaan

B Menampilkan data angka rata kiri

C Menampilkan data CR setelah angka positif

D Menampilkan data tanggal dalam sesuai dengan format

SET DATE

E Menampilkan data tanggal dan angka dalam format British

R Menampilkan karakter nontemplete apa adanya

X Menampilkan tanda DB setelah angka negatif

Z Menampilkan angka 0 sebagai data atau karakter kosong

( Menampilkan tanda (), jika angka yang ditampilkan negatif

! Mengkonversi data abjad menjadi abjad kapital

Tabel 6.3 Picture Template

Format Kegunaan

A Menampilkan data abjad sejumlah yang dituliskan

N Menampilkan data logikal sejumlah yang dituliskan

X Menampilkan data umum (abjad atau angka) sejumlah yang

dituliskan

9 Menampilkan data angka sejumlah yang dituliskan

# Menampilkan data angka sejumlah yang dituliskan

L Menampilkan data logical ”T” atau ”F”

Page 59: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lix

Y Menampilkan data logical ”Y” atau ”N”

! Mengkonversi data abjad menjadi abjad kapital

$ Menampilkan tanda dollar sebagai ganti spasi yang berada

di awal data angka

* Menampilkan tanda bintang sebagai ganti spasi yang

berada di awal data angka

. Menentukan posisi titik desimal yang digunakan oleh data

angka

, Menentukan posisi koma sebagai pemisah angka (ribuan,

jutaan dll)

Contoh :

Clear

Local nlaba, nrugi, nnama, ntelp

nLaba=7125.50

nRugi=-125.50

ntelp=”08180347857”

nnama=”Sony”

//mencetak data dengan format

@1,1 say nlaba picture ”@E 9,999.99”

//ditampilkan : .125,50 (format inggris, seperti Indonesia

@2,1 say nrugi picture “@)”

//ditampilkan : (125.50)

@3,1 say ntelp picture “@R (999)999-99999”

//ditampilkan 081803-47857”

@4,1 say nnama picture “@!”

//ditampilkan : “SONY”

Gambar 6.5 Contoh Pemakaian Picture

B. Perintah-perintah mengubah Perangkat Output

Secara default pencetakan data akan diarahkan ke layer, tetapi kita dapat

mengubah perangkat output atau keluaran dengan memberikan perintah SET,

yang berfungsi mengubah perangkat output atau keluaran yang digunakan,

yang antara lain dari :

Page 60: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lx

1. SET ALTERNATE ON/OFF

Perintah ini berfungsi untuk mengaktifkan (ON) atau menonaktifkan

(OFF) perangkat file yang telah dibuka denga perintah SET

ALTERNATE TO.

Contoh :

Clear

?”Dicetak di layer”

//ditampilkan di layer

SET ALTERNATE TO teks.prn

SET ALTERNATE ON

?”Mencetak data ke dalam file TEKS.PRN”

SET ALTERNATE OFF

SET ALTERNATE TO

?”Kemabali hanya di cetak ke layer”

Return

Gambar 6.6 Contoh Perintah SET ALTERNATE TO

2. SET ALTERNATE TO

Perintah ini berfungsi untuk membuka perangkat file yang akan dipakai

untuk menyimpan hasil keluaran perintah mencetak data dengan perintah ?

atau ??.

Bentuk umum penulisan :

SET ALTERNATE TO <nama file> [ADDITIVE]

Gambar 6.7 Bentuk Penulisan Perintah SET ALTERNATE TO

Keterangan :

<nama file> adalah nama perangkat file yang dibuka.

[ADDITIVE] option ini berfungsi untuk mengatur proses perlakuan

terhadap file yang dibuka, jika nama file tersebut sudah ada, maka data

akan ditambahkan sebagai data berikutnya dan jika tidak disertakan

option tersebut, maka file sebelumnya dihapus dan diisikan dengan

data yang baru (overwrite).

Page 61: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxi

Untuk menutup perangkat file yang telah dibuka cukup diberi perintah

SET ALTERNATE TO.

3. SET CONSOLE ON/OFF

Perintah ini berfungsi untuk mengaktifkan (ON) atau menonaktifkan

(OFF) perangkat layar. Dalam keadaan default perintah ini adalah aktif

(ON), sehingga dapat menampilkan atau mencetak data ke layar dengan

menggunakan perintah ? atau ??, dan untuk menonaktifkan dapat diberikan

perintah SET CONSOL OFF, sehingga dengan perintah ? atau ??, data

tidak dicetak atau ditampilkan ke layar.

Contoh :

Clear

?”Cetak di layar”

SET CONSOLE OFF

?”Data tidak dicetak di layer”

SET CONSOLE ON

?”Data kembali dicetak di layar”

RETURN

Gambar 6.8 Contoh Penulisan Perintah SET CONSOLE ON/OFF

4. SET PRINT ON/OFF

Perintah ini berfungsi untuk mengaktifkan (ON) atau menonaktifkan

(OFF) perangkat printer. Dalam keadaan default perintah ini adalah

nonaktif (OFF), sehingga anda tidak dapat menampilkan atau mencetak

data ke printer denga menggunakan perintah ? atau ??, dan untuk

mengaktifkan dapat diberikan perintah SET PRINTER ON.

Contoh :

Clear

?”Dicetak di layar”

SET PRINT ON

?”Data tidak dicetak di layer dank e printer”

SET CONSOLE OFF

?”Data hanya dicetak ke printer saja”

Page 62: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxii

SET CONSOLE ON

SET PRINTER OFF

?”Data hanya dicetak ke layer”

Gambar 6.9 Contoh Penulisan Perintah SET PRINT ON/OFF

5. SET DEVICE TO PRINTER / SCREEN

Perintah ini berfungsi untuk mengaktifkan perangkat pencetak (printer)

atau layer (screen). Dalam keadaan default perangkat output atau keluaran

yang diaktifkan adalah layer (screen), sehingga dengan menggunakan

perintah @ … SAY, data akan dicetak atau ditampilkan ke layer. Untuk

mencetak atau menampilkan data ke printer diberikan perintah SET

DEVICE TO PRINTER.

Contoh :

Clear

@10,10 SAY “Di cetak ke layer”

SET DEVICE TO PRINTER

@11,10 SAY “Data hanya dicetak ke printer saja”

SET DEVICE TO SCREEN

@12,10 SAY “Data kembali dicetak ke Layar”

?”Data ini juga dicetak ke layer”

RETURN

Gambar 6.10 Contoh Penulisan Perintah SET DEVICE TO

6. SET PRINTER TO

Perintah ini berfungsi untuk mengubah arah perangkat keluaran, dari data

yang dicetak atau ditampilkan dengan perintah @ ... SAY. Perintah ini

tidak berfungsi mengaktifkan perangkat output printer, tapi hanya

mengubah arah keluaran. Sehingga untuk menggunakan perintah ini

dengan perangkat output printer, maka perangkat printer harus diaktifkan

dengan perintah SET DEVICE TO PRINT.

Bentuk penulisannya :

SET PRINTER TO <arah perangkat output> [ADDITIVE]

Gambar 6.11 Bentuk Penulisan Perintah SET PRINTER TO

Keterangan :

Page 63: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxiii

<arah perangkat output> hanya dapat diisikan denga nama file, jika

menggunakan perangkat keluaran file dan diisikan dengan nama port

(LPT1, LPT2, COM1 atau yang lain)

[ADDITIVE] option ini berfungsi mengatur proses perlakuan terhadap

file yang dibuka, jika nama file yang disebutkan sudah ada, maka jika

option tersebut diberikan, data akan disertakan akan ditambahkan

sebagai data berikutnya dalam file dan jika tidak disertakan, maka file

sebelumnya dihapus dan diisikan yang baru (overwrite).

Contoh :

Clear

@10,10 SAY “Dicetak di layer”

SET DEVICE TO PRINTER

@11,10 SAY “Data hanya dicetak ke printer saja”

SET DEVICE TO LPT1

@12,10 SAY “Data dicetak ke printer dengan port LPT1”

SET DEVICE TO LPT2

@13,10 SAY “Data dicetak ke printer dengan port LPT2”

SET DEVICE TO COM1

@14,10 SAY “Data dicetak ke printer dengan port COM1”

SET DEVICE TO SCREEN

@15,10 SAY “Data Kembali dicetak ke layer”

?”data kembali dicetak ke layer”

Gambar 6.12 Contoh Penulisan Perintah SET PRINTER TO

C. Perintah-perintah dan Fungsi-Fungsi Perangkat Output Layar

1. Perintah-Perintah Perangkat Output Layar

Perintah-perintah output atau keluaran ini berfungsi khusus untuk

membantu anda dalam merancang tampilan layar, misalkan membuat

kotak, membuat menu pull-down dan lain-lain. Perintah-perintah tersebut

adalah :

a. CLS atau CLEAR

Perintah ini berfungsi untuk menghapus atau membersihkan seluruh

tampilan yang ada pada layar.

Contoh :

CLS

Page 64: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxiv

CLEAR

@0,0 CLEAR

Return

Gambar 6.13 Contoh Penulisan Perintah CLEAR

b. @ ... CLEAR

Perintah ini berfungsi untuk membersihkan atau menghapus sebagian

atau seluruh tampilan yang ada pada layar. Bentuk umum perintah ini

adalah :

@<atas>,<kiri> CLEAR TO <bawah>,<kanan>

Contoh :

//membersihkan seluruh layar

@0,0 CLEAR

//membersihkan layer posisi 24,0 sampai dengan 24,79

@24,0 CLEAR

//membersihkan layer posisi 10,10 sampai dengan 12,60

@10,10 CLEAR TO 12,60

Gambar 6.14 Contoh Penulisan Perintah @ ... CLEAR

c. @ … TO

Perintah ini berfungsi untuk membuat kotak tunggal (single) atau

ganda (double), dengan cara cukup menyebutkan nilai koordinat kotak

yang dibuat. Bentuk umum penulisan perintahnya adalah :

@<atas>,<kiri> TO <bawah>,<kanan> [SINGLE/DOUBLE] [COLOR<warna>]

//membuat kotak garis tunggal

@5,5 TO 20,75

//Membuat kotak garis ganda

@10,10 TO 15,70 DOUBLE

//Membat kotak garis tunggal dengan warna merah

@12,15 TO 14,70 CLOR(“R”)

Gambar 6.15 Contoh Penulisan Perintah @ ... TO

d. @ … BOX

Page 65: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxv

Sama seperti printah @ … TO, perintah ini berfungsi untuk membuat

kotak di layer, perbedaannya hanya pada bentuk garis yang digunakan.

Bentuk umum perintah ini adalah :

@<atas>,<kiri>,<bawah>,<kanan> BOX <bentuk garis> COLOR<warna>

Contoh :

CLEAR

@5,1,8,15 BOX “abcdefgh:”

RETURN

Gambar 6.16 Contoh Penulisan Perintah @ ... BOX

e. Include “box.ch”

Dari file include BOX.CH yang disediakan oleh program clipper,

bentuk garis yang dapat digunakan dalam perintah @ … BOX,

didefinisikan bias diambil dari file include BOX.CH sebanyak 4

bentuk garis kotak yang disimbolkan dalam konstanta sebagai berikut :

Tabel 6.4 Simbol Konstanta

Konstanta Simbolik Bentuk Garis

B_SINGLE Garis Tunggal

B_DOUBLE Garis Ganda

B_SINGLE_DOUBLE Garis Tunggal Ganda

B_DOUBLE_SINGLE Garis Ganda Tunggal

Contoh :

#include “box.ch”

@5,1,8,15 BOX B_SINGLE

@5,1,8,15 BOX B_DOUBLE

@5,1,8,15 BOX B_SINGLE_DOUBLE

@5,1,8,15 BOX B_DOUBLE_SINGLE

Gambar 6.17 Contoh Penulisan Perintah #Include “BOX.CH”

f. @ … PROMPT

Perintah ini dipakai untuk menentukan suatu pilihan tertentu, misalkan

menu puldown, di mana dengan menggunakan perintah ini, anda dapat

secara otomatis menentukan item data, berikut pesan (jika diperlukan),

Page 66: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxvi

cukup dengan menggerakkan anak panah yang dilanjutkan dengan

enter atau menekan huruf pertama dari item data. Bentuk umum

penulisan @ … PROMPT adalah sebagai berikut :

@<baris>,<kolom> PROMT <item pilihan> MESSAGE <pesan>

Perintah SET MESSAGE TO … yang berfungsi untuk untuk

menentukan posisi baris dari pesan yang akan ditampilkan. Bentuk

umum perintah ini adalah :

SET MESSAGE TO <baris> [CENTER/CENTRE]

Nilai hasil pilihan dari menu puldown disimpan ke dalam sauatu

variable numeric, dengan menggunakan perintah MENU TO, bentuk

umumnya adalah :

MENU TO <variable nilai pilihan>

Contoh penggunaan :

CLEAR

Local npil, nsubpil

Npil=0

SET MESSAGE TO 24 CENTER

DO WHILE .T.

CLEAR

@5,10 PROMPT “File Master” MESSAGE “Pengolahan Data Master”

@6,10 PROMPT “Transaksi” MESSAGE “Pencatatan Data Transaksi”

@7,10 PROMPT “Laporan” MESSAGE “Pencetakan laporan-laporan”

@8,10 PROMPT “Utility” MESSAGE “Menggunakan Program Bantu”

@9,10 PROMPT “Konfigurasi MESSAGE “Setup Data Konfigurasi”

@10,10 PROMPT “Selesai” MESSAGE “Keluar Program”

MENU TO npil

DO CASE

CASE npil=0 .or. npil=6

Close all

Return

Case npil=1

………

Case npil=2

Nsubpil=0

Clear

Page 67: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxvii

@5,10 Say “Penjualan” message “Transaksi Penjualan”

@6,10 say “Pembayaran” message “Transaksi Pembayaran”

@7,10 say “Retur” message “Transaksi Retur”

@8,10 say “Selesai” message “Kelaur”

MENU TO npil

DO CASE

Case npil=0 .or. npil-6

EXIT

Case npil=1

…………

Case npil=2

………….

Case npil=3

………….

ENDDO

Case npil=3

…………………..

Case npil=4

………………….

Case npil=5

…………………

ENDDO

RETURN

Gambar 6.18 Contoh Penulisan Perintah @ .... PROMPT

2. Fungsi-Fingsi Perangkat Output Layar

a. ALERT()

Fungsi ini digunakan untuk menampilkan alert atau kotak yang

fungsinya menampilkan informasi suatu kondisi yang terjadi,

kemudian menunggu tindakan tertentu yang dilakukan oleh pemakai

berdasar pilihan dari item yang ditampilkan. Fungsi ini biasanya

digunakan untuk menampilkan pesan kesalahan sekaligus meminta

konfirmasi tindakan selanjutnya. Bentuk umum perintah ini adalah :

Page 68: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxviii

ALERT(<pesan>,<data array item pilihan> nilai balik numeric

Contoh :

CLEAR

Local npilihan, npil

Npilihan:={“Koreksi”,”Hapus”,”Batal”}

Npil:=0

Npil:=ALERT(“Data SUdah Ada ….!”,npilihan)

Do case

Case npil=1

……………..

Case npil=2

…………….

Case npil=3

……………

ENDCASE

…………

RETURN

Gambar 6.19 Bentuk Penulisan Fungsi ALERT()

b. DispBox()

Fungsi ini digunakan sama seperti perintah @ … TO atau @ … BOX,

yaitu membuat atau mencetak kotak dengan koordinat tertentu dan

bentuk garis yang dapat anda tentukan. Bentuk umum penulisan

perintah ini adalah :

DispBox(<atas>,<kiri>,<bawah>,<kanan>,<bentuk garis>,<warna>)

Contoh :

//membuat kotak dengan garis tunggal dengan warna teks merah,

//latar belakang biru

CLEAR

DispBox(2,10,10,70,1,”R/B”)

RETURN

Page 69: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxix

Gambar 6.20 Bentuk Penulisan Fungsi DisBox()

c. MaxRow() dan MaxCol()

Kedua fungsi ini berguna untuk mengembalikan nailai balik numeric

dari posisi maksimal baris (24) dan kolom (79) yang dapat digunakan.

Bentuk umum penulisan :

MaxRow()

MaxCol()

Gambar 6.21 Bentuk Penulisan Fungsi MaxRow dan MaxCol()

Contoh :

//Membuat kotak dengan garis tunggal dengan warna teks merah

//latar belakang biru

DispBox(0,0,24,79,1,”R/B”)

DispBox(0,0,MaxRow(),MaxCol(),1,”R/B”)

Layar1:=savesreen(0,0,24,79)

Layar2:=save screen(0,0,MaxRow(),MaxCol())

RETURN

Gambar 6.22 Contoh Penulisan Fungsi MaxRow dan MaxCol()

d. SaveScreen dan RestScreen()

Kedua fungsi ini gunanya saling mendukung, yaitu fungsi

SaveScreen() berfungsi untuk menentukan atau menghasilkan nilai

balik data dalam string dari seluruh atau sebagai tampilan di layer yang

disimpan, sedangkan fungsi RestScreen() berfungsi untuk

menampilkan atau mengambil data string tampilan di layer yang

pernah disimpan dalam suatu variable string. Bentuk umum perintah

ini adalah :

<var layer>:=SaveScreen(,atas>,<kiri>,<bawah>,<kanan>)

RestScreen(<atas>,<kiri>,<bawah>,<kanan>,<var layer>)

Gambar 6.23 Bentuk Penulisan Fungsi Savescreen() dan Restscreen()

Penggunaan kedua fungsi ini selalu bersamaam dalam satu program,

yaitu menyimpan seluruh atau sebagai layar dan pada suatu saat jika

diperlukan, dapat anda panggil lagi layar yang disimpan tadi tanpa

Page 70: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxx

harus menampilkan atau mencetak tampilan yang ulang, sehingga akan

mempercepat proses yang dilakukan.

Contoh :

#INCLUDE "BOX.CH"

PUBLIC NO

set wrap on

set mess to 24

do while .t.

set colo to g+/w

@0,0 clea to 0,79

@24,0 clea to 24,79

set colo to b+/w

frame := repl (chr(176),9)

@1,0,23,79 box frame

@0,5 prompt "File" mess "Proses Entry Data"

@0,20 prompt "Informasi" mess "Proses Cetak Informasi"

@0,40 prompt "Utility" mess "Proses Bantuan"

menu to pilih

do case

case pilih = 1

menu1()

case pilih = 2

menu2()

case pilih = 3

menu3()

endcase

end do

func menu1()

local msscreen, mcolor

save screen to msscreen

mcolor := setcolor()

do while .t.

set key 4 to rkey

set key 19 to lkey

set colo to w+/b

@1,5 clea to 5,24

@1,5 to 5,24

@2,6 prompt "Tabel Klasifikasi"

@3,6 prompt "Tabel Ruang "

@4,6 prompt "Tabel Barang "

menu to P1

do case

case P1 = 0

exit

CASE P1=1

rest screen from msscreen

CASE P1=2

rest screen from msscreen

CASE P1=3

rest screen from msscreen

Page 71: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxi

endcase

enddo

rest screen from msscreen

setcolor(mcolor)

return

func menu2()

local msscreen, mcolor

save screen to msscreen

mcolor:=setcolor()

do while .t.

set key 4 to rkey

set key 19 to lkey

set colo to w+/b

@1,20 clea to 5,41

@1,20 to 5,41

@2,21 prompt "Daftar Klasifikasi"

@3,21 prompt "Daftar Ruang"

@4,21 prompt "Daftar Barang"

menu to P1

do case

case P1 = 0

exit

case p1=3

rest screen from msscreen

endcase

enddo

rest screen from msscreen

setcolor(mcolor)

return

func menu23()

local msscreen, mcolor

save screen to msscreen

mcolor:=setcolor()

do while .t.

set key 4 to rkey

set key 19 to lkey

set colo to w+/b

@4,30 clea to 8,47

@4,30 to 8,47

@5,31 prompt "Keseluruhan "

@6,31 prompt "Per Klasifikasi"

@7,31 prompt "Per Ruang "

menu to P1

do case

case P1 = 0

exit

endcase

enddo

rest screen from msscreen

setcolor(mcolor)

return

func menu3()

local msscreen, mcolor

save screen to msscreen

Page 72: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxii

mcolor := setcolor()

do while .t.

set key 4 to rkey

set key 19 to lkey

set colo to w+/b

@1,40 clea to 7,52

@1,40 to 7,52

@2,41 prompt "Backup"

@3,41 prompt "Restore"

@4,41 prompt "Index"

@5,41 prompt "Help"

@6,41 prompt "Selesai"

menu to P1

set key 4 to

set key 19 to

do case

case P1 = 0

exit

case P1 = 3

case p1=5

quit

endcase

enddo

rest screen from msscreen

setcolor(mcolor)

return

Gambar 6.24 Contoh Penulisan Fungsi Savescreen() dan Restscreen()

e. Scroll()

Berfungsi untuk menggulung sebagian atau seluruh layer ke atas atau

ke bawah sejumlah baris yang ditentukan. Bentuk umum penulisannya

adalah :

Scroll(<atas>,<kiri>,<bawah>,<kanan>,<baris>)

Contoh :

//Menggulung layer diposisi tertentu 1 baris ke atas

Clear

Scroll(2,10,10,50,1)

//Menggulung layer diposisi tertentu 2 baris ke bawah

Clear

Scroll(5,20,12,60,-2)

Gambar 6.25 Bentuk Penulisan Fungsi Scroll()

f. SetColor()

Page 73: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxiii

Berfungsi untuk mengubah atau mengatur warna tampilan di layer.

Fungsi ini menerima 5 data setelan warna dengan masing-masing

fungsi yang berbeda. Bentuk umum penulisannya adalah :

Set Color(<data warna string>

Gambar 6.26 Bentuk Penulisan Fungsi SetColor()

Keterangan :

<data warna string> adalah 5 data setelan warna dalam bentuk

string dengan masing-masing maksud pewarnaan terhadap bagian

yang berbeda-beda. 5 data setelan tersebut disusun sebagai berikut

:

<warna1>,<warna2>,<warna3>,<warna4>,<warna5>

Gambar 6.27 Setelan warna

Tabel 6.5 Data Warna

Perintah Warna Efek

? atau ?? Warna1 Tampilan keluaran

@ … SAY Warna1 Tampilan keluaran

@ … GET Warna1 Tampilan teks pada GET

Warna2 Tampilan sel GET yang aktif atau yang

disorot

Warna5 Tampilan sel GET yang aktif atau yang

tidak disorot

@ … BOX Warna1 Tampilan kotak

@ .. CLEAR Warna1 Warna daerah layer yang dihapus

Warna3 Warna bingkai layer yang tidak dapat

diisi tampilan

@..PROMPT Warna1 Tampilan menu yang tidak disorot

Warna2 Tampilan menu yang disorot

Achoice Earna1 Tampilan menu yang tidak disorot

Warna2 Tampilan menu yang disorot

Warna3 Tampilan menu yang dipilih

DbEdit Warna1 Warna teks record yang ditampilkan

Warna2 Warna teks recort yang aktif atau disorot

Contoh :

Clear

Local cwarna

Local cnama:=space(20)

Local calamat:=space(30)

Cwarna:=set clolor()

//tentukan tampilan warna

Page 74: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxiv

Set Color(“W+/B,N/W,,,GR+/B”) @10,10 SAY “Teks tercetak dengan warna putih terang, dengan latar belakang biru (W+/B)”

@20,10 GET Cnama PICTURE “@!”

@21,10 GET calamat PICTURE “@!”

READ

RETURN

Gambar 6.28 Contoh Penulisan Fungsi SetColor()

g. Set Cursor()

Dalam pemrograman kadang perlu adanya pembentukan tampilan agar

lebih bagus dengan cara mengubah bentuk kursor, misalkan saat

menampilkan atau mencetak laporan, bentuk kursor dihilangkan atau

disembunyikan dan pada saat menjalankan program menyisipkan data,

bentuk kursor dibuat besar dan sebagainya. Bentuk umum

penulisannya adalah :

Set Cursor(<bentuk kursor>)

Gambar 6.29 Bentuk Penulisan Fungsi Set Cursor()

Berikut bentuk kursor berikut kodenya dapat anada lihat pada table

berikut ini :

Tabel 6.6 Bentuk Kursor

Bentuk Kode SETCUSR.CH

Tanpa kursor 2 SC_NONE

Kursor normal 1 SC_NORMAL

Kursor separuh blok bawah 2 SC_INSERT

Kursor blok penuh 3 SC_SPECIAL1

Kursor separuh blok atas 4 SC_SPESIAL2

Untuk pengaktifan diberi perintah :

#INCLUDE "SETCURS.CH"

Nkursor:=set cursor()

Setcursor(0)

Setcursor(SC_SPESIAL1)

Gambar 6.30 Contoh Penulisan Fungsi Set Cursor()

h. Set Mode()

Berfungsi untuk mengubah modus video layer monitor yang

digunakan. Bentuk umum penulisannya adalah :

Set Mode(<baris>,<kolom>)

Page 75: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxv

Contoh :

Clear

IF SetMode(43,80)

@42,10 SAY “Pengubah menjadi 43 baris berhasil”

ELSE

@24,10 SAY “Pengubahan menjadi 43 baris gagal”

ENDIF

RETURN

Gambar 6.31 Bentuk Penulisan Fungsi SetMode()

i. TRANSFORM()

Fungsi ini berguna untuk mengkonversikan nilai data berjenis apapun

menjadi data string dengan format tampilan sesuai dengan yang

diberikan. Bentuk umum penulisannya adalah :

Transform(<nilai>,<format>)

Contoh :

Clear

Local nilai

Nilai=700000.50

?Transform(nilai,”999,999,999.99”)

RETURN

Gambar 6.32 Bentuk Penulisan Fungsi Transform()

D. Fungsi-Fungsi Output (Keluaran)

1. Fungsi-Fungsi Kepala Pencetak (Printer Head)

Fungsi ini terdiri dari 3 fungsi dengan masing-masing fungsinya yaitu

Pcol(), Prow() dan SetPrc() yang dapat dijelaskan sebagai berikut :

Pcol()

Berfungsi untuk menentukan nilai posisi kolom dari kepala pencetak

yang aktif dan dikembalikan sebagai nilai balik dari fungsi tersebt.

Prow()

Berfungsi untuk menentukan nilai posisi baris dari kepala pencetak

yang aktif dan dikembalikan sebagai nilai balik dari fungsi tersebut.

SetPrc()

Page 76: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxvi

Digunakan untuk menset posisi kepala pencetak ke kolom dan baris

tertentu sesuai dengan yang disebutkan dalam fungsi tersebut.

Contoh :

CLEAR

SET DEVICE TO PRINT

@10,15 SAY “Teks Judul”

?Prow()

?Pcol()

SetPrc(1,1)

?Prow()

?Pcol()

RETURN

Gambar 6.33 Contoh Penulisan Fungsi Prow(), Pcol(),SetPrc()

2. Fungsi-Fungsi Pengatur Posisi Perangkat Output

Fungsi-fungsi ini terdiri dari 3 buah fungsi dengan masing-masing

kegunaannya yaitu :

DevPos()

Berfungsi untuk memindahkan kursor atau kepala pencetak ke posisi

kolom dan baris yang ditentukan. Perintah ini tergantung dari

perangkat output yang diaktifkan.

SetPos()

Berfungsi sama seperti DevPos(), tetapi hanya dapat digunakan untuk

menset posisi kursor di baris dan kolom yang ditentukan dan tidak

dapat digunakan untuk menset posisi kepala pencetak.

SetPrc()

Contoh :

Clear

SET DEVICE TO PRINT

SetPos(5,10)

DevPos(2,15)

DevOut(“Mencetak ke printer, diposisi 2,15”)

SET DEVICE TO SCREEN

DevOut(“Mencetak ke layer, diposisi 5,10”)

Page 77: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxvii

DevPos(10,25)

DevOut(“Mencetak ke layer, diposisi 10,25”)

RETURN

Gambar 6.34 Contoh Penulisan Fungsi Devpos(), Setpos(), SetPrc()

E. Perintah-Perintah yang Mempengaruhi Pencetakan Data

1. Perintah SET DECIMAL TO

Perintah ini berfungsi untuk menentukan setiap pencetakan data numeric

yang dilakukan tanpa menggunakan format atau picture, maka akan

ditampilkan secara otomatis nilai decimal yang digunakan sebanyak n

digit, sesuai dengan yang didefinisikan. Bentuk umum penulisannya

adalah :

SET DECIMAL TO <jumlah digit decimal>

Contoh :

Clear

Local angka

Angka:=1234

SET DECIMAL TO 2

?angka

SET DECIMAL TO 4

?4/2

Gambar 6.35 Bentuk Penulisan Perintah SET DECIMAL TO

2. Perintah SET FIXED ON/OFF

Perintah ini berfungsi untuk mengaktifkan atau menonaktifkan pembulatan

terhadap nilai decimal yang ada, sehingga perintah ini juga akan

mempengaruhi perintah SET DECIMAL TO.

Contoh :

Clear

Page 78: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxviii

Local angka1, angka2

Angka1:=1234

Angka2:=1234.2

SET DECIMAL TO 2

SET FIXET ON

?angka1

SET FIXED OFF

?angka2

Gambar 6.36 Contoh Penulisan Perintah SET DECIMAL TO, SET FIXED

3. Perintah SET MARGIN TO

Perintah ini berfungsi untuk menentukan offset atau batas kolom awal

mulai pencetakan pada kertas, jika menggunakan perangkat keluaran

printer. Bentuk umum penulisannya adalah :

SET MARGIN TO <offset printer>

Gambar 6.37 Bentuk Penulisan Perintah SET MARGIN TO

F. Fungsi Output Suara

Program clipper juga menyediakan satu fungsi dengan output atau keluaran

suara ke perangkat output speaker. Fungsi tersebut adalah Tone(), yang bentuk

umum penulisannya adalah :

Tone(<frekwensi>,<lama bunyi>)

Contoh 1:

Clear

Locak bunyi

For bunyi:=1 to 1000 Step 50

Tone(bunyi,18)

NEXT

RETURN

Page 79: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxix

Contoh 2:

Clear

Locak bunyi

For bunyi:=1000 to 1 Step -50

Tone(bunyi,18)

NEXT

RETURN

Gambar 6.38 Bentuk Penulisan Funsi Suara

Page 80: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxx

BAB VII

MASUKKAN ATAU INPUT DATA

Tujuan Instruksional Umum :

Mahasiswa dapat memahami perintah memasukkan data dengan @..Get, Inkey(), LastKey(),

NextKey() dan Perintah Keyboard.

Tujuan Instruksional Khusus :

1. Mahasiswa mengetahui dan dapat menerapkan perintah memasukkan data dengan @ .. Get.

2. Mahasiswa mengetahui dan dapat menerapkan perintah memasukkan data dengan fungsi

Inkey(), Lastkey() atau Nextkey().

3. Mahasiswa mengetahui dan dapat menerapkan perintah memasukkan data dengan perintah

KEYBOARD.

Dalam memasukkan atau input data lewat keyboard ada 3 jenis masukan yaitu :

Memasukkan data dengan perintah @ … GET

Memasukkan data lewat fungsi Inkey(), LastKey() atau NextKey()

Memasukkan data dengan perintah KEYBOARD

A. Memasukkan Data dengan Perintah @ … GET

Perintah @ … GET dalah satu-satunya perintah memasukkan atau input data

yang paling interaktif antara program dengan pemakai. Dengan perintah @ …

GET ini, saat dieksekusi akan menciptakan objek terhadap variable yang

digunakan untuk menampung data yang akan kita masukkan. Bentuk umum

penulisan perintah adalah :

@<baris>,<kolom> GET <variable> PICTURE <picture>

COLOR<warna>WHEN<ekspresi logika1>RANGE<nilai terkecil>,<nilai

terbesar>VALID<ekspresi logika2>

Gambar 7.1 Bentuk Penulisan Perintah @ ... GET

Format tampilan <picture> yang digunakan dituliskan sebagai data string

dengan kode tertentu, yang diapit dengan tanda string petik tunggal atau

ganda. Format tampilan yang digunakan untuk perintah ini dikelompokkan

dalam dua kelompok, yaitu Picture Function dan Picture Tamplate.

Tabel 7.1 Picture Fuction

Format Kegunaan

B Menampilkan data angka rata kiri

C Menampilkan data CR setelah angka positif

D Menampilkan data tanggal dalam format SET DATE

E Menampilkan data tanggal dan angka dalam format British

R Menampilkan karakter nontemplete apa adanya

X Menampilkan tanda DB setelah angka negatif

Z Menampilkan angka 0 sebagai data atau karakter kosong

( Menampilkan tanda (), jika angka yang ditampilkan negatif

Page 81: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxxi

! Mengkonversi data abjad menjadi abjad kapital

Tabel 7.2 Picture Template

Format Kegunaan

A Menampilkan data abjad sejumlah yang dituliskan

N Menampilkan data logikal sejumlah yang dituliskan

X Menampilkan data umum (abjad atau angka) sejumlah yang

dituliskan

9 Menampilkan data angka sejumlah yang dituliskan

# Menampilkan data angka sejumlah yang dituliskan

L Menampilkan data logical ”T” atau ”F”

Y Menampilkan data logical ”Y” atau ”N”

! Mengkonversi data abjad menjadi abjad kapital

$ Menampilkan tanda dollar sebagai ganti spasi yang berada

di awal data angka

* Menampilkan tanda bintang sebagai ganti spasi yang

berada di awal data angka

. Menentukan posisi titik desimal yang digunakan oleh data

angka

, Menentukan posisi koma sebagai pemisah angka (ribuan,

jutaan dll)

Contoh :

MEMVAR Getlist

Procedure isi()

Local jmlanak:=0

Private kawin:=space(1)

@10,10 SAY “Status K/B : “

@11,10 SAY “Jumlah Anak : “

@11,24 GET jmlanak Picture “99” WHEN isikawin()

READ

RETUN

Function Isikawin()

@11,24 get kawin picture “@!” valid kawin$”KB”

Read

If kawin=”K”

Return .T.

Endif

Page 82: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxxii

Return.f.

Gambar 7.2 Contoh Penulisan Perintah @ ... GET

SET DELIMITERS

Perintah ini berfungsi untuk mengaktifkan atau menonaktifkan

pembatas yang digunakan saat pengisian data dengan perintah @

… GET. Bentuk umum penulisan perintah SET DELIMITERS

adalah :

SET DELIMITERS ON/OFF

SET DELIMITERS TO <karakter pembatas>

Gambar 7.3 Bentuk Penulisan Perintah SET DELIMITERS

B. Memasukkan Data Lewat Fungsi Inkey(), LastKey() atau NextKey()

1. Inkey()

Fungsi ini berfungsi untuk mengambil buffer keyboard yang diketikan.

Proses yang dilakukan adalah menunggu masukkan sekaligus membaca

dan menghasilkan nilai balikberupa kode tombolyang ditekan. Bentuk

umum penulisannya adalah :

INKEY(<detik>)

Contoh :

#INCLUDE ”INKEY.CH”

Clear

Local tekan:=0

Inkey(0)

Tekan:=0

Do while tekan=0

Tekan:=inkey()

Enddo

Tekan:=inkey(10)

Return

Gambar 7.4 Contoh Penulisan Perintah Fungsi Inkey()

Page 83: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxxiii

Berikut kode-kode tombol :

Tabel 7.3 Tombol Menggerakkan Kursor

Tombol Kode Inkey.ch Keterangan

Uprrow,ctrl-E 5 K_UP

Dnarrow, ctrl-x 24 K_DOWN

Leftarrow,ctrl-s 19 K_LEFT

Rightarrow,ctrl-d 4 K_RIGHT

Home,ctrl-a 1 K_HOME

End, ctrl-f 6 K_END

PgUp, Ctrl-R 18 K_PGUP

PgDn, Ctrl-C 3 K_PGDN

Ctrl-Leftarrow,Ctrl-Z 26 K_CTRL_LEFT

Ctrl-Rightarrow, Ctrl-B 2 K_CTRL_RIGHT

Ctl-Home, Ctrl-] 29 K_CTRL_HOME

Ctrl-End, Ctrl-W 23 K_CTRL_END

CtrlPgUp, Ctrl-Hyphen 31 K_CTRL_PGUP

Ctrl-PgDn, Ctrl-^ 30 K_CTRL_PGDN

Ctrl-Retrun 10 K_CTRL_RET

Ctrl-ScrollLock 3 K_CTRL_C

Esc, Ctrl-[ 27 K_ESC

Return, Ctrl-M 13 K_RETURN

Enter, Ctrl-M 13 K_ENTER

Tabel 7.4 Tombol Editing

Tombol Kode Inkey.ch Keterangan

Del, Ctrl-G 7 K_DEL

Tab, Ctrl –I 9 K_TAB

Shift-Tab 271 K_SH_TAB

Ins, Ctrl-V 22 K_INS

Backspace, Ctrl-H 8 K_BS

Ctrl-Backspace 127 K_CTRL_BS

Tabel 7.5 Tombol Fungsi

Tombol Kode Inkey.ch Keterangan

F1, Ctrl -\ 28 K_F1

F2 -1 K_F2

F3 -2 K_F3

F4 -3 K_F4

F5 -4 K_F5

Page 84: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxxiv

F6 -5 K_F6

F7 -6 K_F7

F8 -7 K_F8

F9 -8 K_F9

F10 -9 K_F10

Tabel 7.6 Tombol Alt

Tombol Kode Inkey.ch Keterangan

Alt-A 286 K_ALT_A

Alt-B 304 K_ALT_B

Alt-C 302 K_ALT_C

Alt-D 288 K_ALT_D

Alt-E 274 K_ALT_E

Alt-F 289 K_ALT_F

Alt-G 290 K_ALT_G

Alt-H 291 K_ALT_H

Alt-I 279 K_ALT_I

Alt-J 292 K_ALT_J

Alt-K 293 K_ALT_K

Alt-L 294 K_ALT_L

Alt-M 306 K_ALT_M

Alt-N 305 K_ALT_N

Alt-O 280 K_ALT_O

Alt-P 281 K_ALT_P

Alt-Q 272 K_ALT_Q

Alt-R 275 K_ALT_R

Alt-S 287 K_ALT_S

Alt-T 276 K_ALT_T

Alt-U 278 K_ALT_U

Alt-V 303 K_ALT_V

Alt-W 273 K_ALT_W

Alt-X 301 K_ALT_Y

Alt-Y 277 K_ALT_X

Alt-Z 300 K_ALT_Z

Tabel 7.7 Tombol Ctrl

Tombol Kode Inkey.ch Keterangan

Ctrl-A 1 K_ CTRL _A

Ctrl -B 2 K_ CTRL _B

Ctrl -C 3 K_ CTRL _C

Ctrl -D 4 K_ CTRL _D

Ctrl -E 5 K_ CTRL _E

Ctrl -F 6 K_ CTRL _F

Ctrl -G 7 K_ CTRL _G

Ctrl -H 8 K_ CTRL _H

Page 85: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxxv

Ctrl -I 9 K_ CTRL _I

Ctrl -J 10 K_ CTRL _J

Ctrl -K 11 K_ CTRL _K

Ctrl -L 12 K_ CTRL _L

Ctrl -M 13 K_ CTRL _M

Ctrl -N 14 K_ CTRL _N

Ctrl -O 15 K_ CTRL _O

Ctrl -P 16 K_ CTRL _P

Ctrl -Q 17 K_ CTRL _Q

Ctrl -R 18 K_ CTRL _R

Ctrl -S 19 K_ CTRL _S

Ctrl -T 20 K_ CTRL _T

Ctrl -U 21 K_ CTRL _U

Ctrl -V 22 K_ CTRL _V

Ctrl -W 23 K_ CTRL _W

Ctrl -X 24 K_ CTRL _Y

Ctrl -Y 25 K_ CTRL _X

Ctrl -Z 26 K_ CTRL _Z

Tabel 7.8 Tombol Shift-Fungsi

Tombol Kode Inkey.ch Keterangan

Shift-F1 -10 K_SH_F1

Shift-F2 -11 K_ SH_F2

Shift-F3 -12 K_ SH_F3

Shift-F4 -13 K_ SH_F4

Shift-F5 -14 K_ SH_F5

Shift-F6 -15 K_ SH_F6

Shift-F7 -16 K_ SH_F7

Shift-F8 -17 K_ SH_F8

Shift-F9 -18 K_ SH_F9

Shift-F10 -19 K_ SH_F10

Tabel 7.9 Tombol Ctrl-Fungsi

Tombol Kode Inkey.ch Keterangan

Ctrl-F1 -20 K_CTRL_F1

Ctrl-F2 -21 K_ CTRL_F2

Ctrl-F3 -22 K_ CTRL_F3

Ctrl-F4 -23 K_ CTRL_F4

Ctrl-F5 -24 K_ CTRL_F5

Ctrl-F6 -25 K_ CTRL_F6

Ctrl-F7 -26 K_ CTRL_F7

Ctrl-F8 -27 K_ CTRL_F8

Ctrl-F9 -28 K_ CTRL_F9

Page 86: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxxvi

Ctrl-F10 -29 K_ CTRL_F10

Tabel 7.10 Tombol Alt-Fungsi

Tombol Kode Inkey.ch Keterangan

Alt_F1 -30 K_ALT_F1

Alt_F2 -31 K_ ALT_F2

Alt_F3 -32 K_ ALT_F3

Alt_F4 -33 K_ ALT_F4

Alt_F5 -34 K_ ALT_F5

Alt_F6 -35 K_ ALT_F6

Alt_F7 -36 K_ ALT_F7

Alt_F8 -37 K_ ALT_F8

Alt_F9 -38 K_ ALT_F9

Alt_F10 -39 K_ ALT_F10

Contoh :

# INCLUDE "INKEY.CH"

CLEA

TUNJUK()

DO WHILE .T.

X:=inkey(0)

do Case

Case X=K_F1

F1()

Case X=K_F2

F2()

Case X=K_F3

F3()

endcase

ENDDO

Func Tunjuk()

set colo to w+/b

@24,0 clea to 24,79

Page 87: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxxvii

@24,5 say 'Pres =>[F1] [F2] [F3] '

Return

FUNC F1()

set colo to w+/bg

@2,05 CLEA to 10,75

@2,05 TO 10,75

KATA1="TOMBOL YANG ANDA TEKAN"

@3,40-LEN(KATA1)/2 say kata1

@07,10 say ' TOMBOL F1 '

return

FUNC F2()

set colo to w+/bg

@2,05 CLEA to 10,75

@2,05 TO 10,75

KATA1="TOMBOL YANG ANDA TEKAN"

@3,40-LEN(KATA1)/2 say kata1

@07,10 say ' TOMBOL F2 '

return

FUNC F3()

set colo to w+/bg

@2,05 CLEA to 10,75

@2,05 TO 10,75

KATA1="TOMBOL YANG ANDA TEKAN"

@3,40-LEN(KATA1)/2 say kata1

@07,10 say ' TOMBOL F3 '

return

Gambar 7.5 Contoh Penulisan Perintah Fungsi Tombol

2. LastKey()

Fungsi ini berguna untuk membaca tombol terakhir yang ditekan. Fungsi

ini juga menghasilkan nilai balik kode tombol yang ditekan. Bentuk umum

penulisannya adalah :

LASTKEY()

Gambar 7.6 Bentuk Penulisan Fungsi LASTKEY()

3. NextKey()

Page 88: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxxviii

Sama seperti fungsi Inkey(), fungsi ini berguna untuk mengambil buffer

keyboard yang diketikkan. Perbedaannya, perintah NextKey() setelah

membaca dan menghasilkan nilai balik kode tombol yang ditekan, maka

nilai NextKey() tidak akan diset menjadi 0, tetapi fungsi Inkey() akan diset

menjadi 0. Bentuk umum penulisan fungsi ini adalah :

NEXTKEY()

Gambar 7.7 Bentuk Penulisan Fungsi NEXTKEY()

C. Memasukkan Data Lewat Fungsi Keyboard()

Dalam program clipper memberikan fasilitas memasukkan data ke dalam

buffer keyboard tanpa melalui proses pengetikan, jadi seolah-olah anda

menekan suatu tombol tanpa menekan tomol, dapat dilakukan dengan

menggunakan fungsi Keyboard(). Bentuk umum penulisan fungsi ini adalah :

Keyboard(<data string>)

Gambar 7.8 Bentuk Penulisan Fungsi KEYBOARD()

D. Perintah danFungsi Mendefinisikan Kunci (SET KEY & SetKey)

Program clipper menyediakan fasilitas SETKEY() atau perintah SET KEY

1. Fungsi SetKey()

Fungsi ini berguna untuk menandai suatu evaluasi data blok kode dengan

suatu kunci penekanan tertentu. Misalkan, jika ditekan kunci F1 akan

menjalankan blok kode bantuan. Fungsi ini bekerja hanya pada saat

keadaan menunggu sauatu masukkan dari keyboard, terhadap fungsi atau

perintah masukkan kecuali fungsi Inkey(), seperti DbEdit(), Achoice(),

MemoEdit(), ACCEPT, INPUT, READ dan WAIT. Bentuk umum

penulisan fungsi ini adalah :

SETKEY(<kode tombol>,<blok kode>)

Gambar 7.9 Bentuk Penulisan Fungsi SETKEY()

2. Perintah SET KEY

Perintah ini berguna sama seperti fungsi SetKey(), yaitu untuk menandai

suatu evaluasi atau penjalanan fungsi atau prosedur dengan suatu

penekanan kunci tertentu. Misalkan, jika ditekan kunci F1 akan

Page 89: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 lxxxix

menjalankan blok kode bantuan. Fungsi ini bekerja hanya pada saat

keadaan menunggu sauatu masukkan dari keyboard, terhadap fungsi atau

perintah masukkan kecuali fungsi Inkey(), seperti DbEdit(), Achoice(),

MemoEdit(), ACCEPT, INPUT, READ dan WAIT. Bentuk umum

penulisan fungsi ini adalah :

SET KEY <kode tombol> TO <fungsi atau prosedur>

Gambar 7.10 Bentuk Penulisan Perintah SET KEY

Contoh :

#include ”inkey.ch”

Clear

MEMVAR GetList

Procedure isiagama()

Local agama1:=space(7)

Set key K_f! TO pilihagama()

@11,10 say “Agama : “ get agama picture “@!”

Read

Return

Function pilihagama()

Local agama2:={“Islam”,”Kristen”,”Katolik”,”Hindu”,”Budha”}

Local I, pil, layer

Layer:=savescreen(0,0,MaxRow(),MaxCol())

@10,34 clear to 16,42

@10,34 to 16,42 double

Do while.t.

For i:=1 to 5

@10+I,35 Prompt agama2[i]

Next

Menu to pil

If pil<>0

Keyboard(agama2[pil]+chr(13))

Page 90: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xc

Restscreen(0,0,maxrow(),maxcol(),layer)

Exit

Endif

Enddo

Return.t.

Gambar 7.11 Bentuk Penulisan Perintah dan Fungsi SET KEY

BAB VIII

APLIKASI MENGGUNAKAN DATABASE

Tujuan Instruksional Umum :

Mahasiswa dapat mengenal database dan mengaplikasikannya ke dalam program.

Tujuan Instruksional Khusus :

1. Mahasiswa mengetahui definisi dan fungsi database, dapat menciptakan database dengan perintah fungsi Dbcreate()

dan dengan DBU Utility, dapat membuka dan menutup file database.

2. Mahasiswa dapat menciptakan file index dan dapat mengaktifkannya dan menutupnya. 3. Mahasiswa dapat mengoperasikan pencarian data record database.

4. Mahasiswa mengetahui dan dapat menggunakan perintah query database.

5. Mahasiswa mengetahui dan dapat menggunakan perintah menggerakkan record.

A. Definisi DATABASE

Database yang dimaksud di sini adalah suatu file dengan format

khusus yang berfungsi untuk menyimpan data-data dalambentuk lajur record.

Setiap file dapat terdiri lebih dari satu record yang diberi indentitas nomor

record, dan masing-masing record merupakan kelompok yang terdiri dari satu

atau lebih field dengan identitas nama field.

Seperti yang sudah kita kenal dalam pemrograman Dbase atau

FoxBase, spesifikasi database yang dipakai oleh program clipper yang

dibentuk dengan fungsi DbCreate(), adalah sama. Misalkan antara variable

memori dan nama filed yang data digunakan sama, hanya untuk variable

memory data tersimpan dalam memory, sedangkan untuk field data field

tersimpan dalam database (disk).

Secara default nama database menggunakan extension .DBF,

kecuali anda menentukan sendiri extention yang digunakan. Jika berekstention

Page 91: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xci

.DBF ada dapat menggunakan database tersebut cukup dengan menyebutkan

nama filenya saja.

B. Menciptakan Database

Untuk menciptakan file database, tidak seperti dalam program

dBase atau FoxBase, cukup memberikan perintah CREATE, kemudian tinggal

anda masukkan spesifikasi field-field database yang akan digunakan, tetapi

karena program clipper tidak mengenal perintah langsung, maka anda harus

membuat file database dengan menyusun sauatu program yang menggunakan

fungsi standar DbCreate(). Bentuk umum penulisan fungsi ini adalah :

DBCREATE(<nama database>,<variable struktur database>)

Gambar 8.1 Bentuk Penulisan Fungsi DbCreate()

Contoh :

Buatlah database di bawah ini :

Tabel 8.1 Contoh Tabel

Nama Field Type Lebar/Width Dec

Kd_brg C 5

Nm_brg C 20

Merk C 15

Satuan C 10

Harga N 7 0

stok N 4 0

Untuk membuat atau menciptakan database dengan struktur tersebut di atas

dapat anda gunakan program seperti berikut :

function database()

local struktur:={{“kd_brg”,”C”,5,0},;

{“nm_brg”,”C”,20,0}.;

{“merk”,”C”,15,0},;

{“satuan”,”C”,10,0},;

{“harga”,”N”,7,0},;

{“stok”,”N”,4,0}}

DbCreate(“Barang.DBF”,struktur)

Return

Page 92: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xcii

Atau

function database()

DbCreate(“Barang.DBF”,;

{{“kd_brg”,”C”,5,0},;

{“nm_brg”,”C”,20,0}.;

{“merk”,”C”,15,0},;

{“satuan”,”C”,10,0},;

{“harga”,”N”,7,0},;

{“stok”,”N”,4,0}}

INDEX ON NO_BAR TO BARANG.NTX

Return

Gambar 8.2 Contoh Penulisan Fungsi DbCreate()

Atau

Dengan melalui DBU Utility bawaan dari program clipper, yaitu dengan

menjalankan lewat Command Prompt :

Contoh :

D:\DBU

Gambar 8.3 Menjalankan DBU Utility lewat Command Prompt

Maka Akan muncul Database Utility seperti berikut :

Gambar 8.4 Database Utility

Page 93: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xciii

Kemudian tekan F3 (Create) dan pilih database untuk membuat database,

kemudian masukkan field beserta type dan widthnya seperti berikut :

Gambar 8.5 Mendesain database pada database utility

Kemudian tekan F4 (Save) untuk menyimpan database, dan berinama file

database pada file name, sepert pada gamabar berikut :

Gambar 8.6 Menyimpan file database pada database utility

Dengan demikian file database sudah terbentuk, dan siap dipanggil dan diisi

data atau record.

Page 94: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xciv

Kemudian pembuatan file index, yaitu Tekan Tombol F3 (create), pilih index,

pada file name beri nama file index, misal Barang.NTX, kemudian pada KEY

isikan yang menjadi field kunci, dalam hal ini field kuncinya adalah kd_brg.

Gambar 8.7 Membuat file index dengan DBU Utility

C. Menggunakan atau Mengaktifkan Database

Database yang dibuat baik dengan fungsi DbCreate() ataupun

dengan program dBase atau Foxbase atau dengan DBU Utility selanjutnya

dapat anda gunakan untuk berbagai aplikasi yang diinginkan. Untuk

menggunakan database tersebut terlebih dahulu database dibuka atau

diaktifkan, dengan menggunakan perintah USE, bentuk umum perintah ini

adalah :

USE <nama database> INDEX <daftar file index>

Atau

USE <nama database> INDEX <daftar file index> NEW

Gambar 8.8 Bentuk Penulisan Pemanggilan Database

Keterangan :

<nama database> adalah nama file database yang akan dibuka dan

digunakan

Page 95: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xcv

INDEX <daftar file index> option ini diberikan jika akan menggunakan

file index.

NEW, option ini digunakan atau dituliskan seandainnya anda akan

menggunakan atau membuka lebih dari satu database pada saat bersamaan.

Kesalahan yang mungkin terjadi pada saat diberikan perintah USE adalah

nama file tidak ada dalam directory yang aktif, oleh kare itu sering digunakan

sauatu fungsi standar yang dipakai untuk mengetahui apakah nama file yang

disebutkan ada dalam direktory ataukah tidak, yaitu fungsi File().

File()

Fungsi ini digunakan untuk mengetahui apakah nama file yang disebutkan

terdapat dalam directory ataukah tidak, dengan bentuk umum penulisan :

File <nama file>

Gambar 8.9 Bentuk Penulisan Fungsi File()

Contoh 1:

if file (“barang.dbf”)

use barang index barang

else

DbCreate(“Barang.DBF”,;

{{“kd_brg”,”C”,5,0},;

{“nm_brg”,”C”,20,0}.;

{“merk”,”C”,15,0},;

{“satuan”,”C”,10,0},;

{“harga”,”N”,7,0},;

{“stok”,”N”,4,0}}

Use barang

INDEX ON NO_BAR TO BARANG.NTX

Endif

Return

Contoh 2 :

if file (“barang.dbf”)

use barang index barang

else

Alert(“Database tidak ada dalam directory”)

Endif

Return

Page 96: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xcvi

Gambar 8.10 Contoh Penulisan Fungsi File()

Selain dengan cara tersebut, mengaktifkan database dapat dilakukan dengan

menggunakan operator makro (&).

Contoh :

clear

local nmfile:=space(8)

@10,10 say “Nama File Database yang dibuka : “ get

nmfile picture ”@A”

Read

Use &nmfile

Gambar 8.11 Contoh Penulisan Operator makro(&)

Selain menggunakan operator makro (&), dalam program clipper juga sudah

disediakan suatu penggunaan ekspresi karakter yang diperluas, yaitu tanda

makro atau tanda data string (petik ganda) yang dipakai dalam suatu ekspresi

dapat diganti dengan tanda kurung buka dan kurung tutup.

Contoh :

clear

local nmfile:=space(8)

@10,10 say “Nama File Database yang dibuka : “ get nmfile picture ”@A”

Read

if file(nmfile)

Use (nmfile)

Else

Alert(“Database tidak ada didirectory”)

Endif

return

Gambar 8.12 Contoh Pemanggilan Database dengan ekspresi karakter

D. Area Kerja Database

Database yang anda aktifkan atau anda gunakan selalu menempati

suatu area tertentu yang disebut dengan area kerja database. Perintah yang

digunakan untuk mengaktifkan atau menentukan area kerja yang dimaksud

adalah sama seperti dalam program dBase atau FoxBase yaitu SELECT. Jika

anda menggunakan cara tersebut, maka database yang diproses adalah

Page 97: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xcvii

database yang berada di dalam area kerja yang aktif. Suatu perbedaan yang

sangat menyolok dari antara penggunaan SELECT dalam dBase atau

FoxBase dengan program clipper, yaitu jumlah area kerja yang disediakan,

jika dalam dBase atau FoxBase hanya diberikan sebanyak 10 area kerja, tetapi

dalam program clipper disediakan sebanyak 250 area kerja yang dapat

digunakan bersama-sama. Namun-dapat kita ketahui bahwa untuk dapat

menggunakan secara bersama-sama file dalam suatu saat, tergantung juga dari

konfigurasi dari Dos yang dipakai, yaitu pada file CONFIG.SYS dari Dos

yang dipakai untuk proses Booting.

Bentuk umum penulisan perintah adalah :

SELECT <area kerja> / <nama alias database>

Gambar 8.13 Bentuk Penulisan Perintah SELECT

Keterangan :

<area kerja> adalah nilai angka dari area kerja yang diaktifkan, yang

terdiri antara 1 sapai 250

<nama alias database>, nama alias dari database di area kerja tertentu,

yang untuk selanjutnya dalam mengaktifkan area kerja database yang

digunakan oleh masing-masing database, bisa dilakukan dengan cukup

menyebutkan nama alias dari database, misalkan SELECT barang.

Contoh :

clear

select 1

use barang

select 2

use supplier

select 3

use customer

select 4

use transaksi

atau dapat dituliskan

clear

Page 98: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xcviii

Use barang NEW

Use supplier NEW

Use customer NEW

Use transaksi NEW

Gambar 8.14 Contoh Penulisan Perintah SELECT

Selain menggunakan option NEW, anda juga dapat menggunakan nilai 0

dalam perintah SELECT yang fungsinya sama seperti option NEW, yaitu

secara otomatis akan membuka atau mengaktifkan area kerja yang berbeda

secara berurutan dari area kerja yang kecil ke yang besar.

Contoh :

select 0

use barang

select 0

use supplier

select 0

use customer

select 0

use transaksi

Gambar 8.15 Contoh Penulisan Perintah SELECT ... NEW

E. Menutup Database

Setelah selesai anda menggunakan database, anda harus menutup

file database tersebut agar perubahan-perubahan yang terjadi misalkan

penambahan record, mengedit record dapat dituliskan secara permanen ke

dalam penyimpanan (disket atau hardisk), juga agar mengurangi penggunaan

memory yang berlebihan. Untuk menutup file database digunakan perintah

yaitu :

USE

CLOSE DATABASE

CLOSE ALL

CLOSE <nama alias database>

Gambar 8.16 Bentuk Penulisan Perintah Menutup File

Page 99: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 xcix

Keterangan :

Perintah USE, digunakan untuk menutup file database yang diaktifkan

pada area kerja yang aktif.

Perintah CLOSE DATABASE, digunakan untuk menutup seluruh file

database yang diaktifkan pada semua area kerja yang digunakan.

Perintah CLOSE ALL, digunakan untuk menutup semua file yang

diaktifkan dalam programtermasuk file-file database yang digunakan atau

diaktifkan.

Perintah CLOSE <nama alias database>, digunakan untuk menutup file

database yang disebutkan nama aliasnya dalam perintah.

Contoh :

clear

select 1

use barang

select 2

use supplier

select 3

use customer

select 4

use transaksi

select 1

use

close supplier

close database

Gambar 8.17 Contoh Penulisan Perintah Menutup File

F. File INDEX

Secara umum spesifikasi dari file index dan penggunaan dalam

program clipper sama dengan yang ada dalam program dBase atau FoxBase.

File index yang diciptakan oleh program clipper mempunyai ekstension

.NTX. file index ini selain untuk mengurutkan data, lebih lanjut tentang

penggunaannya dipakai dalam melakukan pencarian data. Pencarian data

secara biner dengan menggunakan file index dalam database yang mempunyai

jumlah record banyak akan sangat menguntungkan dibandingkan pencarian

data secara biasa tanpa file index.

1. Menciptakan File Index

Page 100: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 c

File index yang akan kita gunakan terlebih dahulu harus dibuat atau

diciptakan dengan menggunakan perintah INDEX ON atau dengan fungsi

DbCreateIndex(). Bentuk umum penulisannya adalah :

INDEX ON <ekspresi kunci index> TO <nama file index> <daerah>

FOR <kondisi> WHILE <kondisi> EVAL<blok kode evaluasi>

ASCENDING/DESCENDING

Gambar 8.18 Bentuk Penulisan Menciptakan File Index dengan INDEX ON

Keterangan :

<ekspresi kunci index> ekspresi dari field database yang dipakai

sebagai kunci index.

<nama file index> adalah nama file index yang dipakai untuk

menyimpan data index, sekaligus yang selanjutnya akan dipakai.

<daerah> digunakan jika anda akan mengindex database dengan

daerah atau scope tertentu.

WHILE<kondisi>, option ini jika diberikan akan mengindex record-

record database yang memenuhi syarat kondisi FOR yang diberikan.

ASCENDING/DISCENDING, secara normal proses index database

dilakukan secara menaik atau ascending, anda dapat dapat mengubah

perlakuan yang yang terjadi dengan yang terjadi dengan memberikan

option tersebut.

Sedangkan perintah fungsi DbCreateIndex(), bentuk umum penulisannya

adalah :

DbCreateIndex(<ekspresi kunci index>,<nama file index>)

Gambar 8.18 Bentuk Penulisan Menciptakan File Index dengan DbCreateIndex()

Keterangan :

<ekspresi kunci index> adalah ekspresi dari field database yang

dipakai sebagai kunci index yang dituliskan sebagai data string.

<nama file index> adalah nama file index yang dipakai untuk

menyimpan data index, sekaligus yang selanjutnya akan dipakai, yang

dituliskan sebagai data string. Jika dalam penulisan nama file index

Page 101: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 ci

tanpa ekstension .NTX, maka file index yang dibuat secara otomatis

akan diberikan ekstension .NTX.

Contoh 1 :

Use Barang

INDEX ON kd_brg TO barang1

INDEX ON nm_brg TO barang2 DESCENDING

Contoh 2 :

Use barang

DbCreateIndex(“kd_brg”,”barang”)

Gambar 8.18 Contoh Penulisan DbCreateIndex()

2. Menggunakan atau Mengaktifkan File Index

Perintah-perintah dan fungsi yang dapat dipakai untuk mengaktifkan file

index adalah USE ... INDEX, SET INDEX TO dan fungsi DbSetIndex().

Perintah USE ... INDEX, bentuk umum penulisannya sudah pernah

dijelaskan di depan, dan penulisan fungsi DbSetIndex() adalah :

SET INDEX TO <daftar file index>

DbSetIndex(<daftar file index>)

Gambar 8.19 Bentuk Penulisan Perintah SET INDEX, DbSetIndex()

Keterangan :

<daftar file index> adalah satu atau lebih nama file index yang akan

diaktifkan, jika lebih dari satu file index anatar file index satu dengan

lainnya disisipkan dengan tanda koma.

Contoh :

//Mengaktifkan file index 1

Clear

Use barang Index barang NEW

//Mengaktifkan file index 2

Use supplier index supplier NEW

//Mengaktifkan fiel index 3

Page 102: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cii

Use customer

SET INDEX TO customer1,customer2

Gambar 8.20 Contoh Penulisan Perintah SET INDEX, DbSetIndex()

3. Urutan File Index

Jika anda menggunakan lebih satu file index, dari semua file index

yang aktif hanya ada satu yang menjadi master atau yang menjadi dasar

proses, yaitu file index terakhir hanya ada satu yang menjadi dasar proses,

yaitu file index terakhir dalam daftar file index yang diaktifkan. Di sini

maka anda dapat secara bergantian mengubah-ubah master file index yang

digunakan, yaitu dengan cara memberikan perintah SET ORDER TO

atau fungsi DbSetOrder(), bentuk umum penulisannya adalah :

SET ORDER TO <nomor urutan file index>

DbSetOrder(<nomor urutan file index>)

Gambar 8.21 Bentuk Penulisan Perintah SET ORDER TO, DbSetOrder()

Keterangan :

<nomor urut file index> adalah nomor dari file index yang akan

dijadikan sebagai master, sesuai dengan urutannya.

Contoh :

Use barang

SET INDEX TO barang

Gambar 8.22 Contoh Penulisan Perintah SET ORDER TO, DbSetOrder()

4. mengindex Ulang File Database

Pada saat kita mengubah atau mengedit database, kemungkinan file index

tidak diaktifkan bisa saja terjadi, sehingga antara data-data dalam file

database dan file index tidak sesuai. Hal ini jika terjadi, maka dapat

ditanggulangi dengan cara mengindex ulang file database dengan cara

memberikan perintah INDEX ON … lagi atau dengan memberikan

perintah REINDEX atau fungsi DbReindex(), bentuk umum

penulisannya adalah :

REINDEX

DbReindex()

Page 103: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 ciii

Gambar 8.23 Bentuk Penulisan Perintah REINDEX, DbReindex()

Contoh :

Select a

Use barang index barang

Reindex

Select b

Use customer index customer

Reindex

Select c

Use supplier index supplier

DbReindex()

Gambar 8.24 Contoh Penulisan Perintah REINDEX, DbReindex()

5. Menmutup atau Menonaktifkan file Index

Untuk menutup file index yang digunakan tanpa menutup file database,

program clipper menyediakan dua cara yaitu dengan memberikan perintah

CLOSE INDEX dan fungsi DbClearIndex().

Contoh :

Select barang

Close index

Select customer

DbClearIndex()

Gambar 8.25 Contoh Penulisan Perintah Close Index, DbClearindex()

G. Pencarian Data Record Database

1. Pencarian Secara Linier

Pencarian secara linier ini dilakukan dengan metode pencarian urut atau

sequensial, dengan cara membandingkan kondisi pencarian yang

dilakukan terhadap record database mulai record awal sampai dengan

Page 104: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 civ

record akhir. Jika pencarian ketemu, maka pointer atau penunjuk record

akan berhenti di posisi record yang ketemu, jika tidak ketemu pointer akan

berada di posisi akhir file atau EOF(). Dalam pencarian liner ini dapat

dilakukan dengan memberikan perintah LOCATE yang bentuk umum

penulisannya adalah :

LOCATE <daerah> FOR <kondisi> WHILE<kondisi>

Gambar 8.26 Bentuk Penulisan Perintah LOCATE FOR

Keterangan :

<daerah> digunakan jika anda akan mencari dengan daerah atau scope

record tertentu.

<kondisi>, digunakan untuk menentukan kondisi pencarian yang

dilakukan.

WHILE<kondisi>, option ini merupakan konsisi kedua yang

diberikan setelah FOR yang juga digunakan untuk menentukan

kondisi pencarian yang dilakukan.

Indikator atau tanda yang menyatakan ketemu atau tidaknya proses

pencarian dapat dilakukan dengan mengambil nilai balik dari fungsi

Found() yang akan bernilai .T. jika ketemu dan .F. jika tidak ketemu, atau

dengan fungsi EOF() yang akan bernilai .T. artinya data tidak ditemukan

dan .F. artinya data berhenti disuatu record yang ketemu. Untuk

melanjutkan pencarian data berikutnya dapat diberikan perintah

CONTINUE.

Contoh :

Clear

Local cari

Cari=space(7)

Field kd_brg,nm_brg

Use barang

@10,10 say “Kode Barang Yang Dicari : “ get cari

Locate for kd_brg=cari

Do while .not. found()

Page 105: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cv

?kd_brg,nm_brg

CONTINUE

ENDDO

Return

Gambar 8.27 Contoh Bentuk Penulisan Perintah LOCATE FOR

2. Pencarian Secara Biner

Pencarian secara biner ini dilakukan dengan metode pemrosesan

secara biner terhadap data field urut yang tersimpan dalam file index. Jika

pointer berhenti di posisi data index yang ketemu, maka pointer record

akan menunjuk ke record database sesuai dengan nomor record yang

tercantum dalam file index. Untuk melakukan pencarian secara biner,

dalam program clipper dapat menggunakan perintah SEEK atau FIND

serta fungsi DbSeek(), yang bentuk umum penulisannya adalah :

SEEK <data kunci pencarian>

FIND <data kunci pencarian>

DbSeek(<data kunci pencarian>)

Gambar 8.28 Bentuk Penulisan Perintah SEEK, FIND, DbSeek()

Keterangan :

<data kunci pencarian> adalah data yang dapat berupa variable atau

konstanta yang merupakan data pencarian terhadap kunci index yang

dipakai oleh database.

Perintah SEEK dan FIND mempunyai metode pemrosesan yang sama,

perbedaan antara kedua perintah ini hanya pada <data kunci

pencarian>, dimana kalau SEEK dapat menggunakan bentuk ekspresi

atau konstanta, tetapi kalu FIND hanya menerima data konstanta saja.

Contoh 1 :

Clear

Local kdcari

Page 106: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cvi

Kdcari=space(7)

Use barang index barang

@10,10 say “Kode Barang Yang dicari : “ get kdcari

Seek kdcari

If .not. found()

Alert(“Kode yang anda cari tidak ada …!”)

Innkey(0)

Endif

Contoh 2 :

Clear

Local kdcari

Kdcari=space(7)

Use barang index barang

@10,10 say “Kode Barang Yang dicari : “ get kdcari

FIND kdcari

If .not. found()

Alert(“Kode yang anda cari tidak ada …!”)

Inkey(0)

Else

@11,10 say ”Data tersebut ditemukan di record : ”+trans(recno(),”999”)

Endif

Return

Contoh 3 :

Clear

Local kdcari

Kdcari=space(7)

Use barang index barang

@10,10 say “Kode Barang Yang dicari : “ get kdcari

If ! DbSeek(kdcari)

Page 107: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cvii

Alert(“Kode yang anda cari tidak ada …!”)

Inkey(0)

Else

@11,10 say ”Data tersebut ditemukan di record : ”+trans(recno(),”999”)

Endif

Return

Gambar 8.29 Contoh Penulisan Perintah SEEK, FIND, DbSeek()

H. Query Database

Query database adalah suatu proses pengambilan informasi yang

terkandung dalam seluruh atau sebagian dari isi database, misalkan

menjumlahkan seluruh data dalam field tertentu dengan kondisi tertentu.

Seperti dalam program dBase atau FoxBase, perintah-perintah query yang

digunakan adalah sama, seperti COUNT, SUM dan lain-lain.

1. COUNT

Perintah ini berfungsi untuk menentukan jumlah record dalam database

yang memenuhi syarat atau criteria yang disertakan dalam option FOR

atau dan WHILE. Bentuk umum penulisannya adalah :

COUNT TO <variable> <daerah> WHILE <kondisi> FOR <kondisi>

Gambar 8.30 Bentuk Penulisan Perintah COUNT

Keterangan :

<variable> adalah variable numeric yang dipakai untuk menyimpan

hasil perintah COUNT.

<daerah> digunakan jika anda akan menentukan jumlah record

dengan daerah atau scope tertentu.

WHILE <kondisi>, option ini jika diberikan akan menentukan jumlah

record dalam database yang memenuhi syarat kondisi WHILE yang

diberikan.

FOR <kondisi>, option ini jika diberikan akan menentukan jumlah

record dalam database yang memenuhi sayarat kondisi FOR yang

diberikan.

Page 108: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cviii

2. SUM

Perintah ini berfungsi untuk menjumlahkan nilai-nilai field tertentu atau

ekspresinya dalam suatu database, yang memenuhi syarat aatau criteria

yang disertakan dalam option FOR atau dan WHILE. Bentuk umum

penulisannya adalah :

SUM <ekspresi> TO <variable> <daerah> WHILE <kondisi> FOR

<kondisi>

Gambar 8.31 Bentuk Penulisan Perintah SUM

Keterangan :

<ekspresi> adalah ekspresi dari field yang akan dijumlahkan

<variable> adalah variable numeric yang dipakai untuk menyimpan

hasil perintah SUM.

<daerah> digunakan jika anda akan menentukan daerah atau scope

record dalam database yang field atau ekspresinya dijumlahkan.

WHILE <kondisi>, option ini jika diberikan akan menentukan jumlah

record dalam database yang memenuhi syarat kondisi WHILE yang

diberikan.

FOR <kondisi>, option ini jika diberikan akan menentukan jumlah

record dalam database yang memenuhi sayarat kondisi SUM yang

diberikan.

3. AVERAGE

Perintah ini berfungsi untuk menentukan nilai rata-rata dari field tertentu

atau ekspresinya dalam database, yang memenuhi syarat atau criteria yang

disertakan dalam option FOR atau dan WHILE. Bentuk umum

penulisannya adalah :

AVERAGE <ekspresi> TO <variable> <daerah> WHILE <kondisi>

FOR <kondisi>

Gambar 8.32 Bentuk Penulisan Perintah AVERAGE

Keterangan :

Page 109: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cix

<ekspresi> adalah ekspresi dari field yang akan ditentukan nilai rata-

ratanya

<variable> adalah variable numeric yang dipakai untuk menyimpan

hasil perintah AVERAGE.

<daerah> digunakan jika anda akan menentukan daerah atau scope

record dalam database yang field atau ekspresinya dicari nilai rata-

ratanya.

WHILE <kondisi>, option ini jika diberikan akan menentukan nilai

rata-rata record dalam database yang memenuhi syarat kondisi

WHILE yang diberikan.

FOR <kondisi>, option ini jika diberikan akan menentukan jumlah

record dalam database yang memenuhi sayarat kondisi AVERAGE

yang diberikan.

I. Menggerakkan Record

1. Perintah-Perintah Menggerakkan Record

SKIP

Perintah ini berfungsi menggerakkan pointer record dengan cara

meloncatkan pointer ke rcord sebelum atau sesudah record yang aktif

sebanyak n record sesuai dengan yang ditemukan. Bentuk umum

penulisannya adalah :

SKIP <n record>

Gambar 8.33 Bentuk Penulisan Perintah SKIP

Keterangan :

<n record> adalah option data angka yang dapat berupa nilai atau

ekspresi yang merupakan jumlah loncatan yang dilakukan. Jika

data tersebut bernilai positif, maka akan meloncat ke record

selanjutnya sebanyak nilai yang ditentukan dan jika bernilai

negative, akan meloncat ke record sebelumnya sebanyak nilai yang

ditentukan.

Page 110: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cx

Contoh :

clear

Local nrec

Use barang

Skip

Skip 2

Skip -1

Nrec=4

Skip nrec

Gambar 8.34 Contoh Penulisan Perintah SKIP

GO TO atau GO

Perintah ini berfungsi menggerakkan pointer ke record yang ditunjuk.

Bentuk umum penulisannya adalah :

GO TO <n record>

GO <n record>

Gambar 8.35 Bentuk Penulisan Perintah GO TO, GO

Keterangan :

<n record> adalah option data angka yang dapat berupa nilai atau

ekspresi yang merupakan nomor record yang dituju.

Contoh :

clear

Local nrec

Use barang

GO TO 5

Go 2

Nrec=2

GO TO nrec

Nrec=nrec*2

SKIP nrec

Gambar 8.36 Contoh Penulisan Perintah GO TO, GO

Page 111: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxi

GO TOP

Perintah ini berfungsi untuk menggerakkan pointer ke record awal

database. Record awal di sini bisa record 1, jika tidak digunakan file

index, atau record awal sesuai dengan urutan record dalam file index

yang digunakan. Bentuk umum penulisannya adalah :

GO TOP

Contoh :

Use barang

GO 5

GO TOP

Gambar 8.37 Bentuk Penulisan Perintah GO TOP

GO BOTTOM

Perintah iniberfungsi menggerakkan pointer ke record akhir database.

Record akhir di sini bisa record dari data terakhir yang kita masukkan,

jika tidak digunakan file index, atau record akhir sesuai dengan urutan

record dalam file index yang digunakan. Bentuk umum penulisannya

adalah :

GO BOTTOM

Gambar 8.38 Bentuk Penulisan Perintah GO BOTTOM

Contoh :

Use barang

GO 5

GO BOTTOM

Gambar 8.39 Contoh Penulisan Perintah GO BOTTOM

2. Fungsi-Fungsi Menggerakkan Pointer Record

Fungsi-fungsi yang dapat dipakai untuk menggerakkan pointer dalam

program clipper adalah :

DbSkip()

Page 112: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxii

Fungsi ini berguna untuk menggerakkan pointer record dengan cara

meloncatkan pointer ke record sebelum atau sesudahnya sebanyak n

record sesuai dengan yang ditentukan sama seperti perintah SKIP.

Bentuk umum penulisannya adlah :

DbSkip( <n record>)

Gambar 8.40 Bentuk Penulisan Perintah DbSkip()

Keterangan :

<n record> adalah option data angka yang dapat berupa nilai atau

ekspresi yang merupakan jumlah loncatan yang dilakukan. Jika

data tersebut bernilai positif, maka akan meloncat ke record

selanjutnya sebanyak nilai yang ditentukan dan jika bernilai

negative, akan meloncat ke record sebelumnya sebanyak nilai yang

ditentukan.

Contoh :

clear

Local nrec

Use barang

DbSkip()

DbSkip (2)

DbSkip (-1)

Nrec=4

DbSkip (nrec)

Gambar 8.41 Contoh Penulisan Perintah DbSkip()

DbGoto()

Fungsi ini berguna untuk menggerakkan pointer ke record yang

ditunjuk. Bentuk umum penulisannya adalah :

DbGoto (<record>)

Gambar 8.42 Bentuk Penulisan Perintah DbGoto()

Keterangan :

<record> adalah option data angka yang dapat berupa nilai atau

ekspresi yang merupakan nomor record yang dituju.

Page 113: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxiii

Contoh :

clear

Local nrec

Use barang

DbGoto (5)

Nrec=2

DbGoto (nrec)

Gambar 8.43 Contoh Penulisan Perintah DbGoto()

DbGotop()

Perintah ini berfungsi untuk menggerakkan pointer ke record awal

database. Record awal di sini bisa record 1, jika tidak digunakan file

index, atau record awal sesuai dengan urutan record dalam file index

yang digunakan. Bentuk umum penulisannya adalah :

DbGoTop ()

Contoh :

Use barang

GO 5

DbGoTop()

Gambar 8.44 Contoh Penulisan Perintah DbGotop()

DbGoBottom()

Perintah iniberfungsi menggerakkan pointer ke record akhir database.

Record akhir di sini bisa record dari data terakhir yang kita masukkan,

jika tidak digunakan file index, atau record akhir sesuai dengan urutan

record dalam file index yang digunakan. Bentuk umum penulisannya

adalah :

DbGoBottom()

Gambar 8.45 Bentuk Penulisan Perintah DbGoBottom()

Contoh :

Use barang

GO 5

DbGoBottom()

Page 114: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxiv

Gambar 8.46 Contoh Penulisan Perintah DbGoBottom()

BAB IX

PROSES TERHADAP DATABASE

Tujuan Instruksional Umum :

Mahasiswa mampu memproses database atau table dengan program.

Tujuan Instruksional Khusus :

1. Mahasiswa dapat mengubah data record database dengan program input data, edit data atau

ubah data, mencari dan menampilkan data dan menghapus data record.

2. Mahasiswa dapat menerapkan fungsi-fungsi database.

3. Mahasiswa dapat membuat program Master Data.

A. Mengubah atau Memodifikasi Data Record Database

1. Program Menambah Data

APPEND BLANK

Perintah ini berfungsi untuk menambah data record kosong dari

database yang aktif.

REPLACE

Perintah ini berfungsi untuk memasukkan data ke dalam field dari

variabel atau ekspresi yang digunakan, yang bentuk umum perintahnya

adalah :

REPLACE <field> WITH <ekspresi> <field> WITH <ekspresi>

<daerah> WHILE <kondisi> FOR <konsisi>

Gambar 9.1 Bentuk Penulisan Perintah REPLACE

DbAppend()

Fungsi ini sama seperti perintah APPEND BLANK berfungsi untuk

menambah satu data record kosong. Bentuk umum penulisan fungsi ini

adalah :

DbAppend()

Contoh :

Page 115: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxv

Gambar 9.2 Contoh Form Input Data

Listing program dari tampilan di atas adalah : IF ! FILE("barang.DBF")

dbcreate("barang.dbf",{{"KD_brg","C",5,0},;

{"nama_brg","C",20,0},;

{"satuan","C",10,0},;

{"merk","C",15,0},;

{"harga","n",7,0},;

{"stok","N",2,0}})

use barang

index on kd_brg to barang

ENDIF

use barang index barang

LABEL()

pil=space(1)

DO WHILE .T.

mkd_brg=SPACE(5)

@9,34 get MKD_BRG

read

If MKD_BRG=SPAC(5)

EXIT

endif

seek (mkd_brg)

if found()

Alert('Perhatian Kode Barang Tersebut Sudah Ada')

loop

else

APPEN BLANK

REPL KD_BRG WITH MKD_BRG

@10,34 GET NAMA_BRG

@11,34 GET SATUAN

@12,34 get MERK

@13,34 GET HARGA

@14,34 GET STOK

read

endif

@16,25 say 'ISI Lagi [Y/T] :' get pil pict '@!' valid

pil$'Y/T'

Page 116: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxvi

read

if pil='T'

exit

endif

enddo

close database

Func LABEL()

clea

set colo to w+/bg

@5,15 clea to 20,60

@5,15 to 20,60 DOUB

@7,33 say "ISI DATA BARANG"

@09,18 SAY"KODE BARANG : "

@10,18 SAY"NAMA BARANG : "

@11,18 SAY"SATUAN : "

@12,18 SAY"MERK : "

@13,18 SAY"HARGA : "

@14,18 SAY"STOK : "

return

Gambar 9.3 Listing Program Form Input Data

2. Program Mengedit Data

Untuk mengedit data record database yang pernah anda masukkan lewat

program menambah data, digunakan perintah-perintah atau fungsi

pencarian baik secara linier, jika database tidak diindex, seperti LOCATE

FOR, ataupun dengan pencarian secara biner, jika database diindex,

seperti SEEK, FIND atau fungsi DbSeek(). Untuk menyimpan kembali

ke database, digunakan perintah REPLACE.

Contoh :

Page 117: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxvii

Gambar 9.4 Contoh Form Edit Data

Listing Program :

use barang index barang

LABEL()

pil=space(1)

DO WHILE .T.

mkd_brg=SPACE(5)

@9,34 get MKD_BRG

read

If MKD_BRG=SPAC(5)

EXIT

endif

seek (mkd_brg)

if ! found()

Alert('Perhatian Kode Barang Tersebut Tidak Ada')

loop

else

REPL KD_BRG WITH MKD_BRG

@10,34 GET NAMA_BRG

@11,34 GET SATUAN

@12,34 get MERK

@13,34 GET HARGA

@14,34 GET STOK

read

endif

@16,25 say 'Ubah Data Lagi [Y/T] :' get pil pict '@!'

valid pil$'Y/T'

read

if pil='T'

exit

endif

enddo

close database

Func LABEL()

clea

Page 118: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxviii

set colo to w+/bg

@5,15 clea to 20,60

@5,15 to 20,60 DOUB

@7,33 say "ISI DATA BARANG"

@09,18 SAY"KODE BARANG : "

@10,18 SAY"NAMA BARANG : "

@11,18 SAY"SATUAN : "

@12,18 SAY"MERK : "

@13,18 SAY"HARGA : "

@14,18 SAY"STOK : "

return

Gambar 9.5 Listing Program Form Edit Data

3. Program Menghapus Data

Untuk membuat programa menghapus data ada sua model penghapusan

yaitu menghapus data dengan cara menandai, yaitu dengan perintah

DELETE dan menghilangkan data record dari database, yaitu dengan

perintah PACK.

DELETE

Berfungsi untuk menghapus data dengan cara memberi tanda data

reocrd database.

DELETE <daerah> WHILE<kondisi> FOR <kondisi>

Gambar 9.6 Bentuk Penulisan Perintah DELETE

Record yang dihapus dengan perintah DELETE, akan diberi tanda

artisti atau *, pada awal nomor record, untuk menghilangkan tanda

tersebut maka diberi perintah PACK, dan jika inging mengaktifkan

kembali atau menggunakan kemabali record tersebut maka doberi

perintah RECALL. Perintah DELETE untuk dapat diakses atau tidak

digunakan perintah SET DELETE ON/OFF

PACK

Berfungsi untuk menghilankan atau mempertegas proses penghapusa

data yaitu dengan perintah DELETE.

RECALL

Page 119: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxix

Berfungsi untuk memanggil atau mengaktifkan kembali data record

yang telah dihapus dengan perintah DELETE, sebelum ditegaskan

dengan perintah PACK.

RECALL <daerah> WHILE <konsisi> FOR <kondisi>

Gambar 9.7 Bentuk Penulisan Perintah RECALL

SET DELETE ON/OFF

Berfungsi untuk mengaktifkan atau menonaktifkan proses

penyembunyian data record yang telah dihapus dengan perintah

DELETE, ON berarti aktif dan OFF berarti tidak aktif.

ZAP

Berfungsi untuk menghilangkan atau menghapus seluruh data record

yang ada dalam database. Perintah ini sama denga perintah DELETE

ALL kemudian diberi perintah PACK.

Fungsi-fungsi yang digunakan dalam proses pemghapusan data record :

Deleted()

Berfungsi untuk menghapus data record yang aktif, fungsi ini sama

dengan perintah DELETE.

DbDeleted()

Berfungsi sama dengan perintah DELETE, yaitu untuk menghapus

data record yang aktif dengan memberitakan tanda artistik atau *.

DbRecall()

Berfungsi untuk mengaktifkan kembali data record yang telah di hapus

dengan perintah DELETE atau fungsi DbDelete dari data record yang

aktif, fungsi ini sama dengan perintah RECALL.

Contoh :

Page 120: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxx

Gambar 9.8 Contoh Form Hapus Data

Listing program dari tampilan di atas adalah :

# INCLUDE "INKEY.CH"

use barang index barang

LABEL()

tunjuk()

LAYAR=SAVESCREEN(0,0,24,79)

MKD_BRG=SPACE(5)

do while.t.

X:=inkey(0)

do Case

case X=K_F1

CARIDATA()

case X=K_DEL

HA_PUS()

Case X=K_ESC

kunci= .F.

exit

endcase

enddo

func CARIDATA()

RESTSCREEN(0,0,24,79,LAYAR)

DO WHILE.T.

@9,34 GET MKD_BRG PICT '@!'

READ

IF MKD_BRG=SPACE(5)

EXIT

ENDIF

SEEK (MKD_BRG)

IF ! FOUND()

ALERT('MAAF KODE BARANG TIDAK DITEMUKAN ......!')

LOOP

ENDIF

@10,34 say NM_BRG PICT '@!'

@11,34 say SATUAN PICT '@!'

@12,34 say MERK PICT '@!'

@13,34 say HARGA PICT '9,999,999'

@14,34 say STOK PICT '9,999'

retu

ENDDO

func HA_PUS()

SETCOLOR('B/W,W+*/B')

pilih:=alert('Konfirmasi',{'Hapus','Batal'})

do case

case pilih=1

dele for KD_BRG=MKD_BRG

pack

case pilih=2

return

Page 121: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxi

endcase

return

Func LABEL()

clea

set colo to w+/bg

@5,15 clea to 20,65

@5,15 to 20,65 DOUB

@7,33 say " DATA BARANG"

@9,18 SAY"KODE BARANG : "

@10,18 SAY"NAMA BARANG : "

@11,18 SAY"SATUAN : "

@12,18 SAY"MERK : "

@13,18 SAY"HARGA : "

@14,18 SAY"STOK : "

return

Func Tunjuk()

set colo to w+/bg

@18,18 clea to 16,59

@18,18 say ' [F1]CARI [DEL]HAPUS [ESC]KELUAR'

set colo to Gr+/bg

@18,23 say 'F1'

@18,35 SAY 'DEL'

@18,49 SAY 'ESC'

Return

Gambar 9.9 Listing Program Form Hapus Data

4. Program Display Data

Berfungsi untuk menapilkan data per record, dengan menggunakan

perintah untuk menampilkan data ke layar, dan dapat menggerakkan

pointer record yang dimaksud dengan kunci tertentu sesuai yang telah

disefinisikan.

Contoh :

Gambar 9.10 Contoh Form Program Display

Listing program dari tampilan di atas adalah :

# INCLUDE "INKEY.CH"

use barang index barang

Page 122: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxii

LABEL()

tunjuk()

tampil()

do while.t.

X:=inkey(0)

do Case

case X=K_LEFT

SKIP -1

tampil()

case X=K_RIGHT

SKIP

tampil()

case x=K_HOME

go top

tampil()

case X=K_END

go bottom

tampil()

Case X=K_ESC

kunci= .F.

exit

otherwise

return .f.

endcase

enddo

func tampil()

@9,34 say KD_BRG PICT '@!'

@10,34 say NM_BRG PICT '@!'

@11,34 say SATUAN PICT '@!'

@12,34 say MERK PICT '@!'

@13,34 say HARGA PICT '9,999,999'

@14,34 say STOK PICT '9,999'

retu

Func LABEL()

clea

set colo to w+/bg

@5,15 clea to 20,65

@5,15 to 20,65 DOUB

@7,33 say " DATA BARANG"

@9,18 SAY"KODE BARANG : "

@10,18 SAY"NAMA BARANG : "

@11,18 SAY"SATUAN : "

@12,18 SAY"MERK : "

@13,18 SAY"HARGA : "

@14,18 SAY"STOK : "

return

Func Tunjuk()

set colo to w+/bg

@18,18 clea to 16,59

@18,18 say '[HOME]AWAL [<-]PREV [->]NEXT [END]AKHIR'

set colo to Gr+/bg

@18,19 say 'HOME'

@18,30 say '<-'

Page 123: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxiii

@18,44 SAY '->'

@18,53 SAY 'END'

Return

Gambar 9.11 Listing Program Form Program Display

5. Program Mencetak Laporan

Dalam melakukan pencetakan data atau laporan, ada tiga perangkat

keluaran yaitu layar, printer atau file. Secara umum pencetakan ke tiga

perangkat di atas adalah sama, hanya dalam pendefinisian perangkatnya

saja yang berdeda.

Contoh :

local mscreen, mcolor

save scre to mscreen

CLOSE DATABASE

use BARANG index BARANG

pilih=0

pilih:=alert("Media Cetakan",{"Layar","Printer","Batal"})

Do case

case pilih=1

set printer off

set cons off

set alter to lapor.txt

set alter on

case pilih=2

if ! isprinter()

alert("Printer Belum Siap")

return

endif

set cons off

set printer on

case pilih=3 .or. pilih=0

return

endcase

CLEA

? "TOKO ADI JAYA UTAMA"

? "Jl. DR. Radjiman No. 525 Surakarta"

?

? space(33)+"LAPORAN DATA BARANG"

? "------------------------------------------------------------"

? " No Kode Barang Nama Barang Satuan Merk Harga Stok"

? “------------------------------------------------------------“

no=0

hal=1

br=1

SET FILTER TO

GO TOP

do while .not. eof()

NO=NO+1

A1="|”+TRAN(NO,"999")+"|"+KD_BRG+"|"+NM_BRG+"|"

A2=SATUAN+"|"+MERK+"|"+TRAN(HARGA,"9,999,999")+"|"

A3=TRAN(STOK,"999")

Page 124: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxiv

? A1+A2+A3

SKIP

ENDDO

if pilih=1

if pilih=1

set colo to w+/b

@1,0 to 23,79

@24,1 clea to 24,78

set print off

set cons on

set alter to

set colo to w+/b

geser := memoedit(memoread("LAPOR.txt"),2,1,22,78,.F.,,350,10)

endif

endif

RETURN

Gambar 9.12 Listing Program Cetak Laporan

B. Fungsi-Fungsi Database

1. Fcount()

Berfungsi untuk mengetahui jumlah field yang terdapat dalam database

yang sedang diaktifkan.

Fcount()

Gambar 9.13 Bentuk Penulisan Fungsi Fcount()

Contoh :

Local jml,I,mfield

Use barang

Jml=Fcount()

For i:= 1 TO jml

FieldPut(i,mfield[i])

Next

Gambar 9.14 Contoh Penulisan Fungsi Fcount()

2. Field()

Berfungsi untuk mengetahui nama field di posisi tertentu dari database

yang sedang diaktifkan.

Field (<posisi>)

FieldName (<posisi>)

Gambar 9.15 Bentuk Penulisan Fungsi Field()

Contoh :

Local jml,i

Page 125: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxv

Use barang

Jml=Fcount()

For i:= 1 TO jml

?barang->(fieldname(z))

Next

Gambar 9.16 Contoh Penulisan Fungsi Field()

3. RecNo()

Berfungsi untuk mengetahui nomor record dari database yang aktif.

RecNo()

Gambar 9.17 Bentuk Penulisan Fungsi RecNo()

Contoh :

Local jml,i

Use barang

Jml=Fcount()

For i:= 1 TO jml

?Trans(recno(),”999”)+” “+barang->(fieldname(i))

Next

Gambar 9.18 Contoh Penulisan Fungsi RecNo()

4. RecCount()

Berfungsi untuk mengetahui jumlah record database yang sedang aktif.

RecCount()

Gambar 9.19 Bentuk Penulisan Fungsi RecCount()

Contoh :

Local jml

Use barang

Jml=Reccount()

?”Jumlah record database : “+trans(jml,”999”)

Gambar 9.20 Contoh Penulisan Fungsi RecCount()

5. LastRec()

Berfungsi seperti RecCount(), fungsi ini juga berguna untuk mengetahui

jumlah record database yang aktif.

LastRec()

Page 126: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxvi

Gambar 9.21 Bentuk Penulisan Fungsi LastRec()

Contoh :

Local jml

Use barang

Jml=LastRec()

?”Jumlah record database : “+trans(jml,”999”)

Gambar 9.22 Contoh Penulisan Fungsi LastRec()

6. RecSize()

Berfungsi untuk mengetahui jumlah byte yang digunakan oleh tiap record

database yang sedang aktif.

RecSize()

Gambar 9.23 Bentuk Penulisan Fungsi RecSize()

Contoh :

Use barang

?”Ukuran database barang.dbf : “+trans(RecSize()*RecCount+Header()+1,”999,999 Bytes”)

Gambar 9.24 Contoh Penulisan Fungsi RecSize()

7. Header()

Berfungsi untuk mengetahui jumlah byte yang digunakan oleh header

database yang sedang aktif.

Header()

Gambar 9.25 Bentuk Penulisan Fungsi Header()

Contoh :

Use barang

?”Ukuran Header database barang.dbf : “+trans(Header())

Gambar 9.26 Contoh Penulisan Fungsi Header()

8. LUpdate()

Berfungsi untuk mengetahui tanggal terakhir terjadinya modifikasi atau

perubahan data record database yang sedang aktif.

LUpdate()

Gambar 9.27 Bentuk Penulisan Fungsi LUpdate()

Contoh :

Use barang

?”Tanggal Terakhir Modifikasi database barang.dbf : “+Dtoc(LUpdate())

Page 127: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxvii

Gambar 9.28 Contoh Penulisan Fungsi LUpdate()

9. BOF()

Berfungsi untuk mengetahui apakah pointer berada di awal file database

yang sedang aktif atau tidak.

Bof()

Gambar 9.29 Bentuk Penulisan Fungsi Bof()

Contoh :

Use barang

If Bof()

?”Berada di awal file …………!”

Endif

Gambar 9.30 Contoh Penulisan Fungsi Bof()

10. Eof()

Berguna untuk mengetahui apakah pointer berada di akhir file database

yang sedang aktif atau tidak.

Eof()

Gambar 9.31 Bentuk Penulisan Fungsi Eof()

Contoh :

Use barang

If Eof()

?”Berada di akhir file …………!”

Endif

Gambar 9.32 Contoh Penulisan Fungsi Eof()

11. FieldGet()

Berguna untuk mengambil data dari database pada field tertentu sesuai

dengan nomor field yang ditentukan.

FieldGet(<nomor field>)

Gambar 9.33 Bentuk Penulisan Fungsi FieldGet()

Contoh :

if file (“barang.dbf”)

use barang index barang

else

Page 128: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxviii

DbCreate(“Barang.DBF”,;

{{“kd_brg”,”C”,5,0},;

{“nm_brg”,”C”,20,0}.;

{“merk”,”C”,15,0},;

{“satuan”,”C”,10,0},;

{“harga”,”N”,7,0},;

{“stok”,”N”,4,0}}

Use barang

INDEX ON NO_BAR TO BARANG.NTX

Endif

Cetak()

Func cetak()

Locl i

For i:=1 to 7

?FieldGet(i)

Next

Retun

Gambar 9.34 Contoh Penulisan Fungsi FieldGet()

12. FieldPut()

Berguna untuk menyimpan data ke dalam field tertentu dalam database

sesuai dengan nomor field yang ditentukan , jadi kebalikan dari fungsi

FieldGet().

FieldPut()

Gambar 9.35 Bentuk Penulisan Fungsi FiledPut()

Contoh :

Private mfield

Mfiled:=(space(5),space(20),space(15),0,0,0)

if file (“barang.dbf”)

use barang index barang

else

DbCreate(“Barang.DBF”,;

{{“kd_brg”,”C”,5,0},;

{“nm_brg”,”C”,20,0}.;

{“merk”,”C”,15,0},;

{“satuan”,”C”,10,0},;

{“harga”,”N”,7,0},;

{“stok”,”N”,4,0}}

Use barang

INDEX ON NO_BAR TO BARANG.NTX

Endif

Page 129: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxix

Cari()

@10,10 GET mfiled[1]

simpan()

Func cari()

Locl i

For i:=1 to len(mfield()

Mfield(i):=fieldGet(i)

?FieldGet(i)

Next

Retun

Func simpan()

Local i

For i:= 1 TO Len(mfield)

FieldGet(I,mfield[i])

NEXT

Return

Gambar 9.36 Contoh Penulisan Fungsi FiledPut()

C. Membuat Program Master Data

Contoh Program Master Data :

Gambar 9.37 Contoh Program Master Data

Listing Program dari tampilan form di atas adalah :

# INCLUDE "INKEY.CH"

# INCLUDE "SETCURS.CH"

IF ! FILE("barang.DBF")

dbcreate("barang.dbf",{{"KD_brg","C",5,0},;

{"nama_brg","C",20,0},;

{"satuan","C",10,0},;

{"merk","C",15,0},;

{"harga","n",7,0},;

{"stok","N",2,0}})

use barang

Page 130: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxx

index on kd_brg to barang

ENDIF

use barang index barang

CLEAR

LABEL()

TUNJUK()

DO WHILE .T.

X:=inkey(0)

do Case

Case X=K_ESC

kunci= .F.

exit

Case X=K_INS

TAMBAH()

Case X=K_F2

UBAH()

Case X=K_F4

CARI()

Case X=K_DEL

HAPUS()

endcase

ENDDO

FUNCTION TAMBAH()

layar:=savescreen(0,0,24,79)

do while.t.

pil=space(1)

mkd_brg=SPACE(5)

@9,34 get MKD_BRG

read

if MKD_BRG=SPAC(5)

EXIT

endif

seek (mkd_brg)

if found()

Alert('Perhatian Kode Barang Tersebut Sudah Ada')

loop

else

APPE BLANK

REPL KD_BRG WITH MKD_BRG

@10,34 GET NAMA_BRG

@11,34 GET SATUAN

@12,34 get MERK

@13,34 GET HARGA

@14,34 GET STOK

read

endif

Page 131: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxxi

exit

enddo

setcursor(1)

restscreen(0,0,24,79,layar)

retu

FUNCTION UBAH()

RESTSCREEN(0,0,24,79,LAYAR)

MKD_BRG=SPACE(5)

DO WHILE.T.

@9,34 GET MKD_BRG PICT '@!'

READ

IF MKD_BRG=SPACE(5)

EXIT

ENDIF

SEEK (MKD_BRG)

IF ! FOUND()

ALERT('MAAF KODE BARANG TIDAK DITEMUKAN ......!')

LOOP

ENDIF

MKD_BRG=KD_BRG

MNM_BRG=NM_BRG

MSATUAN=SATUAN

MMERK=MERK

MHARGA=HARGA

MSTOK=STOK

@10,34 GET MNM_BRG PICT '@!'

@11,34 GET MSATUAN PICT '@!'

@12,34 GET MMERK PICT '@!'

@13,34 GET MHARGA PICT '9,999,999'

@14,34 GET MSTOK PICT '9,999'

READ

REPL KD_BRG WITH MKD_BRG

REPL NM_BRG WITH MNM_BRG

REPL SATUAN WITH MSATUAN

REPL MERK WITH MMERK

REPL HARGA WITH MHARGA

REPL STOK WITH MSTOK

retu

ENDDO

FUNCTION CARI()

RESTSCREEN(0,0,24,79,LAYAR)

DO WHILE.T.

@9,34 GET MKD_BRG PICT '@!'

READ

IF MKD_BRG=SPACE(5)

EXIT

ENDIF

Page 132: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxxii

SEEK (MKD_BRG)

IF ! FOUND()

ALERT('MAAF KODE BARANG TIDAK DITEMUKAN ......!')

LOOP

ENDIF

@10,34 say NM_BRG PICT '@!'

@11,34 say SATUAN PICT '@!'

@12,34 say MERK PICT '@!'

@13,34 say HARGA PICT '9,999,999'

@14,34 say STOK PICT '9,999'

retu

ENDDO

func HAPUS()

SETCOLOR('B/W,W+*/B')

pilih:=alert('Konfirmasi',{'Hapus','Batal'})

do case

case pilih=1

dele for KD_BRG=MKD_BRG

pack

case pilih=2

return

endcase

return

Func LABEL()

clea

set colo to w+/bg

@5,15 clea to 20,72

@5,15 to 20,72 DOUB

@7,33 say " DATA BARANG"

@09,18 SAY"KODE BARANG : "

@10,18 SAY"NAMA BARANG : "

@11,18 SAY"SATUAN : "

@12,18 SAY"MERK : "

@13,18 SAY"HARGA : "

@14,18 SAY"STOK : "

return

Func Tunjuk()

set colo to w+/bg

@18,18 clea to 16,63

@18,18 say '[INS]TAMBAH [F2]UBAH [DEL]HAPUS [F4]CARI [ESC]KELUAR'

set colo to Gr+/bg

@18,19 say 'INS'

@18,31 SAY 'F2'

@18,40 SAY 'DEL'

@18,51 SAY 'F4'

@18,60 SAY 'ESC'

Return

Gambar 9.38 Listing Program Master Data

Page 133: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxxiii

BAB X

MENYARING ATAU FILTER DATA DAN MENGHUBUNGKAN

DATABASE

Tujuan Instruksional Umum :

Mahasiswa dapat memahami proses penyaringan data dan relasi antar tabel atau database.

Tujuan Instruksional Khusus :

1. Mahasiswa mengetahui dan dapat menerapkan perintah menyaring data field dengan perintah

Set Filter to.

2. Mahasiswa dapat mengetahui cara menghubungkan antar database atau relasi database dan

dapat mempraktekkannya.

A. Menyaring Data Field Database

Untuk menyaring data berdasarkan field tertentu, di pemrograman clipper

disediakan perintah SET FILTER TO.

SET FILTER TO <konsisi>

Gambar 10.1 Bentuk Penulisan SET FILTER TO

Contoh :

Page 134: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxxiv

Gambar 10.1 Contoh Program Pencarian Data dengan SET FILTER TO

Listing Program dari tampilan form di atas adalah :

# INCLUDE "INKEY.CH"

IF ! FILE("barang.DBF")

dbcreate("barang.dbf",{{"KD_brg","C",5,0},;

{"nama_brg","C",20,0},;

{"satuan","C",10,0},;

{"merk","C",15,0},;

{"harga","n",7,0},;

{"stok","N",2,0}})

use barang

index on kd_brg to barang

ENDIF

use barang index barang

LABEL()

tunjuk()

LAYAR=SAVESCREEN(0,0,24,79)

do while.t.

X:=inkey(0)

do Case

case X=K_F1

CARIDATA()

Case X=K_ESC

kunci= .F.

exit

endcase

enddo

func CARIDATA()

RESTSCREEN(0,0,24,79,LAYAR)

MKD_BRG=SPACE(5)

DO WHILE.T.

@9,34 GET MKD_BRG PICT '@!'

READ

IF MKD_BRG=SPACE(5)

EXIT

ENDIF

SET FILTER TO

SET FILTER TO KD_BRG=MKD_BRG

GO TOP

@10,34 say NM_BRG PICT '@!'

@11,34 say SATUAN PICT '@!'

@12,34 say MERK PICT '@!'

@13,34 say HARGA PICT '9,999,999'

@14,34 say STOK PICT '9,999'

Page 135: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxxv

retu

ENDDO

Func LABEL()

clea

set colo to w+/bg

@5,15 clea to 20,65

@5,15 to 20,65 DOUB

@7,33 say " DATA BARANG"

@9,18 SAY"KODE BARANG : "

@10,18 SAY"NAMA BARANG : "

@11,18 SAY"SATUAN : "

@12,18 SAY"MERK : "

@13,18 SAY"HARGA : "

@14,18 SAY"STOK : "

return

Func Tunjuk()

set colo to w+/bg

@18,18 clea to 16,59

@18,18 say ' [F1]CARI [ESC]KELUAR'

set colo to Gr+/bg

@18,27 say 'F1'

@18,43 SAY 'ESC'

Return

Gambar 10.2 Listing Program Pencarian Data dengan SET FILTER TO

B. Menghubungkan Dua Buah Database atau Relasi antar Database

Di dalam DBMS atau Database Manajemen Sistem, dalam pengolahan data

akan melakukan pembagian data ke masing-masing database yang saling

berhubungan atau biasa disebut dengan Relasi antar database. Seperti contoh

dua database yang saling berhubungan , yaitu database Barang.dbf yang

berisikan data tentang barang, dan database Beli.DBF yang berisikan data atau

inforamsi pembelian.

SET RELATION TO <ekspresi field> INTO <alias/area dbf>

Gambar 10.3 Bentuk Penulisan Perintah SET RELATION TO

Barang.dbf

Kd_brg

Nm_brg

Merk

Satuan

Harga

Stok

Beli.dbf

No_faktur

Tgl_tran

Kd_brg

Jml_beli

Harga

Page 136: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxxvi

Kd_brg Nm_brg Merk Satuan Harga

B-001 Disket MAXDATA BOX 20000

A-002 Hardisk Quantum BUAH 400000

C-004 Flash Disk Kingston BUAH 100000

D-005 CD CD-R GT Pro BOX 90000

No_faktur Kd_brg Tgl_tran Jml_beli Harga

00001 B-001 01/03/09 2 20000

00002 A-002 01/03/09 2 400000

00004 C-004 01/03/09 2 100000

00005 D-005 01/03/09 2 90000

Gambar 10.4 Contoh Relasi antar Database atau Tabel

Contoh :

# INCLUDE "INKEY.CH"

# INCLUDE "SETCURS.CH"

# INCLUDE "BOX.CH"

set score off

CLEA

close Database

SELECT A

use BARANG index BARANG alias barang

SELECT B

use BELI index BELI

mNO_FAKTU=space(5)

@7,10 SAY “No Faktur : “ GET mNO_FAKTUR

read

IF mNO_FAKTUR=SPACE(5)

RETURN

ENDIF

SELE B

SEEK mNO_FAKTUR

IF ! FOUND()

alert("NO_FAKTUR tidak ada, silahkan yang lain")

Page 137: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxxvii

sele B

set filter to

return

else

SELE B

SET RELA TO NO_BAR INTO BARANG

@8,10 say “Kode Barang : “+KD_BRG

@09,10 say “Nama Barang : “+barang->NM_BRG

@11,10 say “MERK : “+barang->merk

@10,10 say “Satuan : “+barang->satuan

@11,10 say “Harga : “+harga pict”99,999,999”

@12,19 say “Jumlah Beli : “+jml_beli pict “999”

ENDIF

RETURN

Gambar 10.5 Contoh Program Relasi antar Database atau Tabel

BAB XI

PRAPROSESOR, ARRAY DAN BLOK KODE

Tujuan Instruksional Umum :

Mahasiswa dapat memahami Praprosesor, Array dan Blok Kode dalam Clipper Compiler.

Tujuan Instruksional Khusus :

1. Mahasiswa mengetahui tentang Praprosesor.

2. Mahasiswa dapat mengetahui dan menggunakan perlakuan praprosesor seperti penggunaan

file header, proses kompilasi bersyarat dan menerjemahkan konstanta simbolik dan makro

compiler.

3. Mahasiswa dapat mengetahui definisi data array dan dapat mengetahui fungsi-fungsi

manipulasi array dan cara penggunannya.

4. Mahasiswa dapat mengenal dan menggunakan blok kode.

A. PRAPROSESOR

Adalah paket tambahan program clipper yang disediakan dalam compiler,

yang berfungsi untuk memproses kode sumber (source code) agar siap untuk

dikompilasi.

Perlakuan yang dapat digunakan dalam praprosesor :

Page 138: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxxviii

1. Menggabungkan File Header ke dalam Program

File header yang dapat digabungkan di dalam program, biasanya file

include yang berekstension .CH, contoh INKEY.CH.

#INCLUDE “<file header>”

Gambar 11.1 Bentuk Penulisan File Header #INCLUDE

Contoh :

# INCLUDE "INKEY.CH"

CLEA

TUNJUK()

DO WHILE .T.

X:=inkey(0)

do Case

Case X=K_ESC

kunci= .F.

exit

Case X=K_INS

Clear

?”Tombol INSERT”

Case X=K_F1

Clear

?”Tombol F1”

Case X=K_F2

Clear

?”Tombol F2”

endcase

ENDDO

Func Tunjuk()

set colo to w+/b

@24,0 clea to 24,79

@24,5 say 'Pres -->[F1] [F2] [INS] [ESC] '

Return

Gambar 11.2 Contoh Penulisan File Header #INCLUDE

2. Memproses Kompilasi Bersyarat

Untuk memberikan syarat kompilasi digunakan perintah-perintah

PraProsesor #ifdef, #ifndef,#else dan #endif.

#ifdef <simbol>

#define <konstanta simbolik>

[#else

#define <konstanta simbolik>

#endif]

#ifndef <simbol>

#define <konstanta simbolik>

[#else

#define <konstanta simbolik>

Page 139: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxxxix

#endif]

Gambar 11.3 Penulisan Perintah #ifdef, #ifndef,#else dan #endif

Contoh :

#ifndef MONO

#define warna_konstruksi {”B+/GR+”,”N/W”,”GR+/B”,”B+/R”}

#define warna_layar ”BG+/B”,”B/BG+”

#else

#define warna_konstruksi {”B+/GR+”,”N/W”,”GR+/B”,”B+/R”}

#define warna_layar ”BG+/B”,”B/BG+”

#endif

Set color(warna_layar)

…………………..

Set color (warna_konstruksi)

Gambar 11.4 Contoh Penulisan Perintah #ifdef, #ifndef,#else dan #endif

3. Menerjemahkan Konstanta Simbolik dan Makro Compiler

#define <konstanta/ekspresi simbolik>

Gambar 11.5 Bentuk Penulisan Perintah #define

Contoh 1:

#define ESCAPE 27

#define kiri 19

#define kanan 4

Clear

Local tekan

Tekan=0

Do WHLIE .T.

Tekan:=inkey(0)

Do case

Page 140: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxl

Case tekan=ESCAPE

Clear

?”SELESAI”

EXIT

Case tekan=kiri

Clear

?”Panah Kiri”

Case tekan=kanan

Clear

?”Panah Kanan”

Endcase

Enddo

Return

Contoh 2 :

#define LUASSEGITIGA(alas,tinggi) alas*tinggi/2

Local malas,mtinggi,mluas

Clear

@10,10 say “Masukkan Alas : “ get malas pict “9999”

@11,10 say “Masukkan Tinggi: “ get mtinggi pict “9999”

Read

Mluas:=luassegitiga(malas,mtinggi)

@13,10 say “Luas Segitiga : “+trans(mluas,”9999.99”

Return

Gambar 11.6 Contoh Penulisan Perintah #define

4. Menerjemahkan Perintah yang disusun oleh Programmer

Disamping menggunakan fungsi-fungsi standar, fungsi yang kita buat dan

perintah-perintah standar, kita juga dapat membuat perintah tersendiri

dengan menggunakan perintah PraProsesor #command atau #translate.

#command <pola perintah> => <proses perintah>

#translate <pola perintah> => <proes perintah>

Gambar 11.7 Bentuk Penulisan Perintah #command atau #translate.

Contoh :

#command Copy file <(asal)> TO <(hasil)> =>

copyfile(<(asal)>,<(hasil)>

Local asal, hasil

Page 141: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxli

Asal:=space(12)

Hasil:=space(12)

@10,10 say “Masukkan Nama File yang di Copy : “ get asal

@11,10 say “Masukkan nama file tujuan : “get

hasil

Read

COPY FILE (<asal) TO (hasil)

Retun

Gambar 11.8 Contoh Penulisan Perintah #command atau #translate.

B. DATA ARRAY

Adalah kelompok data yang dapat diakses secara keseluruhan atau sendiri-

sendiri.

Contoh :

Clear

Local marray[5], i

For i:=1 to 5

@10+i,10 say “Masukkan Angka “+ltrim(str(i)+” : “ get marray[i]

Read

Next

For i:=1 to 5

@10+I,10 say “Angka Ke “+ltrim(str(i)+” : “ +trans(marray[n],”999”)

Next

Retun

Gambar 11.9 Contoh Data Array

1. Mendefinisikan atau Mendeklarasikan Data Array

Perintah DECLARE <variable> <jumlah elemen>

Gambar 11.10 Bentuk Perintah DECALARE

Contoh :

DECLARE nilai[10]

DECLARE nama[10]

Gambar 11.11 Contoh Penulisan Perintah DECALARE

Pernyataan kelas variable :

PRIVATE

PUBLIC

LOCAL

STATIC

Page 142: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxlii

2. Fungsi-Fungsi Manipulasi Array

a. Aadd()

Berfungsi untuk menambah elemen data array.

Aadd (<variabel array>,<elemen>)

Gambar 11.12 Bentuk Penulisan Fungsi Aadd()

Contoh 1 :

Local i, isi

i=0

isi={}

clear

DO WHILE .T.

i ++

Aadd(isi,space(20))

@10,10 say “masukkan Data Array Ke – “ +Trans(n,”99”)+” : “ get isi[i]

Read

@24,1 say “Tekan ESC untuk selesai ….!”

Inkey(0)

If lastkey()==27

Exit

Endif

Enddo

Clear

@5,0

?”Data Array yang dimasukkan : “

?”--------------------------------------”

For i:=1 to len(isi) -1

?”Data ke – “ +trans(i,”99”)+” : “+isi[i]

Next

?”--------------------------------------“

Contoh 2 :

Local i, isi

i=0

isi={}

Page 143: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxliii

clear

DO WHILE .T.

i ++

Aadd(isi,{space(5),space(20),space(10),0})

@10,10 say “Masukkan Kode Barang : “ get isi[i,1]

@11,10 say “Masukkan Nama Barang : “ get isi[i,2]

@12,10 say “Masukkan Merk Barang : “ get isi[i,3]

@13,10 say “Masukkan Harga Barang : “ get isi[i,4] picture “99,999,999”

Read

@24,1 say “Tekan ESC untuk selesai ….!”

Inkey(0)

If lastkey()==27

Exit

Endif

Enddo

Clear

@5,0

?”---------------------------------------Cetak Data Barang----------------------------------- “

?”--------------------------------------------------------------------------------------------------”

?”No. Kode Nama Barang Merk Harga “

?” Barang”

?”-------------------------------------------------------------------------------------------------“

For i:=1 to len(isi) -1

? trans(i,”99”)+” : “+isi[i,1]+” ”+isi[i,2]+” ”+isi[i,3]+” ”+tran(isi[i,4],”99,999,999”)

Next

?”-------------------------------------------------------------------------------------------------“

Gambar 11.13 Contoh Penulisan Fungsi Aadd()

b. ADel()

Berfungsi untuk menghapus suatu nilai elemen data array dan akan

menggeser nilai-nilai elemen selanjutnya mulai posisi elemen yang

hapus.

Adel(<variabel array>,<nomor elemen>)

Gambar 11.14 Bentuk Penulisan Fungsi ADel()

Contoh :

Local nilai

Page 144: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxliv

Clear

Nilai:={10,20,30,40,50}

?len(nilai)

Adel(nilai,2)

?len(nilai)

?nilai[1]

?nilai[2]

?nilai[3]

?nilai[4]

?nilai[5]

Gambar 11.15 Contoh Penulisan Fungsi ADel()

c. Asize()

Berfungsi untuk mengubah jumlah data array, untuk menghilangkan

nilai data terakhir atau NIL.

Adel(<variabel array>,<jumlah elemen>)

Gambar 11.16 Bentuk Penulisan Fungsi Asize()

Contoh :

Local nilai

Clear

Nilai:={10,20,30,40,50}

?len(nilai)

Adel(nilai,2)

?len(nilai)

Asize(nilai,len(nilai)-1)

?len(nilai)

Gambar 11.17 Contoh Penulisan Fungsi Asize()

d. ADELARRAY()

#define ADELARRAY(ar,pos)

Adel(ar,pos);Asize(ar,len(ar)-1)

Page 145: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxlv

Gambar 11.18 Bentuk Penulisan Fungsi ADELARRAY()

Contoh :

#define ADELARRAY(ar,pos) Adel(ar,pos);ASize(ar,len(ar)-1)

clear

Local nilai:={10,20,30,40}

ADELARRAY(nilai,2)

?len(nilai)

Gambar 11.19 Contoh Penulisan Fungsi ADELARRAY()

e. AIns()

Berfungsi untuk menyisipkan elemen kosong ke dalam data array,

diposisi elemen tertentu.

AIns(<variable array>,<posisi elemen>)

Gambar 11.20 Bentuk Penulisan Fungsi AIns()

Contoh :

Local nilai

Clear

Nilai:={10,20,30,40}

?len(nilai)

AIns(nilai,2)

?len(nilai)

?len(nilai)

Asize(nilai,len(nilai)+1)

?len(nilai)

Ains(nilai,2)

?len(nilai)

Gambar 11.21 Contoh Penulisan Fungsi AIns()

f. AINSARRAY()

Page 146: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxlvi

#define AINSARRAY(ar,pos) Asize(ar,len(ar)+1);Ains(ar,pos)

Gambar 11.22 Bentuk Penulisan Fungsi AINSARRAY()

Contoh :

#define ADELARRAY(ar,pos) ASize(ar,len(ar)+1);AINS(ar,pos)

clear

Local nilai

Nilai:={10,20,30,40}

AINSARRAY(nilai,2)

?len(nilai)

Gambar 11.23 Contoh Penulisan Fungsi AINSARRAY()

g. AFill()

AFill(<variable array>,<nilai><posisi awal>,<njumlah>)

Gambar 11.24 Bentuk Penulisan Fungsi AFill()

Contoh :

Clear

Local nilai, nama

Nilai:={10,20,30,40}

Nama:={“Ani”,”Hendi”,”Rudi”}

Nilai[1]:=0

Nilai[2]:=0

Nilai[3]:=0

Afill(nama,space(20),1,3)

Gambar 11.25 Contoh Penulisan Fungsi AFill()

h. Array()

Untuk menciptakan suatu data array secara dinamis.

ARRAY(<elemen1>,[<elemen2>....])

Gambar 11.26 bentuk Penulisan Fungsi Array()

i. Acopy()

Berfungsi untuk menyalin isi suatu data array ke data array lain.

Acopy(<asal>,<tujuan>,<nawalasal>,<njumlah>,<nawaltujuan>])

Page 147: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxlvii

Gambar 11.27 Bentuk Penulisan Fungsi Acopy()

Contoh :

clear

local asal, tujuan1[5],tujuan2[2]

asal:={10,20,30,40,50}

ACopy(asal,tujuan1)

ACopy(asal,tujuan2,3,2,1)

Gambar 11.28 Contoh Penulisan Fungsi Acopy()

j. AClone()

Berfungsi untuk menerima argument yang akan digandakan dan

mengembalikan array salin.

Aclone(<asal>)

Gambar 11.29 Bentuk Penulisan Fungsi AClone()

Contoh :

Clear

Local asal,tujuan

Asal:={10,20,30,40,50}

Tujuan:={}

Tujuan:=AClone(asal)

Gambar 11.30 Contoh Penulisan Fungsi AClone()

k. AScan()

Berfungsi untuk mencari suatu nilai yang ditentukn ke dalam elemen

array, dan akan mengembalikan nilai balik posisi elemen dimana

pencarian berhasil ditemukan.

AScan(<array>,<kunci>,<awal>,<jumlah>)

Gambar 11.31 Contoh Penulisan Fungsi AScan()

Contoh :

Page 148: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxlviii

Clear

Local nama,nilai

Nama:={“Andi”,”Ani”,”Ali”,”Heri”}

Nilai:={10,20,30,40,50}

Set exact off

Ascan(nama,”Ani”)

AScan(nilai,30)

Gambar 11.32 Contoh Penulisan Fungsi AScan()

l. Asort()

Berfungsi untuk mengurutkan elemen data array, sehingga akan

tersusun elemen data array baru yang sudah urut.

ASort(<array>,<awal>,<njumlah>,<blok kode>)

Gambar 11.33 Bentuk Penulisan Fungsi ASort()

Contoh :

Clear

Local niali, nama

Nilai:={10,20,30,40,50}

Nama:={“Ani”,”Andi”,”Ali”,”Rudi”,”Rina”}

Asort(nilai)

Asort(nilai,2,3)

Asort(nama)

Asort(nama,,,{|c1,c2|upper(c1)<upper(c2)})

Gambar 11.34 Contoh Penulisan Fungsi ASort()

m. AEval()

Berfungsi untuk mengevaluasi data array dengan proses sesuai dengan

yang kita berikan.

Aeval(<array>,<blok kode>,<nawal>,<nakhir>)

Gambar 11.35 Bentuk Penulisan Fungsi AEval()

Contoh :

Clear

Page 149: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cxlix

Local nilai,jumlah,besar,kecil

Nilai:={10,20,30,40,50}

Jumlah:=0

Besar:=0

Kecil:=0

Jumlah:=ASum(nilai)

Besar:=Amax(nilai)

Kecil:=Amin(nilai)

?jumlah,besar,kecil

Gambar 11.36 Contoh Penulisan Fungsi AEval()

C. Blok Kode

Adalah merupakan suatu tpe atau seperti tiap-tiap yang lain.

{|<daftar argument>|<daftar ekspresi>}

Eval(<blik kode>,<daftar parameter>)

Gambar 11.37 Bentuk Penulisan Blok Kode

Latihan :

1. Jalankan dari promt dos program SK.com, kemuidan ketik perintah

berikut:

clear:

set color to ”W*/b”

@5,5 clear to 10,40

@7,20 say “belajar clipper”

Page 150: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cl

Retu

- Simpan program tersebut dengan nama file yang berextentioan .prg

- Compail

- link

2. Berapakah hasil dari expresi berikut?

a. 215/3

b. 3^2*6-2

c. 60/(612)

3. Apakah hasilnya:

a. 7>2 .and. 2<1

b. .not. 2 >1 .and. 4<2

c. G>5 .or. 2<10

4. Buatlah prosedure untuk mengalikan dua buah bilangan

5. Buatlah fungsi untuk menjumlahkan dua buah bilangan

BAB XII

PROGRAM MENU PENGENDALI

Tujuan Instruksional Umum :

Mahasiswa mampu mengolah data dengan menu pengendali.

Tujuan Instruksional Khusus :

1. Mahasiswa dapat membuat program menu pull-down.

2. Mahasiswa dapat memanggil function dan procedure dari menu pull-down.

3. Mahasiswa dapat menghubungkan atau memanggil file program lainnya dari menu pull-down.

Page 151: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cli

Menu Pull-Down

Gambar 12.1 Contoh Menu Pull-Down

Listing Program tampilan menu pull-down di atas adalah :

#INCLUDE "INKEY.CH"

#INCLUDE "SETCURS.CH"

#INCLUDE "BOX.CH"

set wrap on

set mess to 24

do while .t.

set colo to g+/w

@0,0 clea to 0,79

@24,0 clea to 24,79

set colo to b+/w

frame := repl (chr(176),9)

@1,0,23,79 box frame

@0,5 prompt "File" mess "Proses Entry Data"

@0,20 prompt "Informasi" mess "Proses Cetak Informasi"

@0,40 prompt "Utility" mess "Proses Bantuan"

menu to pilih

do case

case pilih = 1

menu1()

case pilih = 2

menu2()

case pilih = 3

menu3()

endcase

end do

func menu1()

local msscreen, mcolor

save screen to msscreen

mcolor := setcolor()

do while .t.

Page 152: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clii

set key 4 to rkey

set key 19 to lkey

set colo to w+/b

@1,5 clea to 5,24

@1,5 to 5,24

@2,6 prompt "Tabel Klasifikasi"

@3,6 prompt "Tabel Ruang "

@4,6 prompt "Tabel Barang "

menu to P1

set key 4 to

set key 19 to

do case

case P1 = 0

exit

CASE P1=1

//BUATFILE1()

//ISI()

rest screen from msscreen

CASE P1=2

//BUATFILE2()

//ISI2()

rest screen from msscreen

CASE P1=3

//BUATFILE4()

//ISI4()

rest screen from msscreen

endcase

enddo

rest screen from msscreen

setcolor(mcolor)

return

func menu2()

local msscreen, mcolor

save screen to msscreen

mcolor:=setcolor()

do while .t.

set key 4 to rkey

set key 19 to lkey

set colo to w+/b

@1,20 clea to 5,41

@1,20 to 5,41

@2,21 prompt "Daftar Klasifikasi"

@3,21 prompt "Daftar Ruang"

@4,21 prompt "Daftar Barang"

menu to P1

set key 4 to

set key 19 to

do case

case P1 = 0

exit

case p1=3

//menu23()

rest screen from msscreen

endcase

enddo

Page 153: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cliii

rest screen from msscreen

setcolor(mcolor)

return

func menu23()

local msscreen, mcolor

save screen to msscreen

mcolor:=setcolor()

do while .t.

set key 4 to rkey

set key 19 to lkey

set colo to w+/b

@4,30 clea to 8,47

@4,30 to 8,47

@5,31 prompt "Keseluruhan "

@6,31 prompt "Per Klasifikasi"

@7,31 prompt "Per Ruang "

menu to P1

set key 4 to

set key 19 to

do case

case P1 = 0

exit

endcase

enddo

rest screen from msscreen

setcolor(mcolor)

return

func menu3()

local msscreen, mcolor

save screen to msscreen

mcolor := setcolor()

do while .t.

set key 4 to rkey

set key 19 to lkey

set colo to w+/b

@1,40 clea to 7,52

@1,40 to 7,52

@2,41 prompt "Backup"

@3,41 prompt "Restore"

@4,41 prompt "Index"

@5,41 prompt "Help"

@6,41 prompt "Selesai"

menu to P1

set key 4 to

set key 19 to

do case

case P1 = 0

exit

case P1 = 3

//Lyt_Rest()

//REIN()

case p1=5

quit

endcase

enddo

Page 154: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 cliv

rest screen from msscreen

setcolor(mcolor)

return

funct rkey()

keyboard chr(27) + chr(4) + chr(13)

retu

funct lkey()

keyboard chr(27) + chr(19) + chr(13)

retu

func kursor(t,k)

do case

case k=K_UP

t:up()

case k=K_DOWN

t:down()

case k=K_LEFT

t:left()

case k=K_RIGHT

t:right()

case k=K_PGUP

t:pageup()

case k=K_PGDN

t:pagedown()

case k=K_HOME

t:gotop()

case k=K_END

t:gobottom()

otherwise

return .f.

endcase

return .t.

Gambar 12.2 Listing Program Contoh Menu Pull-Down

BAB XIII

FUNGSI-FUNGSI STRING

Tujuan Instruksional Umum :

Mahasiswa dapat memahami penggunaan fungsi-fungsi string dalam clipper compiler.

Page 155: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clv

Tujuan Instruksional Khusus :

1. Mahasiswa mengetahui operasi fungsi string, fungsi-fungsi string dan dapat menerapkan ke

dalam program clipper compiler.

2. Mahasiswa mengetahui dan dapat menggunakan fungsi pengembalian data string.

3. Mahasiswa mengetahui dan dapat menerapkan fungsi manipulasi spasi.

4. Mahasiswa mengetahui dan dapat menerapkan fungsi manipulasi data string.

A. Operasi String

Adalah operasi yang dituliskan berupa ekspresi yang bekerja terhadap data

string.

Operator-operator yang digunakan :

Tabel 13.1 Operator String

Operator Fungsi

+ Menggabungkan dua buah data string

- Menggabungkan dua buah data string dengan

menghilangkan spasi

= Apakah kedua data string sama

== Apakah kedua data string benar-benar sama

<> != # Apakah kedua data string tidak sama

> Apakah data string 1 lebih besar dari data string 2

< Apakah data string 1 lebih kecil dari data string 2

>= Apakah data string 1 lebih besar atau sama dengan

data string 2

<= Apakah data string 1 lebih kecil atau sama dengan

data string 2

$ Data string 1 merupakan himpunan dari data string 2

B. Fungsi_fungsi String

1. Fungsi Pengujian.

Digunakan untuk memeriksa kondisi suatau data string.

a. Empty()

Digunakan untuk memeriksa apakah data string merupakan data

kosong atau hanya berisi karakter saja.

EMPTY(<data string>)

Gambar 13.1 Bentuk Penulisan Fungsi Empty()

Contoh :

Clear

Page 156: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clvi

Local kd_brg

Kd_brg=space(5)

Do While.T.

@10,10 say “Kode Barang : “ get kd_brg Picture”@!”

Read

If Empty(kd_brg)

Alert(“Maaf Kode Barang tidak Boleh Kosong …”)

loop

Else

Exit

Endif

Enddo

Gambar 13.2 Contoh Penulisan Fungsi Empty()

b. IsAlpha()

Digunakan untuk memeriksa karakter pertama dari data string apakah

merupakan karakter alpabetik.

IsAlpha(<data string>)

Gambar 13.3 Bentuk Penulisan Fungsi IsAlpha()

Contoh :

Clear

Local kd_brg

Kd_brg=space(5)

Do While.T.

@10,10 say “Kode Barang : “ get kd_brg Picture”@!”

Read

If IsAlpha(kd_brg)

Alert(“Huruf awal alphabetik …”)

exit

Else

Page 157: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clvii

Alert(“Huruf awal bukan alphabetik …”)

loop

Endif

Enddo

Gambar 13.4 Contoh Penulisan Fungsi IsAlpha()

c. IsDigit()

Digunakan untuk memeriksa karakter pertama dari data string apakah

merupakan karakter angka.

IsDigit(<data string>)

Gambar 13.5 Bentuk Penulisan Fungsi IsDigit()

Contoh :

Clear

Local kd_brg

Kd_brg=space(5)

Do While.T.

@10,10 say “Kode Barang : “ get kd_brg Picture”@!”

Read

If IsDigit(kd_brg)

Alert(“Huruf awal Karakter Angka …”)

exit

Else

Alert(“Huruf awal bukan Karakter Angka …”)

loop

Endif

Enddo

Gambar 13.6 Contoh Penulisan Fungsi IsDigit()

d. IsLower()

Digunakan untuk memeriksa karakter pertama dari data string apakah

merupakan karakter huruf kecil.

IsLower(<data string>)

Page 158: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clviii

Gambar 13.7 Contoh Penulisan Fungsi IsLower()

Contoh :

Clear

Local kd_brg

Kd_brg=space(5)

Do While.T.

@10,10 say “Kode Barang : “ get kd_brg Picture”@!”

Read

If IsLower(kd_brg)

Alert(“Huruf awal adalah Huruf Kecil …”)

exit

Else

Alert(“Huruf awal bukan Huruf Kecil …”)

loop

Endif

Enddo

Gambar 13.8 Contoh Penulisan Fungsi IsLower()

e. IsUpper()

Digunakan untuk memeriksa karakter pertama dari data string apakah

merupakan karakter huruf besar.

IsUpper(<data string>)

Gambar 13.9 Bentuk Penulisan Fungsi IsUpper()

Contoh :

Clear

Local kd_brg

Kd_brg=space(5)

Do While.T.

@10,10 say “Kode Barang : “ get kd_brg Picture”@!”

Read

Page 159: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clix

If IsUpper(kd_brg)

Alert(“Huruf awal adalah Huruf Besar …”)

exit

Else

Alert(“Huruf awal bukan Huruf Besar …”)

loop

Endif

Enddo

Gambar 13.10 Contoh Penulisan Fungsi IsUpper()

2. Fungsi Pengambilan Data String

Digunakan untuk mengembalikan informasi mengenai data string.

a. At()

Digunakan untuk menentukan posisi sebuah karakter string dalam

suatu data string, dimulai karakter pertama.

At(<sub string>,<data string>)

Gambar 13.11 BentukPenulisan Fungsi At()

Contoh :

Clear

Local pilih

Pilih=space(1)

Do While.T.

@10,10 say “Tambah Data Lagi [Y/T] : “ get pilih pict”!”

Read

If At(pilih,”YT”)=0

Alert(“Tombol yang anda tekan salah …!”)

Inkey(0)

Loop

Else

Exit

endif

enddo

Gambar 13.12 Contoh Penulisan Fungsi At()

b. Rat()

Page 160: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clx

Digunakan untuk menentukan posisi sebuah karakter string dalam data

string dimulai dari sebelah kanan.

Rat(<sub string>,<data string>)

Gambar 13.13 Contoh Penulisan Fungsi Rat()

Contoh :

Clear

Local data,hasil

@10,10 say “Masukkan Data String : “ get data pict”@!”

Read

Hasil=Rat(“A”,data)

@12,10 say “Karakter A ada di karakter ke : “ +trans(hasil,”99”)

Gambar 13.14 Contoh Penulisan Fungsi Rat()

c. Len()

Digunakan untuk menghitung panjang data string atau mengetahui

jumlah karakter termasuk spasi.

Len(<data string>)

Gambar 13.15 Contoh Penulisan Fungsi Len()

Contoh :

Local data,hasil

clear

@10,10 say “Masukkan Data String : “ get data pict”@!”

Read

Hasil=Len(data)

@12,10 say “Panjang Data adalah : “ +trans(hasil,”99”)

Gambar 13.16 Contoh Penulisan Fungsi Len()

3. Fungsi Manipulasi Spasi

Page 161: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxi

Digunakan untuk memanipulasi data string khususnya karakter spasi.

a. AllTrim()

Digunakan untuk menghilangkan spasi di depan dan belakang dari

suatu data string.

Alltrim(<data string>)

Gambar 13.17 Contoh Penulisan Fungsi Alltrim()

Contoh :

Local data,hasil

clear

@10,10 say “Masukkan Data String : “ get data pict”@!”

Read

Hasil=Len(Alltrim(data))

@12,10 say “Panjang Data adalah : “ +trans(hasil,”99”)

Gambar 13.18 Contoh Penulisan Fungsi Alltrim()

b. LTrim()

Digunakan untuk menghilangkan karakter spasi dari data string yang

berada di depan.

LTrim(<data string>)

Gambar 13.19 Contoh Penulisan Fungsi LTrim()

Contoh :

clear

? Ltrim(” didik nugroho”) // ”didik nugroho”

Gambar 13.20 Contoh Penulisan Fungsi LTrim()

c. RTrim() atau Trim()

Digunakan untuk menghilangkan karakter spasi dari data string yang

berada di belakang.

Trim(<data string>) atau RTrim(<data string>)

Gambar 13.21 Contoh Penulisan Fungsi RTrim() atau Trim()

Contoh :

Page 162: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxii

clear

? Trim(”Didik Nugroho ”) // ”Didik Nugroho”

Gambar 13.22 Contoh Penulisan Fungsi RTrim() atau Trim()

d. PadC()

Digunakan untuk mengganjal suatu data string dengan karakter spasi

di depan dan di belakang, sehingga akan menghasilkan data string

yang terletak di tengah diantara karakter spasi.

PadC(<data string>)

Gambar 13.23 Bentuk Penulisan Fungsi PadC()

Contoh :

clear

? PadC(”Didik Nugroho”) // ” Didik Nugroho ”

Gambar 13.24 Contoh Penulisan Fungsi PadC()

e. PadL()

Digunakan untuk data string dengan karakter spasi di depan atau

sebelah kiri dari data string.

PadL(<data string>)

Contoh :

clear

? PadL(”Didik Nugroho”) // ” Didik Nugroho”

Gambar 13.25 Bentuk Penulisan Fungsi Padl()

f. PadR()

Digunakan untuk data string dengan karakter spasi di belakang atau

sebelah kanan dari data string.

PadR(<data string>)

Gambar 13.26 Bentuk Penulisan Fungsi PadR()

Contoh :

clear

? PadR(”Didik Nugroho”) // ”Didik Nugroho ”

Gambar 13.27 Contoh Penulisan Fungsi PadR()

Page 163: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxiii

4. Fungsi Edit dan Manipulasi Data String

a. Left()

Mengambil sejumlah n karakter dari sebelah kiri.

Left(<data string>,<njumlah>)

Gambar 13.28 Bentuk Penulisan Fungsi Left()

Contoh :

clear

? Left(”Didik Nugroho”,5) // Didik

Gambar 13.29 Contoh Penulisan Fungsi Left()

b. Right()

Mengambil sejumlah n karakter dari sebelah kanan.

Right(<data string>,<njumlah>)

Gambar 13.30 Bentuk Penulisan Fungsi Right()

Contoh :

clear

? Right(”Didik Nugroho”,5) // Didik

Gambar 13.31 Contoh Penulisan Fungsi Right()

c. SubStr()

Digunakan untuk mengambil potongan karakter string dari suatu data

string, mulai posisi tertentu, sebanyak <njumlah> karakter sesuai yang

ditentukan.

SubStr(<data string>,<nposisi>,<njumlah>)

Gambar 13.32 Bentuk Penulisan Fungsi SubStr()

Contoh:

clear

? Substr(“Didik Nugroho”,3,5) // ”dik N”

Gambar 13.33 Contoh Penulisan Fungsi SubStr()

d. Upper()

Berguna untuk mengubah semua karakter alphabetic menjadi huruf

besar atau capital.

Page 164: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxiv

Upper(<data string>)

Gambar 13.34 Bentuk Penulisan Fungsi Upper()

Contoh :

clear

? Upper(”didik”) // ”DIDIK”

Gambar 13.35 Contoh Penulisan Fungsi Upper()

e. Lower()

Digunakan utnuk mengubah semua karakter alphabetik menjadi huruf

kecil.

Lower(<data string>)

Gambar 13.36 Contoh Penulisan Fungsi Lower()

Contoh :

? lower (”Didik Nugroho”) // didik nugroho

Gambar 13.37 Contoh Penulisan Fungsi Lower()

f. Stuff()

Berguna untuk menyisipkan atau menghapus satu atau lebih karakter

di posisi tertentu dari suatu data string.

Stuff(<expn1>,<expn2>,<expc2>)

Gambar 13.38 Bentuk Penulisan Fungsi Stuff()

Mengubah beberapa karakter expc1, sejumlah expc2, mulaiexpn1

dengan karakter pengganti expc2.

Contoh :

Nama=”Didik Nugroho”

? Stuff(nama,2,1,”0”) // “Dodik Nugroho”

Gambar 13.39 Contoh Penulisan Fungsi Stuff()

g. Operator untuk data string

Contoh :

? “didik”+” nugroho” // “didik nugroho”

? “didik”+”nugroho” //”didiknugroho”

Page 165: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxv

Gambar 13.40 Contoh Operator Data String

h. Str()

Mengubah expresi/data numerik menjadi data string.

str(<expc>)

Gambar 13.41 Bentuk Penulisan Fungsi Str()

Contoh :

? str(5) // “5”

Gambar 13.42 Contoh Penulisan Fungsi Str()

i. Val()

Mengubah data tipe string yang berupa angka menjadi data numerik

Val(<expc>)

Gambar 13.43 Bentuk Penulisan Fungsi Val()

Contoh

? val(”55”) //55

Gambar 13.44 Contoh Penulisan Fungsi Val()

Page 166: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxvi

BAB XIV

FUNGSI MATEMATIK

Tujuan Instruksional Umum :

Mahasiswa dapat memahami dan menerapkan fungsi matematik dalam clipper compiler.

Tujuan Instruksional Khusus :

1. Mahasiswa mengetahui operasi matematik dan cara penerapannya ke dalam program.

2. Mahasiswa mengetahui dan dapat menerapkan perintah Set Decimal dan Set Fixed.

3. Mahasiswa mengetahui fungsi-fungsi matematika dan dapat menerapkan ke dalam program.

A. Operasi Matematik

Tabel 14.1 Operator Matematik

Operator Guna

++ Penaikan suatu nilai numerik secara otomatis

-- Penurunan suatu niali numerik secara otomatis

+ Menjumlahkan dua buah nilai numerik

- Mengurangkan dua buah nilai numerik

** / ^ Perpangkatan

* Perkalian dua buah nilai numerik

/ Pembagian dua buah nilai numerik

% Penentuan nilai sisa bagi (Modulus)

:= Pemuatan niali

Contoh :

Local nilai1,nilai2,nilai3,jml

Clear

Nilai1=10

Nilai2=20

Nilai3=30

Jml=nilai1+nilai2+nilai3

?trans(jml,”99999”)

Gambar 14.1 Contoh Penulisan Operator Matematik

B. Perintah SET DECIMALS dan SET FIXED

SET DECIMALS TO digunakan untuk menentukan jumlah digit decimal

yang harus ditampilkan oleh program clipper.

Page 167: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxvii

Perintah SET FIXED ON/OFF digunakan untuk mengaktifkan (ON) bahwa

penentuan jumlah digit decimal dengan perintah SET DECIMALS TO

berlaku, dan menonaktifkan (OFF).

C. Fungsi-Fungsi Matematika

1. Abs()

Berguna untuk mengembalikan nilai numerik menjadi nilai mutlak. Yang

dimaksudkan dengan nilai mutlak di sini adalah nilai tanpa adanya tanda

negative atau positif.

Abs(<data numeric>)

Gambar 14.2 Bentuk Penulisan Fungsi Abs()

Contoh :

Local nilai1,nilai2

Clear

Nilai1=100

Nilai2=-100

?Abs(nilai1)

?Abs(nilai2)

Gambar 14.3 Contoh Penulisan Fungsi Abs()

2. Int()

Berguna untuk mengembalikan nilai numerik menjadi nilai integer

(bilangan bulat) dari suatu nilai data numerik. Nilai integer adalah nilai

yang dihilangkan fraksi atau nilai pecahan atau desimalnya (berbeda

dengan proses pembulatan).

Int(<data numerik>)

Gambar 14.4 Bentuk Penulisan Fungsi Int()

Contoh :

Local nilai1,nilai2

Clear

Nilai1=100.50

Nilai2=100.77

?Int(nilai1)

Page 168: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxviii

?Int(nilai2)

Gambar 14.5 Contoh Penulisan Fungsi Int()

3. Max()

Berguna untuk membandingkan dua buah nilai data numerik data

mengembalikan nilai terbesar di antara keduanya.

Max(<data numerik1>,<data numerik2>)

Gambar 14.6 Bentuk Penulisan Fungsi Max()

Contoh :

local nilai1,nilai2,tinggi

clear

niali1=100

nilai2=200

tinggi=Max(nilai1,nilai2)

?tinggi

Gambar 14.7 Contoh Penulisan Fungsi Max()

4. Min()

Berguna untuk membandingkan dua buah nilai data numerik dan

mengembalikan nilai terkecil di antara keduannya.

Min(<data numerik1>,<data numerik>)

Gambar 14.8 Contoh Penulisan Fungsi Min()

Contoh :

local nilai1,nilai2,rendah

clear

nilai1=100

nilai2=150

rendah=Min(nilai1,nilai2)

?rendah

Gambar 14.9 Contoh Penulisan Fungsi Min()

5. Round()

Beguna untuk mengembalikan nilai pembulatan ke atas, jika nilai yang

dibulatan lebih dari atau sama dengan 5.

Round(<data numerik>,<desimal>)

Contoh :

Local nilai

Nilai=12345.568745

Clear

Page 169: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxix

?Round(nilai,4)

?Round(nilai,3)

?Round(nilai,2)

Gambar 14.10 Bentuk Penulisan Fungsi Round()

6. Sqrt()

Berguna untuk mengembalikan nilai akar dari suatu data numeric.

Sqrt(<data numeric>)

Gambar 14.11 Bentuk Penulisan Fungsi Sqrt()

Contoh :

Local nilai

Nilai=100

Clear

?sqrt(nilai)

?sqrt(10^2)

?sqrt(2)

Gambar 14.12 Contoh Penulisan Fungsi Sqrt()

Page 170: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxx

BAB XV

FUNGSI TANGGAL DAN WAKTU

Tujuan Instruksional Umum :

Mahasiswa mampu menerapkan fungsi tanggal dan waktu dalam program clipper compiler 5.3.

Tujuan Instruksional Khusus :

1. Mahasiswa mengetahui operasi tanggal, variabel tanggal dan cara penerapannya dalam

program.

2. Mahasiswa mengerti format tanggal, fungsi-fungsi tanggal, fungsi-fungsi waktu dan dapat

menerapkannya dalam program.

A. Operasi Tanggal

Adalah operasi yang dituliskan berupa ekspresi yang bekerja terhadap data

jenis tanggal.

Operator yang digunakan :

Tabel 15.1 Operator Operasi Tanggal

Operator Guna

+ Menaikkan tanggal sebanyak n hari sesuai yang ditentukan

- Mengurutkan tanggal sebanyak n hari sesuai yang

ditentukan

Contoh :

Local tanggal

Clear

Tanggal=date()

?tanggal+1

?tanggal-3

Tanggal++

?tanggal

?++tanggal

Gambar 15.1 Contoh Operasi Tanggal

B. Mendefinisikan Variabel Tanggal

Fungsi tanggal Data(), cara mendefinisikannya dengan fungsi Ctod().

Page 171: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxi

Contoh :

Local tanggal1,tanggal2

Clear

Tanggal1=date()

Tanggal2=”02/03/09”

Tanggal1=ctod(tanggal2)

Gambar 15.2 Contoh Mendefinisikan Variabel Tanggal

C. Format Tanggal

Dalam program clipper format tanggal defaultnya adalah :

Mm/dd/yy [bulan/tanggal/tahun]

Gambar 15.3 Bentuk Penulisan Format Tanggal

Selain format di atas kita juga dapat menentukan format tanggal sendiri

dengan perintah SET DATE atau SETDATE FORMAT TO.

SET DATE <format>

Atau

SET DATE FORMAT TO <format>

Gambar 15.4 Bentuk Penulisan Format Tanggal

Format tanggal yang dapat digunakan :

Tabel 15.2 Format Tanggal

Format Bentuk keluaran

American Mm/dd/yy

Ansi yy.mm.dd

British Dd/mm/yy

French Dd/mm/yy

German dd.mm.yy

Italian dd-mm-yy

Japanese Yy/mm/dd

Usa mm-dd-yy

Contoh :

Local tanggal

Clear

Tanggal=date()

SET DATE BRITISH

?tanggal

Page 172: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxii

SET DATE ANSI

?tanggal

Gambar 15.5 Contoh Penulisan Format Tanggal

Dalam keadaan default angka tahun yang ditampilkan adalah dua angka

belakang atau tanpa angka abad, perintah yang digunakan :

SET CENTURY ON/OFF

Contoh :

Local tanggal

Tanggal=date()

Clear

Set date british

Set century off

?tanggal

Set Century ON

?tanggal

Gambar 15.6 Contoh Penulisan Format Tanggal dengan Set Century

D. Fungsi-Fungsi Tanggal

1. Date()

Berfungsi untuk menentukan dan mengembalikan nilai balik data tanggal

dari system computer yang ada.

Date()

Gambar 15.7 Bentuk Penulisan Fungsi Date()

Contoh :

Local tanggal

Tanggal=date()

?tanggal

?date()

Gambar 15.8 Contoh Penulisan Fungsi Date()

2. Cdow()

Mengubah tanggal menjadi nama hari.

Page 173: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxiii

Cdow(<data tanggal>)

Gambar 15.9 Bentuk Penulisan Fungsi CDow()

Contoh

clear

? cdow(date()) // Tuesday

Gambar 15.10 Contoh Penulisan Fungsi CDow()

3. Cmoth()

Untuk menampilkan nama bulan dari sebuah tanggal.

Cmont(<data tanggal>)

Gambar 15.11 Bentuk Penulisan Fungsi CMonth()

Contoh :

? Cmonth(date()) // March

Gambar 15.12 Contoh Penulisan Fungsi CDow()

4. Dow()

Menampilkan hari keberapa dalam satu minggu.

Dow(<data tanggal>)

Gambar 15.13 Bentuk Penulisan Fungsi Dow()

Contoh :

clear

? dow(date()) // 2

Gambar 15.14 Contoh Penulisan Fungsi Dow()

5. Day()

Fungsi ini digunakan untuk mengambil data tanggal saja dari exprl

tanggal, bulan dan tahun.

Day(<data tanggal>)

Gambar 15.15 Contoh Penulisan Fungsi Day()

Contoh :

? day(date()) // 22

Gambar 15.16 Contoh Penulisan Fungsi Day()

6. Month(var day)

Page 174: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxiv

Fungsi ini mengambil angnka bulan dari expresi tanggal.

Month(<data tanggal>)

Gambar 15.17 Bentuk Penulisan Fungsi Month()

Contoh

? month(date)) //3

Gambar 15.18 Contoh Penulisan Fungsi Month()

7. Year()

Fungsi ini untuk mengnambil angka tahun dari expresi tanggal yang

diberikan.

Year(<data tanggal>)

Gambar 15.19 Bentuk Penulisan Fungsi Year()

Contoh

? year(date)) //1998

Gambar 15.20 Contoh Penulisan Fungsi Year()

8. Dtoc()

Fungsi untuk mengubah exp tanggal menjadi data tipe character.

Dtoc(<data tanggal>)

Gambar 15.21 Bentuk Penulisan Fungsi Dtoc()

Contoh :

Local tanggal1,tanggal2

Clear

Tanggal1=date()

Tanggal2=dtoc(tanggal1)

?tanggal2

Gambar 15.22 Contoh Penulisan Fungsi Dtoc()

9. Ctod()

Fungsi ini digunakan untuk mengubah tipe charakter menjadi data bertipe

date.

Ctod(<data karakter>)

Page 175: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxv

Gambar 15.23 Contoh Penulisan Fungsi Ctod()

Contoh:

? ctod(”12/12/98”) // 12/12/98 berupa tanggal

Gambar 15.24 Contoh Penulisan Fungsi Ctod()

E. Fungsi-Fungsi Waktu

1. Time()

Fungsi ini akan menghasilkan data jam system dengan format

HH:MM”SS.

Time()

Contoh :

Clear

?Time()

Gambar 15.25 Contoh Penulisan Fungsi Time()

2. Second()

Fungsi ini akan menghasilkan data jam sistem dengan format detik

seperseratus detik yang dihitung mulai 24.00 (jam 12 malam).

Second()

Gambar 15.26 Bentuk Penulisan Fungsi Second()

Page 176: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxvi

BAB XVI

FILE TEKS DAN FIELD MEMO

Tujuan Instruksional Umum :

Mahasiswa dapat memahami penggunaan field Teks dan Field Memo.

Tujuan Instruksional Khusus :

1. Mahasiswa mengetahui cara membaca dan menulis field memo dan dapat mempraktekkannya

ke dalam program.

2. Mahasiswa mengetahui cara membaca dan menulis file teks dan dapat mempraktekkannya ke

dalam program.

A. Membaca Field Memo dan Menulis ke Field Memo

Biasanya ada field dari suatu database yang bertype memo, field ini biasanya

untuk menampung data pesan yang panjang.

1. Membaca Data dari Field Memo

Untuk membaca field memo yang disimpan ke dalam variable memo dapat

dilakukan dengan :

Menggunakan operator pemuat nilai

Menggunakan fungsi FieldGet()

Contoh :

Use pasien

Local teks

Teks=bacamemo((pasien->catatan),60)

Retun

Gambar 16.1 Contoh Pembacaan Field Memo

2. Menulis Data ke dalam Field Memo

Page 177: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxvii

Perintah yang dapat dipakai :

Menggunakan operator pemuat nilai

Menggunakan fungsi FieldPut()

Contoh 1 :

Use pasien

Dbeval({||catatan:=”Pasien pernah menderita diabetes”})

Retu

Contoh 2 :

Use pasien

Dbeval({||fieldPut(7,”Pasien pernah menderita diabetes”})

Retun

Gambar 16.2 Contoh Menulis Data Ke dalam Field Memo

B. Membaca File Teks dan Menulis ke File Teks

1. Memoread()

Digunakan untuk membaca file teks dan mengembalikan nilai balik data

teks dari teks dalam file yang dibaca.

MemoRead(“<file teks>”)

Gambar 16.3 Bentuk Penulisan Fungsi MemoRead()

Contoh :

Local mmemo

Mmemo:=memoread(“Confiq.SYS”)

Gambar 16.4 Contoh Penulisan Fungsi MemoRead()

2. MemoEdit()

Digunakan untuk menampilkan sekaligus mengedit teks dalam file teks

yang dibaca ke layer.

MemoEdit([<variable memo>],<atas>,<kiri>,<bawah>,<kanan>

,<edit>,<fungsi>,<panjang>,<tabulasi>,<baris teks>

,<kolom>,<baris jendela>,<kolom jendela>)

Gambar 16.5 Bentuk Penulisan Fungsi MemoEdit()

Contoh :

Local mmemo

Mmemo:=memoread(”Confiq.SYS”)

MemoEdit(mmemo,5,2,17,60,.T.)

Page 178: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxviii

Gambar 16.6 Contoh Penulisan Fungsi MemoEdit()

3. MemoWrite()

Setelah kita membaca dan mengedit data teks dalam suatu file teks, kita

dapat menyimpan kembali ke dalam file.

MemoWrite(“<file teks>”,<variable memo>)

Gambar 16.7 Bentuk Penulisan Fungsi MemoWrite()

Contoh :

Local mmemo

Mmemo:=memoread(“Confiq.SYS”)

Memoedit(mmemo,5,2,17,60,.T.)

memoWrite(“Confiq.SYS”,mmemo)

Gambar 16.8 Contoh Penulisan Fungsi MemoWrite()

BAB XVII

FILE MEMORY

Tujuan Instruksional Umum :

Mahasiswa dapat memahami fungsi File Memory.

Tujuan Instruksional Khusus :

1. Mahasiswa mengetahui dan dapat mendefinisikan variabel memory.

2. Mahasiswa mengetahui perintah-perintah file memory.

3. Mahasiswa dapat mempraktekkan perintah-perintah file memory.

A. Variabel Memory

Variable memory dipakai sebagai data konfigurasi atau yang akan disimpan ke

dalam file memory harus variable yang berkelas PRIVATE atau PUBLIC,

jadi kita harus mendefinisikan dengan perintah PUBLIC atau PRIVATE dan

ditentukan atau dialokasikan sebagai data memory dengan perintah

MEMVAR.

Contoh :

#Include “INKEY.CH” PUBLIC zTg_Proses,zPass,Drv,drive,mNO_BAR,mGOL,mNO_FAKTUR

Gambar 17.1 Deklarasi Variabel Memory

B. Perintah-Perintah File Memory

1. Menyimmpan Data ke dalam File Memory

Perintah yang digunakan :

Page 179: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxix

SAVE TO <file memory> ALL LIKE / EXCEPT <variable dengan

wild card>

Gambar 17.2 Bentuk Penulisan Perintah SAVE TO

Contoh :

//menyimpan semua variable memory yang aktif

SAVE TO mmemo1 ALL

//menyimpan semua variable memory yang berawalan karakter z

SAVE TO mmemo2 ALL LIKE Z*

//menyimpan semua variable memory kecuali yang berawalan Z

SAVE TO mmemo3 ALL EXCEPT Z*

Gambar 17.3 Contoh Penulisan Perintah SAVE TO

2. Menyimpan Data ke dalam File Memory

Untuk memanggil variable memory yang tersimpan dalam file memory

agar diaktifkan dalam memory perintah RESTORE FROM….

RESTORE FROM <file emory> ADDITIVE

Gambar 17.4 Bentuk Penulisan Perintah RESTORE FROM

Contoh :

//memanggil variable dari file memory tanpa option ADDITIVE

RESTORE FROM mmemo1

//memanggil variable dari file memory dengan option ADDTIVE

RESTORE FROM mmemo1 ADDTIVE

Gambar 17.5 Contoh Penulisan Perintah RESTORE FROM

3. Menghapus Variabel Memory

Perintah untuk menghapus variable memory :

CLEAR ALL

CLEAR MEMORY

RELEASE

RELEASE ALL

CLEAR ALL

CLEAR MEMORRY

RELEASE

RELEASE ALL

Gambar 17.6 Penulisan Perintah Menghapus Variabel Memory

Page 180: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxx

LAMPIRAN A

Fungsi-fungsi yang akan secara otomatis menggunakan harga sesuai dengan

system yang saat itu aktif disebut dengan fungsi-fungsi lingkungan. Fungsi-fungsi

dalam program clipper yang masuk kategori sebagai lingkungan adalah sebagai

berikut :

Kode Nilai Balik Fungsi

CURDIR() Sub directory aktif

DISKSPACE() Sepasi kosong dalam penyimpanan yang masih dapat

digunakan

FKLABEL() Nama kunci fungsi

FKMAX() Angka dari kunci fungsi yang dapat dipakai sebagai

konstanta

GETENV() Mengambil variable yang didefinisikan dalam DOS

ISCOLOR() Warna layer yang aktif

MAXCOL() Posisi kolom maksimal

MAXROW() Posisi baris yang maksimal

MEMORY() Memory atau RAM yang masih kosong dan dapat

digunakan

OS() System operasi yang digunakan

SET() Perintah-perintah set yang digunakan

SET BELL Mengaktifkan bel

Page 181: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxxi

SET COLOR Mendefinisikan warna layer

SET DEFAULT Mengubah default drive aktif

SET FUNCTION Mendefinisikan penekan suatu kunci

SET TYPEAHEAD mengubah ukuran buffer yang dipakai oleh keyboard

TONE() Mengubah frekwensi suara

VERSION() Versi dari program clipper yang digunakan

LAMPIRAN B

KODE ASCII

Berikut ini kode-kode ASCII yang dapat digunakan dalam program Clipper

Compiler :

Dec Hex Char Dec Hex Char Dec Hex Char Dec Hex Char

0 00h NUL 35 23h # 70 46h F 106 6Ah j

1 01h SOH 36 24h $ 71 47h G 107 6Bh k

2 02h STX 37 25h % 72 48h H 108 6Ch l

3 03h ETX 38 26h & 73 49h I 109 6Dh m

4 04h EOT 39 27h „ 74 4Ah J 110 Eh n

5 05h ENQ 40 28h ( 75 4Bh K 111 6Fh o

6 06h ACK 41 29h ) 74 4Ah L 112 70h p

7 07h BEL 42 2Ah * 76 4Ch M 113 71h q

8 08h BS 43 2Bh + 78 4Eh N 114 72h r

9 09h HT 44 2Ch , 79 4Fh O 115 73h s

10 0Ah LF 45 2Dh - 80 50h P 116 74h t

11 0Bh VT 46 2Eh . 81 51h Q 117 75h u

12 0Ch LF 47 2Fh / 82 52h R 118 76h v

13 0Dh FF 48 30h 0 83 53h S 119 77h w

Page 182: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxxii

14 0Eh SO 49 31h 1 84 54h T 120 78h y

15 0Fh SI 50 32h 2 85 55h U 121 79h x

16 10h DLE 51 33h 3 86 56h V 122 7Ah z

17 11h DC1 52 34h 4 87 57h W 123 7Bh {

18 12h DC2 53 35h 5 88 58h Y 124 7Ch |

19 13h DC3 54 36h 6 89 59h X 125 7Dh }

20 14h DC4 55 37h 7 91 5Bh [ 126 7Eh ~

21 15h NAK 56 38h 8 92 5Ch \ 127 7Fh ⌂

22 16h SYN 57 39h 9 93 5Dh ] 128 80h Ç

23 17h ETB 58 3Ah : 94 5Eh ^ 129 81h ü

24 18h CAN 59 3Bh ; 95 5Fh _ 130 82h é

25 19h EM 60 3Ch < 96 60h ` 131 83h â

27 1Bh ESC 61 3Dh = 97 61h a 132 84h ä

28 1Ch FS 62 3Eh > 98 62h b 133 85h à

29 1Dh GS 63 3Fh ? 99 63h c 134 86h å

30 1Eh RS 64 40h @ 100 64h d 135 87h ç

31 1Fh US 65 41h A 101 65h e 136 88h ê

32 20h 66 42h B 102 66h f 137 86h ë

33 21h ! 67 43h C 103 67h g 138 8Ah ï

34 22h “ 68 44h D 104 68h h 139 8Bh î

69 45h E 105 69h i 140 8Ch ì

Dec Hex Char Dec Hex Char Dec Hex Char Dec Hex Char

141 8Dh Ì 177 B1h ▒ 212 D4h ⌵ 248 F8h °

142 8Eh Ä 178 B2h ▓ 213 D5h ⌯ 249 F9h ∙

143 8Fh Å 179 B3h ⌣ 214 D6h ⌰ 250 FAh ·

144 90h É 180 B4h ⟨ 215 D7h ⍈ 251 FBh √

145 91h Æ 181 B5h ⌾ 216 D8h ⍇ 252 FCh ⁿ

146 92h Æ 182 B6h ⌿ 217 D9h ⌧ 253 FDh ²

147 93h Ô 183 B7h ⌳ 219 DBh ⌤ 254 FEh ▔

148 94h Ö 184 B8h ⌲ 220 DCh ⍌ 255 FFh

149 95h Ò 185 B9h ⍀ 221 DDh ⍋

150 96h Û 186 Bah ⌮ 222 DEh ▐

151 97h Ù 187 BBh ⌴ 223 DFh ⍊

152 98h Ÿ 188 BCh ⌺ 224 E0h Α

153 99h Ö 189 BDh ⌹ 225 E1h ß

155 9Bh Ü 190 BEh ⌸ 226 E2h Γ

156 9Ch ¢ 191 BFh ⌥ 227 E3h Π

157 9Dh £ 192 C0h ⌦ 228 E4h Σ

158 9Eh ¥ 193 C1h ⌫ 229 E5h Σ

159 9Fh ₧ 194 C2h ⟩ 230 E6h µ

160 A0h ƒ 195 C3h ⌨ 231 E7h Τ

161 A1h Á 196 C4h ⌢ 232 E8h Φ

162 A2h Í 197 C5h ⌬ 233 E9h Θ

Page 183: MODUL KULIAH PEMROGRAMAN BASIS DATA ... - E …library.stmikdb.ac.id/files/disk1/1/--ekopurwant-27-1-modulpr-r.pdf · STMIK Duta Bangsa Surakarta Pemrograman Basis Data dengan Clipper

STMIK Duta Bangsa Surakarta

Pemrograman Basis Data dengan Clipper 5.3 clxxxiii

163 A3h Ó 198 C6h ⌻ 234 EAh Ω

164 A4h Ú 199 C7h ⌼ 235 EBh Δ

165 A5h Ñ 200 C8h ⌷ 236 ECh ∞

166 A6h Ñ 201 C9h ⌱ 237 EDh Φ

167 A7h º 202 CAh ⍆ 238 EEh Ε

168 A8h ¿ 203 CBh ⍃ 239 EFh ∩

169 A9h ⌐ 202 CAh ⌽ 240 F0h ≡

170 AAh ¬ 204 CCh ⌭ 241 F1h ±

171 ABh ½ 206 CEh ⍉ 242 F2h ≥

172 ACh ¼ 207 CFh ⍄ 243 F3h ≤

173 ADh ¡ 208 D0h ⍅ 244 F4h ⌠

174 AEh « 209 D1h ⍁ 245 F5h ⌡

175 AFh » 210 D2h ⍂ 246 F6h ÷

176 B0h ░ 211 D3h ⌶ 247 F7h ≈

DAFTAR PUSTAKA

Dwi Sakethi, Pemrograman Clipper, http://dwijim.tux.nu, 2003

Ganiadi Gunawan, Clipper Single User dan Multi User, Jakarta, 1995

Nurdin Budi Mustofa, Pemrograman Clipper, 1996

Nantucket, Inc, Clipper, Summer Version 1987

Nantucket, Inc, Clipper 5.0 Reference, 1990

Nuryani Prabandari, Aplikasi Dbase III Plus Pada Akuntansi, 2000

Micro-Tech Publication, Clipper Programming Guide, 1988