Anda di halaman 1dari 16

Pemrograman Visual II rusmanto STMIK Pontianak

1

Chapter 1
Pengantar Visual FoxPro (VFP)

Sebagai salah satu bahasa pemrograman yang berfokus pada pengembangan aplikasi database,
dimulai dari awal tahun 1988 sampai dengan saat ini, FoxPro telah melewati seleksi yang sangat
ketat dari sekian banyak bahasa pemrograman sejenis.
Tujuan pemakaian yang sangat memudahkan programmer aplikasi database dalam mengembangkan
dan mengelola sistem aplikasi database membuatnya tetap diminati untuk diterapkan dalam dunia
bisnis.
Integrated development environment (IDE) VFP:


System requirements (minimum):
Pentium processor
Mouse
menubar toolbar
command
window
properties
window
Pemrograman Visual II rusmanto STMIK Pontianak
2

RAM 64 MB
Hardisk (20 MB 165 MB)
Resolusi monitor 800 x 600 (256 colors)
OS (developer: Wins 2000 SP 3, Wins XP, Wins Server 2003 | run-time: Wins 98, Wins Me,
Wins 2000 SP3, Wins XP, Wins Server 2003)
Karena VFP diperuntukkan bagi pengembangan aplikasi yang beragam maka dalam pemakaiannya
dapat ditentukan terlebih dahulu optional setting sesuai keperluan sistem yang dikembangkan yaitu
melalui menu TOOLS, OPTIONS.









Pemberian komentar saat coding sangat diperlukan dalam pemeliharaan dan pengembangan
aplikasi.
Type Examples
In line comment CLOSE ALL && komentar ditempatkan setelah baris program
Full line comment * komentar ditempatkan dibaris baru

Menampilkan pesan dilayar monitor sering dilakukan untuk berinteraksi dengan pengguna program,
dalam VFP, function MESSAGEBOX dapat digunakan dengan melibatkan parameter yang sesuai.
MESSAGEBOX dapat digunakan untuk meminta konfirmasi dari pengguna program.
Syntax:
MESSAGEBOX(eMessageText [, nDialogBoxType ][, cTitleBarText][, nTimeout])

Keterangan:
eMessageText : kalimat yang akan ditampilkan.
nDialogBoxType : jenis button yang akan ditampilkan.
cTitleBarText : caption dari message box.
nTimeout : durasi waktu tampil dari message box (1000 = 1 detik).

Pemrograman Visual II rusmanto STMIK Pontianak
3

Examples
MESSAGEBOX("pesan dengan ok button selama 1 detik",1,"pesan",1000)
konfirmasi = MESSAGEBOX("konfirmasi YES NO CANCEL",3,"confirm")
Pilih = MESSAGEBOX("Keluar?", 1+32+256, "confirm",5000)

Value Icon
16 Stop sign
32 Question mark
48 Exclamation point
64 Information (i) icon

Untuk memberikan keleluasaan penginputan suatu nilai secara interaktif dapat menggunakan
function INPUTBOX dengan parameter yang sesuai.
Examples
tanya = INPUTBOX("umur:")
kerja = INPUTBOX("pekerjaan:","job","programmer")
Dalam coding, sering menemui baris coding yang panjang, untuk melakukan penyambungan baris ke
baris dibawahnya dapat diberikan ;.
Examples
MESSAGEBOX("pesan";
+"panjang"+;
"sekali")

Tipe data, merupakan jenis data yang dapat digunakan:
Type Examples
Numeric 123 3.1415 7
Character /String "Test String" "123" "01/01/98"
Logical .T. .F.
Date {^1998-01-01}
DateTime {^1998-01-01 12:30:00 p}

nDialogBoxType Dialog box buttons
0 OK button only
1 OK and Cancel buttons
2 Abort, Retry, and Ignore buttons
3 Yes, No, and Cancel buttons
4 Yes and No buttons
5 Retry and Cancel buttons
Return value Button
1 OK
2 Cancel
3 Abort
4 Retry
5 Ignore
6 Yes
7 No
Value Default button
0 First button
256 Second button
512 Third button
Pemrograman Visual II rusmanto STMIK Pontianak
4

