You are on page 1of 48

PENDIDIKAN

JARINGAN KOMPUTER
DAN
SISTEM INFORMASI

©Copyright PIKSI-ITS 2002

Ruang C.203 Jurusan Teknik Elektro ITS Keputih Sukolilo - Surabaya


Telp: (031)5929871 Fax: (031)5929870
: piksi-its@ee.its.ac.id
Desain Sistem dan Database Dalam Lingkungan Dos
i

Hak Cipta
Buku dan Logo dari PIKSI – ITS ini adalah merupakan
hak cipta dari PIKSI-ITS.
Dilarang memperbanyak, memfotocopy sebagian atau seluruh isi
dari buku dan logo tanpa seijin dari pihak PIKSI-ITS

Disclaimer
Book and Logo PIKSI-ITS are copyright© of PIKSI-ITS
No part of this book, including interior design , cover and logo
maybe reproduce without any permission from PIKSI-ITS
Desain Sistem dan Database Dalam Lingkungan Dos
ii

Kata Pengantar

Jenis pendidikan satu tahun sekarang ini sudah mulai banyak jumlah-
nya. Salah satunya adalah Pendidikan Jaringan Komputer dan Sistem
Informasi – ITS atau disingkat PIKSI – ITS. PIKSI pertama mengkhususkan
diri pada bidang Jaringan Komputer dan Basis Data. Kemudian menyesuaikan
diri dengan perkembangan dan minat masyarakat, dibuka kelas baru Aplikasi
Perkantoran.
Salah satu bidang yang diajarkan PIKSI sekarang ini adalah Desain
Database dalam Lingkungan Dos. Diharapkan bahwa buku ini akan
menunjuang bagi mereka yang berminat mendalami bidang ini, juga sebagai
pembantu dalam perkuliahan PIKSI-ITS.
Saran dan kritik anda tentang buku atau kualitas pengajaran dapat anda
kirimkan ke email : piksi-its@ee.its.ac.id.

Ketua PIKSI-ITS

I Ketut Edi Purnama, MT


Desain Sistem dan Database Dalam Lingkungan Dos
iii

Daftar Isi
Kata Pengantar.................................................................................................ii
Daftar Isi...........................................................................................................iii

Tipe Data, Variabel, dan Struktur Data ...................................................... 1-1


1.1. Tipe Data.................................................................................................... 1-2
1.2.1. Array (A)............................................................................................ 1-2
1.2.2. Karakter( C) ....................................................................................... 1-2
1.2.3. Tanggal .............................................................................................. 1-3
1.2.4. Bilangan Pecahan (F) dan Numerik (N) ............................................ 1-3
1.2.5. Logika ................................................................................................ 1-3
1.2.6. Memo ................................................................................................. 1-3
1.2. Variabel...................................................................................................... 1-4
1.2.1. Menciptakan Variabel........................................................................ 1-4
1.2.2. Menampilkan Karakteristik Variabel................................................. 1-4
1.3. Operator ..................................................................................................... 1-5
1.4. Assignment ................................................................................................ 1-6
1.5. Macro ......................................................................................................... 1-6

Struktur File.................................................................................................. 2-1


2.1. File ............................................................................................................. 2-2
2.2. Tipe Field ................................................................................................... 2-2

Perintah I/O Standard .................................................................................. 3-1


3.1. Perintah Output Standard........................................................................... 3-2
3.1.1. Perintah ? dan ?? ................................................................................ 3-2
3.1.2. Perintah @…Say ............................................................................... 3-2
3.1.3. Perintah DISPLAY dan LIST ............................................................ 3-3
3.1.4. Perintah SET DISPLAY .................................................................... 3-4
3.1.5. Keluaran ke Printer ............................................................................ 3-4
3.2. Perintah Input Standart .............................................................................. 3-4
3.2.1. Perintah ACCEPT.............................................................................. 3-4
3.2.2. Perintah INPUT ................................................................................. 3-5
3.2.3. Perintah WAIT................................................................................... 3-5
3.2.4. Fungsi InKey() ................................................................................... 3-5
3.2.5. Perintah KEYBOARD ....................................................................... 3-5
3.3. Format Input/Output .................................................................................. 3-6
3.3.1. PICTURE........................................................................................... 3-6
3.3.2. RANGE.............................................................................................. 3-7
3.3.3. VALID ............................................................................................... 3-7

Kontrol Alur Program .................................................................................. 4-1


4.1. Runtutan atau Urutan (Sequence) .............................................................. 4-2
4.2. Pemilihan (Selection)................................................................................. 4-2
4.2.1. Pemilihan satu kondisi dengan IF…ENDIF ...................................... 4-2
4.2.2. Pemilihan dua kondisi dengan IF…ELSE…ENDIF ......................... 4-2
4.2.3. Pemilihan dua kondisi dengan IIF ..................................................... 4-3
4.2.4. Pemilihan kondisi dengan IF…ELSE IF… ELSE…ENDIF ............. 4-3
Desain Sistem dan Database Dalam Lingkungan Dos
iv

4.2.5. Pemilihan beberapa kondisi dengan DO CASE… CASE…


OTHERWISE…ENDCASE .............................................................................. 4-3
4.3. Pengulangan (Repitition) ........................................................................... 4-3
4.3.1. FOR…NEXT ..................................................................................... 4-4
4.3.2. DO WHILE ENDDO......................................................................... 4-4

Penyusunan dan Pengolahan Database ................................................... 5-1


5.1. Pembuatan Struktur File ............................................................................ 5-2
5.1.1. Menggunakan Foxpro ........................................................................ 5-2
5.1.2. Menggunakan Clipper........................................................................ 5-2
5.2. Pengurutan File Database .......................................................................... 5-2
5.2.1. Sort..................................................................................................... 5-2
5.2.2. Index .................................................................................................. 5-3
5.3. Pengaksesan File Database ........................................................................ 5-3
5.3.1. Akses Squensial ................................................................................. 5-3
5.3.2. Akses Random ................................................................................... 5-3
5.4. Pengolahan Database ................................................................................. 5-4
5.4.1. Menambah Data (APPEND).............................................................. 5-4
5.4.2. Mengubah Data (EDIT) ..................................................................... 5-4
5.4.3. Menghapus Data (DELETE).............................................................. 5-5
5.4.4. Menyalin Data (COPY) ..................................................................... 5-5
5.4.5. Penghapusan File (ZAP) .................................................................... 5-5
5.4.6. Menambah Data dari File lain (APPEND FROM) ............................ 5-5
5.5. Browsing .................................................................................................... 5-5
5.6. Pengolahan File Memo .............................................................................. 5-5

Pemrograman Modular................................................................................ 6-1


6.1. PROCEDURE............................................................................................ 6-2
6.2. FUNCTION ............................................................................................... 6-2
6.3. PARAMETER ........................................................................................... 6-3

Manipulasi Data dan I/O Lanjut .................................................................. 7-1


7.1. Manipulasi Data Numerik.......................................................................... 7-2
7.2. Manipulasi Data Tanggal........................................................................... 7-2
7.3. Manipulasi Data Tanggal........................................................................... 7-3
7.3.1. Pencetakkan ke Printer....................................................................... 7-3
7.3.2. Penyimpanan ke File Teks ................................................................. 7-3
7.4. Manipulasi Data Tanggal........................................................................... 7-3
7.4.1. SET COLOR TO dan SET COLOR .................................................. 7-3
7.4.2. CLEAR dan @...CLEAR................................................................... 7-4
7.4.3. @...TO ............................................................................................... 7-5
7.4.4. @...BOX ............................................................................................ 7-5
7.4.5. SAVE SCREEN [TO <var>] dan RESTORE SCREEN [FROM
<var>7]............................................................................................... 7-5
7.4.6. <var>=SAVESCREEN() dan RESTSCREEN(…,<var>) ................. 7-6

Pembuatan Menu ......................................................................................... 8-1


8.1. Manipulasi Data Tanggal........................................................................... 8-2
8.2. Menu Pop-up dan Pull-down ..................................................................... 8-2
Desain Sistem dan Database Dalam Lingkungan Dos
v

Aplikasi Multiuser ........................................................................................ 9-1


9.1. Perintah dalam Multiuser........................................................................... 9-2
9.2. Function dalam Multiuser .......................................................................... 9-2
9.3. Langkah-langkah Pembuatan Aplikasi Multiuser...................................... 9-3
9.3.1. Waktu Penguncian yang tepat............................................................ 9-3
9.3.2. Cara Membuka File untuk Sharing .................................................... 9-3
9.3.3. Mekanisme Penguncian ..................................................................... 9-4
9.3.4. Penerapan Mode Share/ Exclusive..................................................... 9-4
Desain Sistem dan Database di Lingkungan DOS
Tipe Data, Variabel dan Struktur Data 1 - 1

