belajar visual foxpro

Upload: julius-pendi

Post on 15-Oct-2015

76 views

Category:

Documents


0 download

DESCRIPTION

buku pembelajaran visual FoxPro

TRANSCRIPT

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