Data container, merupakan jenis penampungan data yang dapat dipakai:
Type Description
Variables Single elements of data stored in your computer's RAM (Random
Access Memory).
Table Records Multiple rows of predetermined fields, each of which can contain a
predefined piece of data. Tables are saved to disk.
Arrays Multiple elements of data stored in RAM.

Dalam melakukan operasi terhadap lebih dari satu data container, harus memperhatikan tipe data
dari data container. Pemakaian function yang berhubungan dengan konversi tipe data harus
diperhatikan. Beberapa function konversi tipe data yang umumnya digunakan:
Function Description
TRANSFORM Konversi nilai menjadi string berformat.
? "Tgl: " + TRANSFORM(DATE()) && Tgl: 01/01/2015
VAL Konversi string menjadi numeric.
? VAL("100") + 10 && 110
STR Konversi numeric menjadi string.
? STR(100) + STR(100) && 100 100
CHR Mendapatkan character dari kode ANSI.
? CHR(100) && d
ASC Mendapatkan kode ANSI dari sebuah character.
? ASC("d") && 100
DTOC Date menjadi character.
? "Tgl: " + DTOC(DATE()) && Tgl: 01/01/2015
CTOD Character menjadi date
? CTOD("01/01/2015") && 01/01/2015

Numeric operator yang digunakan menurut prioritas tertinggi:
Operator Action Code
( )
Group subexpressions
(4-3) * (12/nVar2)
**, ^
Exponentiation
? 3 ** 2
? 3 ^ 2
*, /
Multiplication and division
? 2 * 7
? 14 / 7
%
Modulus (remainder)
? 15 % 4
+, -
Addition and subtraction
? 4 + 15
Pemrograman Visual II rusmanto STMIK Pontianak
5

Locigal operator yang digunakan:
Operator Action Code
( )
Expression groups
cVar AND (cVar2 AND cVAR3)
NOT, !
Logical negative
IF NOT cVarA = cVarB
IF ! nVar1 = nVar2
AND
Logical AND
lVar0 AND lVar9
OR
Logical inclusive OR
lVarX OR lVarY

Relational operator yang digunakan (mengembalikan logical value .T. | .F.):
Operator Action Code
<
Less than
? 23 < 54
>
Greater than
? 1 > 2
=
Equal to
? cVar1 = cVar
<>, #, !=
Not equal to
? .T. <> .F.
<=
Less than or equal to
? {^1998/02/16} <= {^1998/02/16}
>=
Greater than or equal to
? 32 >= nHisAge
==
Character string comparison
? status == "Open"


Pemrograman Visual II rusmanto STMIK Pontianak
6

Kondisi
Proses A
End
Start
False
True
Proses B
Chapter 2
Structure Programming

PERCABANGAN






IF ... ENDIF
Percabangan sederhana yang memperbolehkan dua arah percabangan sesuai dengan hasil
kondisi yang didapatkan.
IF lExpression [THEN]
Commands
[ELSE
Commands]
ENDIF

Function IIF
Percabangan sederhana dengan menggunakan function.
IIF(lExpression, eExpression1, eExpression2)

DO CASE ... END CASE
Percabangan kompleks, dimana memperbolehkan dua atau lebih percabangan sesuai
dengan hasil pengujian setiap struktur CASE.
DO CASE
CASE lExpression1
[Commands]
[CASE lExpression2
[Commands]]
...
[CASE lExpressionN
[Commands]]
[OTHERWISE
[Commands]]
ENDCASE

Pemrograman Visual II rusmanto STMIK Pontianak
7

Function ICASE
Percabangan kompleks dengan menggunakan function.
ICASE( lCondition1, eResult1 [, lCondition2, eResult2] ...
[, eOtherwiseResult])