BAB

Tipe Data, Variabel, dan Struktur Data

Tujuan :

Pada Bab Ini diharapkan mahasiswa :


• Mengenal berbagai tipe data FoxPro.
• Mampu menggunakan tipe-tipe data dalam memprogram Foxpro.
Desain Sistem dan Database di Lingkungan DOS
Tipe Data, Variabel dan Struktur Data 1 - 2

1.1. Tipe Data

Foxpro mengenal 8 macam tipe data, yaitu :

BERLAKU
TIPE DATA SIMBOL URAIAN
UNTUK
Sederetan MemVar yang dapat diakses dengan satu nama
Array A MemVer
tunggal
Karakter C MemVer/Field Data kombinasi alfabet, angka, spasi dan symbol
Tanggal D MemVer/Field Data berupa tanggal dengan panjang 8 byte
Bilangan Float F MemVer/Field Untuk keperluan operasi aritmatik
Logika L MemVer/Field Data karakter tunggal T/F yang bernilai benar atau salah
Data berupa infrmasi tentang suatu teks dengan panjang tidak
Memo M MemVer tentu maks. 64 KB. Data teks disimpan pada file yang terpisah
dari file database.
Bilangan
N MemVer/Field Untuk keperluan operasi aritmatik
Numerik

1.2.1. Array (A)

Adalah sederetan memvar yang dapat diakses dengan wsatu nama tunggal,
mirip dengan table yang berisi serangkaian nilai yang berurutan. Komponen-
komponen yang menyusun array berupa memvar disebut elemen.

Array tidak seperti memvar biasa yang bisa langsung diberi nilai, array harus
diciptakan dahulu dengan perintah sebagai berikut :

DECLARE <nama array> [jumlah elemen]

Contoh :
1. DECLARE dhanks [5]
Berarti kita membuat array dengan nama dhanks dan jumlah elemen
penyusunnya adalah 5.

1.2.2. Karakter( C)

Tipe data karakter biasa disebut juga sebagai tipe data string, menyatakan data
berupa deretan karakter alfabet A-Z, angka 0-9, dan sejumlah karakter
tertentu.

Data karakter dideklarasikan dengan menuliskan data dianatara salah satu


tanda di bawah ini :
1. tanda kutip tunggal (‘ ’)
2. tanda kutip ganda (“ ”)
3. tanda kurung ([ ])

Contoh :
1. ? ‘Dhanks’
Desain Sistem dan Database di Lingkungan DOS
Tipe Data, Variabel dan Struktur Data 1 - 3

2. ? “Mahasiswa PIKSI-ITS”
3. ? [2002-2003]
4. ? [contoh penulisan komentar dengan ‘ ’, “ ”, dan [] ]

Nb: tanda ? adalah perintah untuk menampilkan data yang dispesifikasikan di


belakangnya pada layar

1.2.3. Tanggal

Tipe tanggal digunakan untuk menyimpan data tabnggal dalam format


mm/dd/yy dengan m menyatakan bulan, d menyatakan tanggal, dan y
menyatakan tahun.

Contoh :
1. ?{12/25/90}
2. ?{12b25b90}

1.2.4. Bilangan Pecahan (F) dan Numerik (N)

Kedua tipe ini identik,menyatakan data berupa bilangan. Dalam Foxpro tisdak
ada perbedaan antara tipe data F dan N, sehingga dapat digunakan untuk
operasi numeric apa saja.

Contoh :
1. ? 3.14
2. ? 7+1

1.2.5. Logika

Tipe data ini digunakan untuk menyatakan data yang hanya mengandung 2
kondisi, yaitu benar/ salah dan ya/idak. Penulisan data tersebut diapit dengan
tanda titik (.). Untuk menyatakan Ya atau Benar digunakan karakter Y, y, T, t
dan untuk menyatakan Tidak atau Salah digunakan karakter N, n, F, f.

Contoh :
1. ?.F.
2. ?.Y.

1.2.6. Memo

Tipe Memo hanya berlaku untuk field. Memo adalah bagian dari suatu file
yang digunakan untuk menyimpan data karakter yang berukuran besar.
Desain Sistem dan Database di Lingkungan DOS
Tipe Data, Variabel dan Struktur Data 1 - 4

1.2. Variabel

Foxpro menyimpan data di dalam variable. Sebuah variable merupakan suatu nama
yang digunakan untuk mengidentifikasikan suatu nilai tertentu. Isi dari varibel dapat
berubah-ubah.

Suatu data apabila disimpan dalam variable, dapat kita ambil isinya,
memanipulasinya, menampilkanya dan memprosesnya sembarang waktu. Agar dapat
mengidentifikasi variable dan membedakan dengan variable lain, setiap variable harus
diberi nama (identifier). Dalam Foxpro identifier mengikuti aturan sebagai berikut :
1. Terdiri dari huruf, angka, atau garis bawah serta kombinasi dari ketiganya
2. Karakter pertama harus selalu berupa huruf
3. Panjang maksimum nama variable adalah 10 karakter
4. Nama variable diusahakan unik
5. Nama Fiekd database akan diprioritaskan pengaksesanya dibandingkan
dengan variable
6. Agar mudah mengetahui tipe data sebuah variable, maka diawal nama variable
ditambahkan karakter penanda tipe. Misal c(character), n(numeric), l(logical),
d(date), cNamaMahasiswa, nNilai, dTanggalLahir.

1.2.1. Menciptakan Variabel

Dalam Foxpro untuk menciptakan variable (MemVar) cukup dengan


menspesifikasikan nama memvar yang bersangkutan dan memberinya nilai
dengan operator = atau lewat perintah STORE.

Contoh :
Name = “Dhanks” && menciptakan memvar name
STORE “ ” TO bank && menciptakan memvar blank
STORE 1 TO jj && menciptakan memvar jj
KK = 1 && menciptakan memvar KK

1.2.2. Menampilkan Karakteristik Variabel

Foxpro menyediakan beberapa perintah dan fungsi yang bermanfaat untuk


memeriksa karakteristik suatu variable, yaitu :

Perintah/Fungsi Uraian
? dan ?? digunakan untuk melihat isi dari suatu variable,
Perintah ? dan ?? pda pemakaian ?? sebelum variable ditampilkan, tidak
terjadi pergantian baris layar.
Untuk memeriksa tipe suatu variable, dengan sitak :
Fungsi Type() <ctipe>=Type(<cvar>) cvar adalah karakter yang
menspesifikasi nama variable yang akan diperiksa.
Untuk menampilkan isi variable. Bentuk umum :
Perintah Display Memory DISPLAY MEMORY
[LIKE<skel>]
Desain Sistem dan Database di Lingkungan DOS
Tipe Data, Variabel dan Struktur Data 1 - 5

[TO PRINTER[PROMPT]|TO FILE<file>]


Untuk menampilkan isi variable tanpa berhenti setiap
ganti halaman. Bentuk umum :
LIST MEMORY
[LIKE<skel>]
Perintah List Memory [TO PRINTER[PROMPT]|TO FILE<file>]
[NOCONSOLE]

Nb: skel adalah wildcard, seperti a* untuk semua variable


yang diawali oleh huruf a.

1.3. Operator
Operator adalah simbol-simbol yang digunakan untuk mendefinisikan operasi
(instruksi yang menghasilkan nilai tertentu) dari operand-operand (data yang
dioperasikan). Berdasarkan jumlah operand yang dioperasikan, operator
diklasifikasikan menjadi 3, yaitu :
a. operator uner (unary)
operator yang mengoperasikan satu operand
b. operator biner (binary)
operator yang mengoperasikan dua operand
c. operator tersier (tertier)
operator yang mengoperasikan tiga operand
Berdasarkan tipe operand yang dioperasikan, operator dapat dikelompokkan
menjadi :
a. Operator matematis
Untuk melakukan operasi pada operand bertipe numeric. Adapun jenisnya
adalah sebagai berikut :

Operator Jenis Operasi Guna


- Uner Mengambil nilai negatif dari suatu angka
+ Biner Operasi penjumlahan
- Biner Operasi pengurangan
* Biner Operasi perkalian
/ Biner Operasi pembagian
** atau ^ Biner Operasi perpangkatan
% Biner Operasi modulus

