belajar visual foxpro
DESCRIPTION
buku pembelajaran visual FoxProTRANSCRIPT
-
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. = 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).