PENGULANGAN
FOR ... ENDFOR
Pengulangan dengan frekuensi yang sudah dapat dipastikan.
FOR VarName = nInitialValue TO nFinalValue [STEP nIncrement]
Commands
[EXIT]
[LOOP]
ENDFOR | NEXT

DO WHILE ... ENDDO
Pengulangan dengan frekuensi yang tidak dapat dipastikan.
DO WHILE lExpression
Commands
[LOOP]
[EXIT]
ENDDO

FOR EACH ... ENDFOR
Pengulangan pada setiap elemen array ataupun object collection.
FOR EACH Var [AS Type [OF Class Library]] IN Group [FOXOBJECT]
Commands
[EXIT]
[LOOP]
ENDFOR | NEXT [Var]

SCAN ... ENDSCAN
Melakukan pengulangan dari urutan awal record sebuah recordset sampai dengan urutan
terakhirnya.
SCAN [NOOPTIMIZE] [Scope] [FOR lExpression1] [WHILE lExpression2]
[Commands]
[LOOP]
[EXIT]
ENDSCAN

Pemrograman Visual II rusmanto STMIK Pontianak
8

Chapter 3
Database Visual FoxPro

Database
Database VFP (.dbc) merupakan komponen yang menyimpan arsitektur dan menangani interaksi
table dan view. Manfaat Database VFP:
Menyatukan beberapa table
Menampung relationship antar table dan membuat aturan yang mengikat saat terjadi
aktivitas penambahan, pengubahan dan penghapusan datum
Memperbolehkan pembuatan aturan mengenai field dan record-level validation
Membuat strore-procedure
Membuat view (local dan remote)
Melakukan koneksi dengan remote-data

Table
Table merupakan komponen yang menampung data dalam database. Table VFP (.dbf) dapat terdiri
dari free-table dan database-table. Dalam membuat sebuah aplikasi bisnis, sebaiknya table-table
dihubungkan dengan database. Dengan membuat database-table maka dapat dibuat field / record
level rules, triggers dan relationship.

View
View merupakan komponen didalam database VFP yang berguna untuk membuat recordset
menggunakan remote-data connection maupun dari table. View VFP terdiri dari local-view dan
remote-view. View yang telah dibuat dapat digunakan untuk menampilkan, mengupdate,
menambahkan, dan menghapus data pada table(s) / view(s).

Query
Query VFP (.qpr) merupakan komponen yang berguna untuk menampilkan data. Manfaat query:
Mendapatkan informasi dari data yang tersimpan
Menampilkan sekelompok data yang saling berhubungan
Menyediakan data untuk keperluan report

Pemrograman Visual II rusmanto STMIK Pontianak
9

Type data (field data-type)
Visual FoxPro Data Types
Data type Description Size Range
Blob Binary data of
indeterminate length.
Blob values are in a
memo (.fpt) file.
No code page
translation is
performed on Blob
data.
4 bytes in a
table
Limited by available memory and/or
2GB file size limit.
Character Alphanumeric text
For example, a
customer address
1 byte per
character to
254
Any characters
Currency Monetary amounts
For example, the
price of an item
8 bytes - $922337203685477.5807 to
$922337203685477.5807
Date Chronological data
consisting of month,
day, and year
For example, an order
date
8 bytes When using strict date formats, {^0001-
01-01}, January 1st, 1 A.D to {^9999-
12-31}, December 31st, 9999 A.D.
DateTime Chronological data
consisting of month,
day, year, hours,
minutes, and seconds
For example, date and
time of arrival
8 bytes When using strict date formats, {^0001-
01-01}, January 1st, 1 A.D to {^9999-
12-31}, December 31st, 9999 A.D., plus
00:00:00 a.m. to 11:59:59 p.m.
Logical Boolean value of
True or False
For example, whether
or not an order has
been filled
1 byte True (.T.) or False (.F.)
Numeric Integers or decimal
numbers
For example, the
quantity of items
ordered
8 bytes in
memory; 1
to 20 bytes
in table
- .9999999999E+19 to
.9999999999E+20