b. Operator karakter
Adalah operator-operator yang berguna untuk mengolah data karakter.
Yang digunakan adalah operator biner + untuk menggabungkan dua data
karakter menjadi satu karakter dan operator biner – untuk menggabungkan
dua data karakter menjadi satu karakter dan menghilangkan spasi di
belakang operand pertama.

c. Operator tanggal
Desain Sistem dan Database di Lingkungan DOS
Tipe Data, Variabel dan Struktur Data 1 - 6

Adalah operator-operator yang digunakan untuk mengolah data tanggal.


Operator yang digunakan adalah operator biner + dan biner -.

d. Operator logika dan relasi


Operator logika adalah operator yang bekerja terhadap operand bertipe
logika. Operator logika dalam Foxpro adalah :

Operator Jenis Operasi Fungsi


.AND. Biner Logika AND
.OR. Biner Logika OR
.NOT. atau ! Uner Logika NOT

Operator relasi adalah operator yang bekerja membandingkan


operan/ekspresi dari berbagai tipe data dan mengembalikan nilai logika .T.
atau .F.. Operator relasi dalam Foxpro :

Operator Fungsi Berlaku untuk ekspresi


= Kesamaan Semua tipe
== Kesamaan yang pasti C, M
> Lebih besar Semua tipe
< Lebih kecil Semua tipe
Lebih besar atau sama
>= Semua tipe
dengan
Lebih kecil atau sama
<= Semua tipe
dengan
< > atau # atau != Ketidaksamaan Semua tipe
$ Anggota C, M

1.4. Assignment

Assigment adalah proses untuk memberikan nilai ke sebuah variable (variable


memori). Operator yang digunakan adalah = atau perintah STORE.

Contoh :
1. z = 5
2. STORE 5 TO z

1.5. Macro

Macro adalah karakter (‘&’) yang dapat menggantikan isi dari string variable
memori. Bentuk umumnya adalah :

&<varstring>
Desain Sistem dan Database di Lingkungan DOS
Tipe Data, Variabel dan Struktur Data 1 - 7

Contoh :
1. Operator variable
A = 10
B= “A”
?B && hasil : A
?&B && hasil : 10

2. Membuka file
File1 = “Pegawai”
USE &File1

3. Kondisi
Kondisi = “umur > 20”
DO WHILE &Kondisi
Desain Sistem dan Database Dalam Lingkungan Dos
Struktur File 2 - 1

BAB

Struktur File

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Memahami tentang besaran dalam database
• Mengenal tipe-tipe field.

.
Desain Sistem dan Database Dalam Lingkungan Dos
Struktur File 2 - 2

2.1. File
Besaran data terkecil dalam informasi adalah bit, yang berisi nilai 0 atau 1. Kumpulan
bit-bit disebut sebagai byte dimana 1 byte sama dengan 8 bit. Dalam standart ASCII
karakter memiliki nilai besaran dalam byte dalam penyimpanannya secara digital.

Dalam database karakter-karakter bergabung membentuk item atau field yang berbeda
dengan kata, karena field dapat terdiri atas beberapa suku kata. Kumpulan field-field
yang saling mendukung membentuk suatu record. Dan File adalah suatu kumpulan
dari record-record dari suatu obyek.

Contoh :
Suatu file yang menyimpan record mahasiswa yang memiliki field-field berupa NRP,
nama, alamat dapat digambarkan sebagai berikut :

2.2. Tipe Field

Tipe data yang dapat disimpan dalam suatu field ditentukan dari tipe field pada saat
pembuatan sebuah file. Tipe field yang ada adalah :

Nama Field Notasi Panjang Desimal Keterangan


Panjang maksimal data yang dapat disimpan
Character C XXX -
adalah 254
Panjang 20 termasuk desimal, tanda (plus/minus)
Numeric N XXX XX
dan tanda koma
Date D 8 - -
Logical L 1 - -
Memo M 10 - -

Aturan penamaan field hampir sama dengan penamaan variable, kecuali panjang
nama field.
Desain Sistem dan Database Dalam Lingkungan Dos
Perintah I/O Standard 3 - 1

BAB

3
Perintah I/O Standard

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengenal perintah-perintah output standar
• Mampu menggunakan perintah-perintah output standar
• Mengenal perintah-perintah input standar
• Mampu menggunakan perintrah-perintah input standar
• Menganl format I/O dan memvalidasinya.
Desain Sistem dan Database Dalam Lingkungan Dos
Perintah I/O Standard 3 - 2

3.1. Perintah Output Standard

Perangkat Input/Output (I/O) adalah perangkat untuk menerima masukan dan


mengeluarkan hasil. Masukan biasanya diterima melalui keyboard atau mouse dan
hasil dikeluarkan ke layar, ke file atau ke printer.
Perintah standard untuk menampilkan output ada beberapa macam, yaitu :
1. Perintah ? dan ??
2. Perintah @…SAY
3. Perintah DISPLAY dan LIST
4. Perintah SET DISPLAY
5. Keluaran ke printer

3.1.1. Perintah ? dan ??

Perintah ? digunakan untuk menampilkan output ke layar pada baris baru dan
kolom paling kiri, sedangkan perintah ?? digunakan untuk menampilkan
output ke layar pada posisi kursor pada saat itu (tanpa perpindahan baris).

Bentuk umum :
?[<prompt>] dan
?? <prompt>

Contoh :
1. ? “Hello”, ”boys”
? ”This is the wonderful world of Foxpro”
2. ?? “Hello”, “boys”
?? “This is wonderful world of Foxpro”

3.1.2. Perintah @…Say


Digunakan untuk menampilkan output ke layar pada baris=bar dan kolom=kol.

Bentuk umum :
@<bar>, <kol> SAY <prompt>

Contoh :
1. @5,5 SAY “Hello, apa khabar ?”
2. @1, 2 SAY “Hello, Tekan Enter untuk memulai demo @…SAY”
WAIT “”
Row=0
Col=0
Key=0
CLEAR
DO WHILE key#27
IF row>=24
Incrrow= -1
ENDIF
Desain Sistem dan Database Dalam Lingkungan Dos
Perintah I/O Standard 3 - 3

IF row<=0
Incrrow= 1
ENDIF
IF col>=79
Incrcol= -2
ENDIF
IF col<=0
Incrcol= 2

row = row + incrcrow


col = col + incrcol

@row, col SAY “Foxpro … OK deh”

key=InKey(0.1)
ENDDO

3.1.3. Perintah DISPLAY dan LIST

Keduanya digunakan untuk menampilkan record-record dari satu table.


Perbedaan antar keduanya adalah LIST akan menampilkan recordrecord tanpa
berhenti, sedangkan DISPLAY akan menghentikan tampilan sambil
menampilkan pesan “Press any key to continue” setiap satu halaman.

Bentuk umum DISPLAY:


DISPLAY
[[FIELDS]<field…>] ;
[<scope>] ;
[FOR<lfor>] ;
[WHILE<lwhile>] ;
[OFF] ;
[TO PRINTER[PROMPT]|TO FILE<file>] ;
[NOCONSOLE] ;
[NOOPTIMIZE] ;

Bentuk umum LIST :


LIST
[[FIELDS]<field…>] ;
[<scope>] ;
[FOR<lfor>] ;
[WHILE<lwhile>] ;
[OFF] ;
[TO PRINTER[PROMPT]|TO FILE<file>] ;
[NOCONSOLE] ;
[NOOPTIMIZE] ;
Desain Sistem dan Database Dalam Lingkungan Dos
Perintah I/O Standard 3 - 4

3.1.4. Perintah SET DISPLAY

Digunakan untuk mengatur ukuran tampilan layar.

Bentuk umum :
SET DISPLAY TO CGA | COLOR | EGA25 | EGA43 |
MONO | VGA25 | VGA 50

3.1.5. Keluaran ke Printer

Ada beberapa perintah Foxpro yang digunakan untuk mengatur keluaran


(output) yang pada dasarnya telah diatur oleh perintah-perintah ?, ??, dan
@…SAY yang diarahkan pada layar. Adapun perintah-perintah tersebut
adalah :

Perintah Berlaku Untuk Fungsi


SET ALTERNATE ? dan ?? Mengatur output ke file
SET CONSOLE ? dan ?? Mengatur output ke layar
SET PRINTER ? dan ?? Mengatur output ke printer
SET ALTERNATE TO ? dan ?? Mengarahkan output ke file
SET DEVICE TO @…SAY Mengatur output ke layar/printer
SET PRINTER TO @…SAY Mengarahkan output ke printer/file

