Oleh :
Eko Purwanto, S.Kom
Penulis
LAMPIRAN-LAMPIRAN
DAFTAR PUSTAKA
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
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
BAB II
STRUKTUR DAN FORMAT PROGRAM CLIPPER COMPILER
//Memberikan ekspresi
[<ekspresi>
...]
//Menggunakan fungsi/prosedur
[<nama fungsi/prosedur> ([<parameter fungsi/prosedur>
[,...]])
...]
[RETURN [<nilai balik fungsi>]]
...]
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-
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.
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 :
*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
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
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 :
BAB III
DATA DAN VARIABEL
Tujuan Instruksional Umum :
Mahasiswa dapat memahami Tipe Data dan Variable 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 :
- 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]
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
Contoh salah :
2nilai
No mhs
Set
Gambar 3.8 Contoh Penulisan Variabel
Macam-macam variabel :
Variabel Public
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
BAB IV
OPERATOR DAN EKSPRESI
Tujuan Instruksional Umum :
Mahasiswa dapat mengenal dan memahami operator dan ekspresi dalam Clipper Compiler 5.3.
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.
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
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
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
Pemrograman Basis Data dengan Clipper 5.3 xlvi
STMIK Duta Bangsa Surakarta
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
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.
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
BAB VI
MENAMPILKAN ATAU MENCETAK DATA
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>)
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
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).
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 :
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),
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
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
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
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)
Prow()
Berfungsi untuk menentukan nilai posisi baris dari kepala pencetak
yang aktif dan dikembalikan sebagai nilai balik dari fungsi tersebut.
SetPrc()
Contoh :
Clear
SET DECIMAL TO 2
SET FIXET ON
?angka1
SET FIXED OFF
?angka2
Gambar 6.36 Contoh Penulisan Perintah SET DECIMAL TO, SET FIXED
Contoh 2:
Clear
Locak bunyi
For bunyi:=1000 to 1 Step -50
Tone(bunyi,18)
NEXT
RETURN
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
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
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()
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
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
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))
BAB VIII
APLIKASI MENGGUNAKAN DATABASE
Tujuan Instruksional Umum :
Mahasiswa dapat mengenal database dan mengaplikasikannya ke dalam program.
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
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
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
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
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
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()
Contoh 1 :
Clear
Local kdcari
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)
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.
Keterangan :
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.
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
BAB IX
PROSES TERHADAP DATABASE
Tujuan Instruksional Umum :
Mahasiswa mampu memproses database atau table dengan program.
@16,25 say 'ISI Lagi [Y/T] :' get pil pict '@!' valid
pil$'Y/T'
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
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
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
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 :
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 '<-'
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
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")
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
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()
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
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)
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
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
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
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
BAB X
MENYARING ATAU FILTER DATA DAN MENGHUBUNGKAN
DATABASE
Tujuan Instruksional Umum :
Mahasiswa dapat memahami proses penyaringan data dan relasi antar tabel atau database.
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'
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
Barang.dbf
Kd_brg
Nm_brg
Merk
Satuan
Harga Beli.dbf
Stok
Pemrograman Basis Data dengan Clipper 5.3 No_faktur cxxxv
Tgl_tran
Kd_brg
Jml_beli
Harga
STMIK Duta Bangsa Surakarta
Contoh :
# INCLUDE "INKEY.CH"
# INCLUDE "SETCURS.CH"
# INCLUDE "BOX.CH"
SELECT A
use BARANG index BARANG alias barang
SELECT B
use BELI index BELI
mNO_FAKTU=space(5)
BAB XI
PRAPROSESOR, ARRAY DAN BLOK KODE
Tujuan Instruksional Umum :
Mahasiswa dapat memahami Praprosesor, Array dan Blok Kode dalam Clipper Compiler.
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 :
#ifndef <simbol>
#define <konstanta simbolik>
[#else
#define <konstanta simbolik>
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
Contoh 1:
#define ESCAPE 27
#define kiri 19
#define kanan 4
Clear
Local tekan
Tekan=0
Do WHLIE .T.
Tekan:=inkey(0)
Do case
Contoh 2 :
Contoh :
#command Copy file <(asal)> TO <(hasil)> =>
copyfile(<(asal)>,<(hasil)>
Local asal, hasil
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
Pemrograman Basis Data dengan Clipper 5.3 cxli
STMIK Duta Bangsa Surakarta
@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={}
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
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)
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()
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>])
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 :
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
C. Blok Kode
Adalah merupakan suatu tpe atau seperti tiap-tiap yang lain.
{|<daftar argument>|<daftar ekspresi>}
Eval(<blik kode>,<daftar parameter>)
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”
BAB XII
PROGRAM MENU PENGENDALI
Tujuan Instruksional Umum :
Mahasiswa mampu mengolah data dengan menu pengendali.
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.
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
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
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.
BAB XIII
FUNGSI-FUNGSI 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
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
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>)
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
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
b. Rat()
Pemrograman Basis Data dengan Clipper 5.3 clix
STMIK Duta Bangsa Surakarta
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”)
Contoh :
Pemrograman Basis Data dengan Clipper 5.3 clxi
STMIK Duta Bangsa Surakarta
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()
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”
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()
BAB XIV
FUNGSI MATEMATIK
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
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
Pemrograman Basis Data dengan Clipper 5.3 clxviii
STMIK Duta Bangsa Surakarta
?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()
BAB XV
FUNGSI TANGGAL DAN WAKTU
Tujuan Instruksional Umum :
Mahasiswa mampu menerapkan fungsi tanggal dan waktu dalam program clipper compiler 5.3.
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().
Pemrograman Basis Data dengan Clipper 5.3 clxx
STMIK Duta Bangsa Surakarta
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
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.
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>)
BAB XVI
FILE TEKS DAN FIELD MEMO
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 :
LAMPIRAN A
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
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 Θ
DAFTAR PUSTAKA