Pemrograman Visual II rusmanto STMIK Pontianak
10

Varbinary Binary values.
Varbinary data is similar to Varchar
data in that values do not include
padding with zero (0) bytes. The
length of the contained value is
stored internally.
No code page translation is
performed on Varbinary data.
1 byte per
hexadecimal value
up to 255 total
bytes
Any
hexadecimal
value
Variant Variant data can be any of the Visual
FoxPro data types and the null value.
Once a value is stored to a variant, the
variant assumes the data type of the
data it contains.
Variants are designated with an e
prefix in language syntax.
See other data types. See other data
types.

Visual FoxPro Field Types
Field type Description Size Range
Character
(Binary)
Any Character data that
you do not want translated
across code pages
For example, user
passwords stored in a table
and used in different
countries or regions.
1 byte per
character to
254
Any characters
Double A double-precision
floating-point number
For example, scientific data
requiring a high degree of
precision.
8 bytes +/-4.94065645841247E-324
to +/-8.9884656743115E307
Float Same as Numeric 8 bytes in
memory; 1 to
20 bytes in
table
- .9999999999E+19 to
.9999999999E+20
General Reference to an OLE object
For example, a Microsoft
Excel worksheet.
4 bytes in table Limited by available memory.
Integer Numeric value with no
decimals. For example, a
line number in an order.
4 bytes -2147483647 to 2147483647

Pemrograman Visual II rusmanto STMIK Pontianak
11

Integer
(Autoinc)
Same as Integer but also an
automatically incrementing value.
Read-only.
4 bytes Value controlled by
autoincrement Next
and Step values.
Memo Alphanumeric text of indeterminate
length or reference to a block of data
For example, notes about a phone call
in a phone log.
4 bytes in
table
Limited by available
memory.
Memo
(Binary)
Same as Memo except that memo
field data does not change across code
pages
For example, a login script used in
different countries or regions.
4 bytes in
table
Limited by available
memory.
Varchar Alphanumeric text.
Varchar is similar to Character
except values in Varchar fields do
not include padding with additional
spaces. The length of the contained
value is stored internally.
1 byte per
character up
to 254 total
bytes
Any characters
Varchar
(Binary)
Varchar type data that you do not
want translated across code pages.
1 byte per
character up
to 254 total
bytes
Any characters




Pemrograman Visual II rusmanto STMIK Pontianak
12

Langkah-langkah dasar membuat database dan table:
1. Click tab/frame Data untuk mengaktifkan tab/frame yg berhubungan dg database. Setelah itu
click tombol New sampai tampil dialog box. Click tombol New Database

2. Beri nama database-nya sekolah.dbc dan simpan di-folder C:\siswa\data. Click tombol Save.

Pemrograman Visual II rusmanto STMIK Pontianak
13

3. Click icon new table (toolbox database) sampai keluar dialog box new table dan click tombol
New Table.

4. Masukkan nama table sesuai kebutuhan. Beri nama table/data-nya tblsiswa.dbf dan click
tombol Save.


Pemrograman Visual II rusmanto STMIK Pontianak
14

5. Tampak dialog/modul untuk design data/table. Untuk nama field nya maksimal panjangnya
adalah 10 karakter/huruf.

6. Kemudian click tab indexes sampai tampak seperti berikut :

Pemrograman Visual II rusmanto STMIK Pontianak
15

7. Click tombol OK maka sekarang anda telah memiliki table tblsiswa.dbf

8. Click tombol close X untuk menutup dialog box di atas.
Pada Project Manager terlihat seperti dibawah ini.


Pemrograman Visual II rusmanto STMIK Pontianak
16

Latihan
1. Lengkapi database di-atas dengan table-table yang relevan.
2. Buat database untuk penjualan barang.
3. Buat database untuk sistem parkir kendaraan.
4. Buat database untuk SIAK (Sistem Informasi Akademik).