3.2. Perintah Input Standart

Perintah standard input yang dikenal Foxpro antara lain :


1. Perintah ACCEPT
2. Perintah INPUT
3. Perintah WAIT
4. Fungsi InKey()
5. Perintah KEYBOARD

3.2.1. Perintah ACCEPT

Berfungsi untuk menerima masukan sebagai karakter (tipe C)

Bentuk umum :
ACCEPT[<prompt>] TO<memvar>

Contoh :
1. ACCEPT “Masukkan bilangan :” TO nBil
Desain Sistem dan Database Dalam Lingkungan Dos
Perintah I/O Standard 3 - 5

3.2.2. Perintah INPUT

Berfungsi untuk menerima semua masukan dari semua tipe (tipe C, N, D, L)

Bentuk umum :
INPUT[<prompt>] TO<memvar>

Contoh :
1. INPUT “Masukkan bilangan :” TO nBil

3.2.3. Perintah WAIT

Perintah ini akan menampilkan suatu pesan tertentu dan kemudian menunggu
pemakai program menekan suatu tombol atau meng-klik mouse. Perintah ini
hanya menerima satu karakter saja.

Bentuk umum :
WAIT[<message>][TO<memvar>]
[WINDOW[NOWAIT]][TIMEOUT<ntimeout>]

3.2.4. Fungsi InKey()

Berfungsi seperti perintah WAIT yang menunggu masukan satu tombol


tertentu.

Bentuk umum :
<nascii>=InKey()([<ntimeout>], [<cflag>])

Nb :
1. nascii menunjuk pada kode kode ASCII yang ditekan untuk tombol-tombol
karakter yang bisa dicetak.
2. cflag untuk menspesifikasikan kondisi kursor mouse pada saat penekanan
tombol.

3.2.5. Perintah KEYBOARD

Berfungsi untuk menjejalkan rangkaian karakter tertentu ke dalam buffer


keyboard seolah-olah rangkaian karakter tersebut diketikkan lewat keyboard.

Bentuk umum :
KEYBOARD<cinput>[PLAIN]
Desain Sistem dan Database Dalam Lingkungan Dos
Perintah I/O Standard 3 - 6

3.3. Format Input/Output

@…Say dan @…SAY…GET dapat diikuti beberapa klausa untuk validasi atau untuk
menyeragamkan bentuk masukkan, klausa-klausa tersebut adalah :
1. Picture
2. Range
3. Valid

3.3.1. PICTURE

Digunakan untuk memfilter masukkan pada GET dan keluaran pada SAY, ada
beberapa bentuk PICTURE :

Fungsi PICTURE :
1. Pengaruh keseluruhan SAY atau GET
2. Diawali dengan “@”
3. Diikuti oleh karakter-karakter seperti pada table fungsi picture

Fungsi Tipe Aksi


A C Hanya mengijinkan huruf pada GET
B N Angka ditapilkan rat kiri
C N Menampilkan CR setelah angka positif
D D, N Menampilkan tgl dalam format SET DATE
Menampilkan tanggal dalam format BRITISH, numeric
E D, N
dalam format EUROPEAN
Membersihkan GET jika kunci pertama bukan kunci
K All
penggerak kursor
R C Menyisipkan karakter non template
S<n> C Mengijinkan Scroll horizontal dalam GET
X N Menampilkan DB setelah angka negatif
Z N Menampilkan angka nol (0) sebagai blank
Melingkupi angka negatif dengan tanda kurung dengan
( N
diawali spasi
Melingkupi angka negatif dengan tanda kurung tanpa
) N
diawali spasi
! C Mengubah huruf karakter menjadi kaptal

Fungsi Template :
1. Pengaruh karakter per karakter
2. Ditempatkan setelah fungsi
3. Simbol-simbol yang dipakai antara lain :
Desain Sistem dan Database Dalam Lingkungan Dos
Perintah I/O Standard 3 - 7

Template Aksi
A Hanya menampilkan huruf
N Hanya menampilkan huruf dan angk
X Menampilkan karakter apa saja
9 Menampilkan angka untuk tipe data apa saja
# Menampilkan angka, tanda (+, -), dan spasi untuk tipe data apa saja
L Menampilkan tipe logical sebagai “T” atau “F”
Y Menampilkan tipe logical sebagai “Y” atau “N”
! Mengubah huruf ke kapital
$ Menampilkan tanda dollar pada lokasi spasi yang mengawali numeric
* Menampilkan tanda asterik pada lokasi yang mengawali numeric
. Menspesifikasi posisi titik desimal
, Menspesifikasi posisi koma

3.3.2. RANGE

Digunakan untuk membatsi masukan bertipe numeric atau tanggal dengan


menspesifikasi batas bawah dan batas atasnya.

3.3.3. VALID

Memvalidasi masukan pada GET dengan menggunakan ekspresi logika.

Contoh :
1. nBil =0
cKalimat = SPACE(10)
dTgl = CTOD(“ ”)
lLogik = .F.
cKar =““
@1, 5 SAY “Masukkan bilangan :” GET nBil Range 1, 100
@2, 5 SAY “Masukkan kalimat :” GET cKalimat PICT “@!”
@3, 5 SAY “Masukkan tanggal :” GET dTgl
@4, 5 SAY “Masukkan .T./.F. :” GET lLogik
@5, 5 SAY “Masukkan A/G/U/N :” GET cKar PICT “!” VALID cKar
$ “AGUN”
READ
Desain Sistem dan Database Dalam Lingkungan Dos
Kontrol Alur Program 4 - 1

BAB

4
Kontrol Alur Program

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengetahui jalannya suatu program
• Mengenal tipe-tipe eksekusi program
• Mampu menggunakan pemilihan dalam kondisi bersyarat
• Mampu menggunakan perulangan dan perulangan bersyarat dalam
program
Desain Sistem dan Database Dalam Lingkungan Dos
Kontrol Alur Program 4 - 2

Rangkaian langkah eksekusi program dapat dibedakan menjadi tiga macam :


1. Runtutan atau urutan (sequence)
2. Pemilihan (selection)
3. Pengulangan (repetition)

4.1. Runtutan atau Urutan (Sequence)

Pelaksanaan program berupa pernyataan demi pernyataan dari atas urut ke bawah.
Contoh :
CLEAR
ACCEPT “Nama anda = ” TO Nama
INPUT “a = “ TO a
INPUT “b = “ TO b
C=a+b
?
? Nama, “,”a, “+”, b”=”, c
?
? Nama, “,” “,(LTRIM(STR(a)), “+”, LTRIM(STR(b)),;
“=”,LTRIM(STR(c))
RETURN

4.2. Pemilihan (Selection)

Pelaksanaan program akan dilaksanakan apabila memenuhi suatu kondisi yang


disyaratkan.

4.2.1. Pemilihan satu kondisi dengan IF…ENDIF

Pernyataan akan dijalankan bila kondisi bernilai .T.


Bentuk umum :
IF <kondisi>
<pernyataan>
ENDIF

4.2.2. Pemilihan dua kondisi dengan IF…ELSE…ENDIF

Bila kondis .T. maka pernyataan 1 akan dijalankan, jika kondisi .F. maka
pernyataan 2 yanga kan dijalankan.
Bentuk umum :
IF <kondisi>
<pernyataan 1>
ELSE
<pernyataan 2>
ENDIF
Desain Sistem dan Database Dalam Lingkungan Dos
Kontrol Alur Program 4 - 3

4.2.3. Pemilihan dua kondisi dengan IIF

Digunakan untuk kasus dimana pernyataan 1 dan pernyataan 2 merupakan


pernyataan yang sederhana.

Bentuk umum :
IIF(<kondisi>, pernyataan 1, pernyataan 2)

4.2.4. Pemilihan kondisi dengan IF…ELSE IF… ELSE…ENDIF

Jika kondisi 1 bernilai .T., maka pernyataan 1 yang akan dijalankan, Jika
bernilai .F., maka kondisi 2 diperiksa, jika bernilai .T. maka pernyataan 2 yang
akan dijalankan, jika bernilai .F. maka pernyataan berikutnya diperiksa.
Demikian seterusnya sampai kondisi n dan pernyataan n+1.

Bentuk Umum :
IF <kondisi 1>
<pernyataan 1>
ELSE
IF <kondisi n>
<pernyataan n>
ELSE
<pernyataan n+1>
ENDIF
ENDIF

4.2.5. Pemilihan beberapa kondisi dengan DO CASE… CASE…


OTHERWISE…ENDCASE

Bentuk IF…ELSE IF…ENDIF yang kompleks seperti di atas dengan kondisi


yang sederhana lebih baik disusun dengan DO CASE….

Bentuk umum :
DO CASE
CASE<kondisi 1>
<pernyataan 1>
CASE<kondisi 2>
<pernyataan 2>
CASE<kondisi n>
<pernyataan n>
OTHERWISE
<pernyataan n+1 >
ENDCASE

4.3. Pengulangan (Repitition)


Desain Sistem dan Database Dalam Lingkungan Dos
Kontrol Alur Program 4 - 4

Melaksanakan satu atau beberapa pernyataan berulang-ulang sesuai jumlah


pengulangan atau sesuai dengan kondisi yang diberikan.

4.3.1. FOR…NEXT

Perintah ini akan mengulang pernyataanpernyataan yang terdapat di antara


FOR dan NEXT dan setiap kali pengulangan counter akan bertambah nilainya.

Perintah EXIT digunakan bila pengulangan diakhiri sebelum mencapai akhir


dari pengulangan. Sedangkan perintah LOOP digunakan bila pengulangan
dimulai dari awal tanpa mengeksekusi pernyataan di bawahnya.

Bentuk umum :
FOR <pencacah> = <mulai> TO <akhir [STEP<[-]selang>]
<pernyataan>
[EXIT]
[LOOP]
<pernyataan>
NEXT

4.3.2. DO WHILE ENDDO

Akan mengulang pernyataan-pernyataan yang ada di antara DO dan ENDDO


selama kondisi masih bernilai .T.. Perintah EXIT digunakan bila kita akan
keluar dari pengulangan sebelum mencapai akhir pengulangan. Sedangkan
perintah LOOP digunakan bila kita mengulang pernyataan pertama
pengulangan tanpa melewati pernyataan di bawahnya.

Bentuk umum :
DO WHILE <kondisi>
<pernyataan>
[EXIT]
[LOOP]
<pernyataan>
ENDDO
Desain Sistem dan Database Dalam Lingkungan Dos
Penyusunan dan Pengolahan Database 5 - 1

BAB

5
Penyusunan dan
Pengolahan Database

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengenal struktur file database Foxpro dan Clipper
• Memahami komponen-komponen dan operasi dalam database.
• Mampu menyusun suatu table dan database
• Dapat melakukan akses terhadap database dan melakukan pengolahan
data.
Desain Sistem dan Database Dalam Lingkungan Dos
Penyusunan dan Pengolahan Database 5 - 2

5.1. Pembuatan Struktur File


Pembuatan struktur file dapat dilakukan dari dalam dan dari luar program. Pembuatan
struktur file dari dalam program menggunakan baris perintah (command), pembuatan
struktur file dari luar dilakukan melalui menu dalam program (DBU dalam clipper).

5.1.1. Menggunakan Foxpro


Pada Foxpro dapat dilakukan dengan dua cara, yaitu :
1. Perintah CREATE<NamaFieldDatabase> dari command window
2. Pemilihan menu FILE-NEW-DATABASE

5.1.2. Menggunakan Clipper


Pada Clipper dapat dilakukan dengan :
1. Penekanan F3 pada DBU (Database Utility Clipper)
2. Menggunakan prosedur Clipper
CREATE <header>
APPEND BLANK
REPLACE FIELD_NAME WITH <namafield>, FIELD_TYPE WITH
<tipefield>, FIELD_LEN WITH <panjangfield>, FIELD_DEC WITH
<jumlahdesimal>
CREATE <namafielddatabase> FROM <header>

5.2. Pengurutan File Database


5.2.1. Sort
Digunakan untuk membentuk file baru dalam kondisi sudah terurut menurut
field tertentu.
Bentuk umum :
SORT ON <namafield> TO <fileurut> [A/D/C] [FOR kondisi]
[WHILE kondisi]

Di mana :
Namafield : field yang dijadikan kunci penguruta
Fileurut : nama file yang menyimpan hasil pengurutan
A : urutan membesar (menarik), default
D : urutan mengecil (menurun)
C : tanpa membedakan huruf besar dan kecil
Kondisi : mengurut sebagian record sesuai dengan kondisi yang
Diinginkan

Contoh :
USE Karyawan
SORT ON Nama TO UrutNama /C
SORT ON Gaji TO GajiUrut /D FOR Umur > 50
Desain Sistem dan Database Dalam Lingkungan Dos
Penyusunan dan Pengolahan Database 5 - 3

5.2.2. Index
Digunakan untuk mempercepat pengaksesan data dalam file karena data dapat
diakses secara langsung (random). File indeks dibuat khusus menyimpan data
berupa field kunci dan pointer penunjuk letak record dari field tersebut di
dalam file database sebenarnya. Ekstensi dari nama file index adalah NTX
(Clipper), IDX atau CDX (foxpro).
Bentuk umum :
INDEX ON <namafield> TO <fileindeks> [FOR kondisi] [WHILE
kondisi]

Di mana
Namafield : Field yang dijadikan kunci pengurutan
Fileindeks : nama file yang menyimpan hasil pengindeksan
Kondisi : mengurutkan sebagian record sesuai dengan kondisi
yang diinginkan

Contoh :
USE Karyawan
INDEX ON Nip TO NipDex
USE Karyawan
INDEX ON Nip TO NipDex FOR Umur > 50

5.3. Pengaksesan File Database


5.3.1. Akses Squensial
SKIP<n>
Pointer bergerak maju/mundur<n> record aktif dari posisi sekarang.

LOCATE
Digunakan untuk pencarian data pada file yang belum diindeks. Hasilnya
fungsi FOUND() berharga .T. atau EOF() berharga .F. jika data ditemukan.
Sebaliknya fungsi FOUND() berharga .F. atau EOF() berharga .T. jika data
tidak ditemukan dan pointer ke record mengarah ke akhir file.
Contoh :
USE Karyawan
LOCATE FOR Nama = “SI KABAYAN”
LOCATE FOR “ANI” $ Nama

CONTINUE
Digunakan untuk melanjutkan pencarian berdasarkan kondisi LOCATE
terakhir jika FOUND() masih True.

5.3.2. Akses Random


GO<nomor record|TOP|BOTTOM>
Memindahkan pointer menuju <nomor record>, record paling atas atau record
paling bawah.
Desain Sistem dan Database Dalam Lingkungan Dos
Penyusunan dan Pengolahan Database 5 - 4

FIND<karakter string>/(<expC)
Untuk pencarian data pada file yang berindeks. Hasilnya sama seperti perintah
locate, fungsi FOUND() berharga .T. atau EOF() berharga .F. jika data
ditmukan. Sebaliknya fungsi FOUND() berharga .F. atau EOF() berharga .T.
jika data tidak ditemukan.
Contoh :
USE Karyawan INDEX NipDex
FIND PB921907
USE Karyawan INDEX GajiDex
FIND 125000

SEEK
Sama seperti perintah FIND digunakan untuk pencarian data pada file yang
telah diindeks.
Contoh :
USE Karyawan INDEX NipDex
SEEK “PB921907”
USE Karyawan INDEX GajiDex
SEEK 125000

5.4. Pengolahan Database


Operasi terhadap file dalam suatu data base dapat dibedakan menjadi 3 macam, yaitu :
1. Menambah/memasukkan data
2. Mengubah data
3. Menghapus data

5.4.1. Menambah Data (APPEND)


Berfungsi untuk menambahkan record ke akhir dari file.
Bentuk Umum :
APPEND[BLANK]

Pilihan BLANK digunakan untuk menyediakan record kosong. Pada Foxpro


pernyataan APPEND tanpa BLANK akan membuka window dialog untuk mengisi
data baru.

Apabila dimasukkan dalam program, biasanya digunakan pernyataan APPEND


BLANK diikuti dengan pernyataan REPLACE<data record>

5.4.2. Mengubah Data (EDIT)


Perubahan data dapat dilakukan dengan menyimpan data terlebih dahulu, kemudian
diupdatekan ke record yang bersangkutan. Cara lainnya pada Foxpro adalah dengan
menggunakan perintah EDIT. Berfungsi untuk mengubah isi field dari sebuah record.

Bentuk umum :
EDIT[FIELDS<fields list>][<scope>]
Desain Sistem dan Database Dalam Lingkungan Dos
Penyusunan dan Pengolahan Database 5 - 5

5.4.3. Menghapus Data (DELETE)

Berfungsi untuk menghapus record aktif. Sebenarnya penghapusan secara fisik tidak
dilakukan, tetapi hanya ditandai.
Bentuk umum :
DELETE[<scope>][FOR<expl1>][WHILE<expl2>]

5.4.4. Menyalin Data (COPY)

Digunakan untuk menyalin seluruh file yang sedang aktif ke file yang baru.
Bentuk umum :
COPY TO <file>[FIELDS<fields list>][<scope>][FOR<expl1>[WHILE<expl2>]]

5.4.5. Penghapusan File (ZAP)

Digunakan untuk menghapus seluruh record database yang sedang aktif.


Bentuk umum :
ZAP

5.4.6. Menambah Data dari File lain (APPEND FROM)

Digunakan untuk menambah data dari file database lain.


Bentuk umum :
APPEND FROM <file>|?[FIELDS<fields list>][FOR<expl>]
[[TYPE] [DELIMITED[WITH TAB|WITH<delimiter>|WITH
BLANK]|DIF|FW2|MOD|PDOX|RPD|SDF|SYLK|WK1|WK3|WKS|WR1|WRK|XLS
]

5.5. Browsing

Browse adalah proses menampilkan data sekaligus mengedit record-record dari satu
atau beberapa daerah kerja dengan tampilan berupa tabel 2 dimensi. Dalam foxpro
perintah yang digunakan adalah BROWSE.
Bentuk umum :
BROWSE [FIELDS<fields list>] [FOR <expl1>]

5.6. Pengolahan File Memo

Pengolahan database dengan menggunakan relasi didefinisikan melalui pernyataan


SET RELATION.
Bentuk umum :
SET RELATION [ADDITIVE]TO<key exp> INTO <alias1>
Desain Sistem dan Database Dalam Lingkungan Dos
Penyusunan dan Pengolahan Database 5 - 6

<key exp> adalah ekspresi yang digunakan untuk proses SEEK pada daerah kerja
“child” setiap kali pointer pada daerah kerja “parent” berubah. Untuk itu, maka file
pada daerah kerja “child” harus mempunyai index yang aktif dengan kunci yang sama
dengan <key exp>.
<alias1> adalah nama alias untuk daerah kerja “child”

Untuk menghilangkan relasi (RELATION) dalam daerah kerja digunakan perintah


SET RELATION TO tanpa argumen
Desain Sistem dan Database Dalam Lingkungan Dos
Pemrograman Modular 6 - 1

BAB

6
Pemrograman Modular

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengenal Procedure dan Fungsi untuk memudahkan membuat suatu
program
• Mampu menggunakan Procedure dan Fungsi dalam program
• Mengenal parameter.
Desain Sistem dan Database Dalam Lingkungan Dos
Pemrograman Modular 6 - 2

Pemrograman modular memungkinkan sebuah program secara keseluruhan tampak


lebih terstruktur. Program yang besar dapat diorganisasikan menjadi beberapa file
program (PRG), dan dalam setiap file program bisa terdiri dari beberapa modul (sub
program). Adanya modul mencegah adanya pengulangan (redundansi) penulisan
program. Dua jenis modul dalam Foxpro adalah :
1. Procedure
2. Function

6.1. PROCEDURE
Procedur mengorganisasikan beberapa baris perintah untuk mengerjakan satu tugas
tertentu.
Bentuk umum :
PROCEDURE<nama_procedure>
[PARAMETERS<…>]
. [<pernyataan>]
.
RETURN

Panjang nama_procedure maksimum 10 karakter dan pada akhir procedure harus


diberi pernyataan RETURN yang artinya kontrol program akan dikembalikan ke
procedure yang memanggilnya.
Cara pemanggilan procedure dengan cara standart adalah :
Do nama_procedure [WITH<parameter>]

6.2. FUNCTION
Function mengorganisasikan beberapa baris perintah untuk mengerjakan tugas
tertentu dan mengembalikan hasil.
Bentuk umum :
FUNCTION<nama_function>
[PARAMETER<…>]
.
. [<pernyataan>]
.
RETURN(<exp>)

Panjang nama_function maksimal 10 karakter dan pada akhir function harus diberi
pernyataan RETURN(<exp>) yang artinya adalah saat kontrol program dikembalikan
ke pernyataan yang memanggilnya, function menyertakan nilai<exp> sebagai hasil
dari pengolahan dalam fungsi.

Pemanggilan Fungsi :
1. Pemberian nilai ke variabel
<var>=nama_function([<par1, par2, …>])
2. ekspresi
nama_function([<par1, par2, …>])
Desain Sistem dan Database Dalam Lingkungan Dos
Pemrograman Modular 6 - 3

6.3. PARAMETER
Sebuah parameter dapat dilewatkan ke dalam sebuah Function atau Procedure dengan
2 cara, yaitu :
1. Nilai (“by value”) jika yang dikirimkan hanya nilai saja (memberikan nilai
untuk diproses oleh procedure atau function tanpa merubah nilai asal).
2. Dengan memanggil perintah DO dengan klausa WITH, dengan bentuk sebagai
beriku :
DO <proc_name> WITH<expr…>
Di mana parameter expr… menyatakan ekspresi-ekspresi yang dilewatkan
yang dipisahkan satu sama lain dengan tanda koma. Dan proc_name adalah
nama procedure yang diciptakan dan tugas-tugas yang harus dilakukan oleh
prosedur bila dipanggil.
Desain Sistem dan Database Dalam Lingkungan Dos
Manipulais Data dan I/O Lanjut 7 - 1

BAB

7
Manipulasi Data dan I/O Lanjut

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengenal fungsi-fungsi pemanipulasi data
• Mengatur tampilan pada output device
Desain Sistem dan Database Dalam Lingkungan Dos
Manipulais Data dan I/O Lanjut 7 - 2

7.1. Manipulasi Data Numerik


Di bawah ini merupakan beberapa fungsi matematis untuk membantu operasi
matematis.

Fungsi Kegunaan
Abs() Mengembalikan nilai absolute suatu nilai
Ceiling() Membulatkan bilangan pecahan ke atas
Exp() Mengembalikan nilai perpangkatan e
Fixed() Mengubah tipe data numeric F menjadi tipe numeric N
Float() Mengubah tipe data numeric N menjadi tipe numeric F
Floor() Membulatkan bilangan pecahan ke bawah
Int() Menghilangkan komponen pecahan dari suatu bilangan pecahan
Log() Mengembalikan nilai logaritma alam
Log 10() Mengembalikan nilai logaritma umum
Max() Mengembalikan nilai terbesar dari dua nilai
Min() Mengembalikan nilai terkecil dari dua nilai
Mod() Mengembalikan sisa suatu pembagian
Rand() Mengembalikan sembarang bilangan acak
Round() Membulatkan bilangan pecahan sampa jumlah decimal tertentu
Sign() Mengembalikan tanda suatu bilangan
Sqrt() Mengembalikan akar suatu bilangan
Val() Mengkonversi data string ke data numeric

7.2. Manipulasi Data Tanggal


Untuk memanipulasi data tanggal Foxpro menyediakan beberapa fungsi, sebagai
berikut:

Fungsi Kegunaan
Cdow() Mengembalikan nama hari dalam seminggu dari suatu tanggal
Cmonth() Mengembalikan nama bulan dari suatu tanggal
Ctod() Mengkonversi data karakter tanggal ke data tanggal
Date() Mengembalikan tanggal system hari ini
Day() Mengembalikan angka hari suatu tanggal
Dmy() Mengubah data tanggal ke data karakter berformat DD BULAN YY
DoW() Mengembalikan angka hari daam seminggu dari suatu tanggal
DToC() Mengkonversi data tanggal ke data karakter tanggal
DToS() Mengkonversi data tanggal ke data karakter berformat YYYYMMDD
GoMonth() Menggeser tanggal ke bulan-bulan tertentu
MDY() Mengubah data tanggal ke data karakter berformat
Month() Mengembalikan angka bulan dari suatu tanggal
Year() Mengembalikan angka tahun dari suatu tanggal
Desain Sistem dan Database Dalam Lingkungan Dos
Manipulais Data dan I/O Lanjut 7 - 3

7.3. Manipulasi Data Tanggal


Data dapat ditampilkan pada device output standar, yaitu monitor (layar/screen). Juga
dapat dikeluarkan ke printer atau disimpan ke file teks.

7.3.1. Pencetakkan ke Printer


Memperjelas pembahasan pada bab … tentang SET PRINTER, maka berikut
penjelasan perintah-perintah yang dapat digunakan.

SET DEVICE TO PRINTER&&set alat keluaran


SET PRINT ON&&ke printer
SET CONSOLE OFF&& mematikan tampilan layar
??CHR(27)+CHR(64)&&inisialisasi printer
.
<pernyataan>
.
EJECT&&mengulang kertas
SET PRINT OFF&&mengembalikan alat keluaran
SET DEVIVE TO SCREEN&&kembali ke device output standart
SET CONSOLE ON&&mengaktifkan layar kembali

7.3.2. Penyimpanan ke File Teks


Untuk mengalihkan hasil output ke file text (ASCII), menggunakan perintah
sebagai berikut :
SET PRINTER TO Tes.TXT&&File hasl output (default = *.PRN)
SET DEVICE TO PRINTER&&set alat keluaran
PRINT ON&& ke printer
SET CONSOLE OFF&&mematikan tampilan di layar
.
<pernyataan>
.
SET PRINT OFF&&mengembalikan alat keluaran
SET PRINTER TO&&set alat keluaran
SET DEVIVE TO SCREEN&&kembali ke device output standart
SET CONSOLE ON&&mengaktifkan layar kembali

7.4. Manipulasi Data Tanggal


Perintah untuk mengatur warna layar adalah :

7.4.1. SET COLOR TO dan SET COLOR


SET COLOR TO [<standard>[,<enhanced>][,<border>][,<unselected>]]
/(<expc>)

Atau menggunakan fungsi :


SETCOLOR([<expc>])
Desain Sistem dan Database Dalam Lingkungan Dos
Manipulais Data dan I/O Lanjut 7 - 4

Di mana :
1. <standard> adalah warna text/tulisan yang dipakai oleh semua perintah
output seperti @...SAY, ?/??, dan terdiri dari warna latar depan dan
warna latar belakang yang bersifat optional, <fore[/<back>].
2. <enhanced> adalah warna yang dipakai oleh proses yang
menggunakan highlight seperti GET, MENU, dll. Terdiri dari warna
latar depan dan warna latar belakang, <fore[/<back>].
3. <border> adalah warna untuk border layar.
4. <unselected> dengan option ini memungkinkan untuk mengatur warna
pada GET yang sedang aktif dengan warna<enhanced>, sedangkan
GET yang lainnya berwarna <unselected>
5. adapun warna-warna yang di kenal adalah :

COLOR Letter Number


Black N, Space 0
Blue B 1
Green G 2
Cyan Bg 3
Red R 4
Magenta Rb 5
Brown Gr 6
White W 7
Gray N+
Yellow Gr+
Black U
Inverse video I
Blank X

7.4.2. CLEAR dan @...CLEAR


Untuk menghapus seluruh layar dapat digunakan perintah CLEAR, sedang
untuk menghapus sebagian layar (window) menggunakan erintah @...CLEAR
dengan bentuk umum :

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

Yang perlu diingat adalah bahwa laya yang terhapus bergantung pada warna
latar belakang dari warna text yang aktif pada saat ini.

Contoh :
SET COLOR TO
CLEAR
WAIT
SET COLOR TO R/W
@ 12, 0 CLEAR
SET COLOR TO
WAIT
Desain Sistem dan Database Dalam Lingkungan Dos
Manipulais Data dan I/O Lanjut 7 - 5

SET CURSOR ON/OFF digunakan untuk menghilangkan dan memunculkan


kembali kursor.

7.4.3. @...TO
Perintah ini dgunakan untuk membuat bingkai suatu window.

Bentuk umum :
@<atas>, <kiri> TO <bawah>, <kanan> [DOUBLE]

di mana:
<atas>,<kiri> : koordinat kiri atas dari bingkai
<bawah>,<kanan>: koordinat kanan bawah dari bingkai
[DOUBLE] : jika digunakan maka bingkai yang dibentuk bergaris
ganda

7.4.4. @...BOX
Perintah ini sama @…TO, yaitu untuk membuat bingkai/box, tetapi dengan
@…BOX kita dapat mendefinisikan sendiri karakter border dan karakter
pengisi untuk box..

Syntax:
@ <atas>,<kiri>,<bawah>,<kanan> BOX <expC>

dimana:
<atas>…<kanan> adalah koordinatbatas box
<expC> terdiri dari maksimum 9 karakter, dimana karakter ke-1…ke-8
menyatakan karakter border, sedangkan karakter ke-9 adalah karakter pengisi
box.

Contoh:
CLEAR
@ 0,0,24,79 BOX “#”
warna_asal = SETCOLOR (‘W/B’)
@ 5,5,15,30, BOX “12345678”
setcolor (“B/BG”)
@ 12,40,22,70 BOX “ABCDEFGH”

7.4.5. SAVE SCREEN [TO <var>] dan RESTORE SCREEN [FROM


<var>]
Sebuah variable dapat digunakan untuk menyimpan isi dan layar, ataupun
dapat memberikan nilai yang disimpan ke layar. Dalam hal ini perintah SAVE
SCREEN digunakan untuk menyimpan tampilan satu layar, sedangkan
perintah RESTORE SCREEN mngembalikan layar sesuai sengan isi variable.
Desain Sistem dan Database Dalam Lingkungan Dos
Manipulais Data dan I/O Lanjut 7 - 6

Sintak:
SCREEN TO <var>
RESTORE SCREEN FROM <var>

7.4.6. <var>=SAVESCREEN() dan RESTSCREEN(…,<var>)


Fungsi SAVE SCREEN ( ) digunakan untuk menyimpan “Window” yang
dibatasi oleh koordinat ujung kiri atas dan koordinat ujung kanan bawah ke
dalam sebuah var_string. Sedangkan fungsi RESTSCREEN ( ) digunakan
untuk mengembalikan “Window” yang disimpan di var_string pada koordinat
ujung kiri atas dan ujung kanan bawah yang diinginkan.

Sintak:
Var = SAVESCREEN (<atas>,<kiri>,<bawah>,<kanan>)

Contoh:
Window2 = SAVESCREEN (15,10,10,30)

@ 18,55 SAY “window2”
Desain Sistem dan Database Dalam Lingkungan Dos
Pembuatan Menu 8 - 1

BAB

8
Pembuatan Menu

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengenal jenis-jenis menu
• Mampu membuat menu dengan menggunakan fungsi dari Foxpro
Desain Sistem dan Database Dalam Lingkungan Dos
Pembuatan Menu 8 - 2

8.1. Manipulasi Data Tanggal


Menu primitif adalah menu yang pemilihannya (biasanya menggunakan nomor atau
huruf pilihan.

8.2. Menu Pop-up dan Pull-down


Sintak:
@ <bar>,<kol> PROMT <menu_item> [MESSAGE <pesan_item>]

MENU TO <bar>

Dimana <bar> adalah variable memori yang menyimpan nomor urut dari menu_item
yang dipilih (bertipe numeric).

Contoh:
CLEAR
SET WRAP ON
SET MESSAGE TO 2
@ 1,0 PROMPT “File” MESSAGE “Mengakses file-file data”
@ ROW(),COL()+2 PROMPT “Edit” MESSAGE “Mengedit Record Aktif”
@ ROW(),COL()+2 PROMPT “Delete” MESSAGE “Menghapus record
aktif”
@ ROW(),COL()+2 PROMPT “Quit” MESSAGE “Return to DOS”
MENU TO no_pil
@ 5,0 SAY “Anda memilih menu nomor “+STR (no_pil,1)

SET WRAP <on/off> jika ON maka setelah mencapai ujung kanan maka akan ke
menu ujung kiri, dan sebaliknya.
SET MESSAGE [TO] <bar> [CENTER] untuk mengatur pada baris berapa pesan
setelah pernyataan MESSAGE akan ditampilkan.
Desain Sistem dan Database Dalam Lingkungan Dos
Aplikasi Multiuser 9 - 1

BAB

9
Aplikasi Multiuser

Tujuan :
Pada Bab ini mahasiswa akan mempelajari cara :
• Mengenal perintah-perintah dalam program multiuser
• Mengenal fungsi dalam multiuser
• Mampu membuat aplikasi sederhana multiuser
Desain Sistem dan Database Dalam Lingkungan Dos
Aplikasi Multiuser 9 - 2

Aplikasi Multiuser merupakan program yang dapat digunakan oleh banyak pemakai
pada saat yang bersamaan tanpa terjadi kesalahan (error).
Kesalahan yang bias terjadi pada aplikasi multiuser biasanya berupa kesalahan
pembacaan dan kesalahan penghapusan. Sebagai contoh user 1 melakukan
penghapusan record yang dalam waktu bersamaan sedang di edit oleh user 2. Contoh
lain user 1 sedang melakukan proses penghitungan rata-rata umur pegawai, dalam
waktu bersamaan user 2 sedang merubah data umur salah seorang pegawai.

9.1. Perintah dalam Multiuser


SET EXCLUSIVE ON/OFF
Untuk menyatakan apakah file database dan file-file index dibuka secara “shared”
(off) atau “exclusive” (on)

UNLOCK [ALL]
Untuk membebaskan penguncian terhadap file dan record dalam daerah kerja aktif
yang sebelumnya dilakukan penguncian.

Use [<filename> ] [INDEX <index file list>] [EXCLUSIVE] [ALIAS <alias


name>]
Untuk membuka sebuah file database beserta file-file index yang berhubungan secara
“exclusive”.

9.2. Function dalam Multiuser


FLOCK ()
Untuk mencoba mengunci file secara logic dan akan mengembalikan nilai .T. jika
penguncian berhasil. FLOCK() membebaskan semua penguncian terhadap record atau
file yang dilakukan sebelumnya pada file oleh user yang sama.

NETERR ()
Akan mengembalikan nila .T. jika perintah: USE, USE…EXCLUSIVE atau APPEND
BLANK mengalami kegagalan dalam sebuah jaringan.
Perintah-perintah tersebut akan mengalami kegagalan dalam hal:

Tabel-1 Penyebab NETERR () bernilai .T.


Perintah Penyebab kegagalan
USE USE…EXCLUSIVE oleh proses lain
USE…EXCLUSIVE USE atau USE…EXCLUSIVE oleh proses lain
APPEND BLANK FLOCK () oleh proses lain atau dua perintah APPEND
BLANK dilakukan pada saat bersamaan

Rlock () / LOCK ()
Untuk mencoba mengunci record secara logic dan akan mengembalikan nilai .T. jika
penguncian berhasil RLOCK () membebaskan FLOCK () yang sebelumnya digunakan
terhadap file database atau RLOCK () terhadap beberapa record di dalam file database
oleh user yang sama.
Desain Sistem dan Database Dalam Lingkungan Dos
Aplikasi Multiuser 9 - 3

9.3. Langkah-langkah Pembuatan Aplikasi Multiuser


9.3.1. Waktu Penguncian yang tepat
1. Penguncian record harus dilakukan jika anda akan melakukan proses
“penulisan” terhadap file database.
2. Yang dimaksud dengan “Penulisan” pada file database seperti perintah:
REPLACE, DELETE, RECALL dan @…GET <filename>.
3. Clipper akan memberikan pesan system errornot locked jika anda melakukan
perintah-perintah di atas tanpa melakukan penguncian record pada saat SET
EXCLUSIVE OFF.
4. File harus dikunci atau dibuka secara “exclusive” untuk proses yang walaupun
hanya membaca informasi dari setiap record seperti perintah: APPEN FROM,
DELETE ALL dan UPDATE ON, karena jangan sampai user lain mengupdate
file yang sama selama proses di atas sedang kita lakukan.
5. Penguncian file juga sebaiknya dilakukan terhadap proses yang walaupun
hanya membaca informasi dari setiap record seperti perintah: COUNT, SUM
dan TOTAL. Hal ini dilakukan untuk meyakinkan kita agar pada saat proses
dilakukan tidak ada data yang berubah.
6. File harus dibuka secara “exclusive” untuk melakukan perintah-perintah
seperti: PACK, REINDEX dan ZAP. Jika perintah-perintah tersebut anda coba
pada file yang “shared”, maka Clipper akan memberikan pesan “System error
not exclusive”.
7. Penguncian tidak diperlukan untuk operasi-operasi yang hanya membaca file
seperti: LIST, SEEK, REPORT FROM dan GO TO. Juga dapat dilakukan
APPEND BLANK record-record terhadap file yang “shared”.

9.3.2. Cara Membuka File untuk Sharing


Terdapat 3 cara untuk membuka file secara “shared”, yaitu:
ƒ Buka file dalam mode “shared” dengan perintah SET EXCLUSIVE
OFF sebelum melaksanakan perintah USE.
ƒ Selalu segera lakukan pengecekan terhadap NETERR ( ) setelah
perintah USE untuk meyakinkan bahwa file berhasil.
ƒ Jangan mebuka file index sekaligus bersamaan dengan perintah USE,
tetapi bukalah file index dengan SET INDEX TO setelah melakukan
pengecekan NETERR ( ) terhadap perintah USE.

Contoh:
SET EXCLUSIVE OFF
USE Pegawai
IF NETERR ( )
? “File tidak bias dibuka secara “SHARED” !!!”
? “Program dihentikan…”
QUIT
ENDIF
SET INDEX TO NipDex
Desain Sistem dan Database Dalam Lingkungan Dos
Aplikasi Multiuser 9 - 4

9.3.3. Mekanisme Penguncian


Menggunakan kedua fungsi FLOCK ( ) dan ROCK ( ) akan melakukan usaha
penguncian dan mengembalikan hasil dan penguncian apakan berhasil atau
tidak (.T./.F.) Jika user-1 berhasil melakukan penguncian maka akibatnya
adalah sebagai berikut:
ƒ Jika fungsi FLOCK ( ) yang dipakai, maka seluruh file dalam daerah
kerja yang aktif akan terkunci. Jika fungsi RLOCK ( ) yang dipakai
maka hanya record yang sedang dipakai oleh user-1 saja yang terkunci.
ƒ User-1 sekarang dapat melakukan proses “penulisan” (Proses
“penulisan” pada file “shared” yang tidak terkunci menyebabkan pesan
“System error not locked”). User lain yang berusaha untuk mengunci
record atau file yang sama akan gagal (.F.).Tidak ada akibat apa-apa
bagi user lain untuk proses membaca.

Akibat-akibat di atas akan berakhir sampai user-1 membebaskan penguncian


dengan cara:
ƒ Memberikan perintah UNLOCK di dalam daerah kerja file yang
terkunci
ƒ Memberikan perintah UNLOCK ALL di daerah kerja mana saja.
ƒ Menutup file dengan perintah USE.
ƒ Memberhentikan program secara normal.
ƒ Memberikan perintah penguncian lain pada file yang sama.

9.3.4. Penerapan Mode Share/ Exclusive


Perintah yang “membaca” data dari <file>, dibuka secara “shared”:
ƒ APPEND FROM <file>
ƒ CREATE…FROM <file>
ƒ LABEL FROM <file>
ƒ REPORT FROM <file>
ƒ RESTORE FROM <file>
ƒ TYPE <file>
ƒ UPDATE…FROM <file>

Perintah yang “menulis” ke <file> yang dibuka secara “exclusive”


ƒ COPY STRUCTURE TO <file>
ƒ COPY TO <file>
ƒ CREATE <file>
ƒ INDEX ON…TO <file>
ƒ JOIN…TO <file>
ƒ SAVE TO <file>
ƒ SET ALTERNATET TO <file>
ƒ SORT…TO <file>
ƒ TOTAL…TO <file>

File yang dibuka secara “shared” dibuka oleh Clipper dengan menggunakan
DOS atribut “read-only”.
Desain Sistem dan Database Dalam Lingkungan Dos
Aplikasi Multiuser 9 - 5

Perintah SET INDEX TO <file> akan membuka <file> secara “shared” atau
“exclusive” tergantung pada status file database yang bersangkutan.
Perintah atau function yang membutuhkan pengaturan multiuser ditampilkan
dalam table berikut:

Perintah Dibutuhkan
@…SAY…GET RLOCK ( )
APPEND FROM USE…EXCLUSIVE atau FLOCK ( )
DELETE (single record) RLOCK ( )
DELETE (multiple record) USE…EXCLUSIVE atau FLOCK ( )
PARK USE…EXCLUSIVE
RECALL (single record) RLOCK ( )
RECALL (multiple record) USE…EXCLUSIVE atau FLOCK ( )
REINDEX USE…EXCLUSIVE
REPLACE (single record) RLOCK ( )
REPLACE (multiple record) USE…EXCLUSIVE atau FLOCK ( )
UPDATE ON USE…EXCLUSIVE atau FLOCK ( )
ZAP USE…EXCLUSIVE

You might also like