Pemrograman Visual Foxpro (VFP)

56
Pemrograman Visual Foxpro (VFP) Pertemuan 4

description

Pemrograman Visual Foxpro (VFP). Pertemuan 4. Review beberapa konsep penting dalam VFP Environtment. Review VFP ( lagi ). Terdapat 5 opsi kontrol pada layar utama VFP ( klik kanan pada area judul layar untuk menampilkannya ): Restore : mengembalikan layar ke ukuran sebelumnya - PowerPoint PPT Presentation

Transcript of Pemrograman Visual Foxpro (VFP)

Pemrograman Visual Foxpro (VFP)

Pertemuan 4

STIS-S2-2012/2013 2

Review beberapa konsep penting dalam VFP

Environtment

Pemrograman Terstruktur

STIS-S2-2012/2013 3

Review VFP (lagi)

• Terdapat 5 opsi kontrol pada layar utama VFP (klik kanan pada area judul layar untuk menampilkannya):

– Restore: mengembalikan layar ke ukuran sebelumnya– Move: memindahkan layar, dengan drag atau cursor– Size: memperbesar/kecil layar, dengan menarik tepi layar– Minimize: meminimalkan layar– Maximize: memaksimalkan layar (full screen)– Close: mengakhiri VFP

Pemrograman Terstruktur

STIS-S2-2012/2013 4

Mengubah judul layar utama

• Judul layar utama dapat diubah:– Buka layar Command: Window Command Window– Ketik perintah berikut di layar Command:

_SCREEN.caption = ‘Judul-layar‘atau

MODIFY WINDOW SCREEN TITLE ‘Judul-layar‘

Kemudian tekan Enter

Pemrograman Terstruktur

STIS-S2-2012/2013 5

Menu utama• Terdapat 8 menu di layar utama

Pemrograman Terstruktur

STIS-S2-2012/2013 6

Status bar• Status Bar: kotak di bagian bawah layar utama.

Memuat keterangan tentang record dari suatu table yang dibuka.

• Jika tidak ada table yang dibuka, status bar akan kosong

Pemrograman Terstruktur

STIS-S2-2012/2013 7

Window objects yang umum

Beberapa komponen yang sering muncul dalam kotak dialog VFP antara lain adalah:• Label: string tetap/fix, biasanya digunakan

untuk judul atau pengenal lain• Text boxes: untuk variabel karakter, bisa dari

table atau berupa variabel memori• Edit boxes: untuk karakter yang dapat diedit

Pemrograman Terstruktur

STIS-S2-2012/2013 8

Window objects yang umum• List boxes: untuk menampilkan daftar pilihan. Pemilihan

dilakukan dengan menggerakkan pilihan yang tersedia dalam daftar, kemudian klik mouse kiri.

• Combo box: daftar pilihan (drop down list) akan ditampilkan setelah kotak tanda panah bawah di klik. Pemilihan dilakukan dengan klik pada pilihan yang diinginkan.

Pemrograman Terstruktur

STIS-S2-2012/2013 9

Window objects yang umum

Pemrograman Terstruktur

• Command button: disebut juga sebagai push button, merupakan tombol yang digunakan untuk mengeksekusi suatu rangkaian perintah (command). Judul atau caption dari tombol pada umumnya disesuaikan dengan jenis perintah yang akan dilakukan.

STIS-S2-2012/2013 10

Project Manager

• Tujuan dari Project Manager:– Mengorganisir file-file dari suatu proyek

berdasarkan jenis filenya– Menyediakan tampungan (container) untuk

menampung semua komponen dari suatu aplikasi untuk kompilasi ke dalam bentuk file “.app” atau “.exe”.

Pemrograman Terstruktur

STIS-S2-2012/2013 11

Project Manager:membuat atau memodifikasi

Dari Menu Dari layar Command

Membuat baru File New Project New File

CREATE PROJECT “nama-project”

Memodifikasi File Open Project pilih nama project

MODIFY PROJECT “nama-project”

Pemrograman Terstruktur

Untuk perintah dari layar Command:• Nama proyek dituliskan di antara tanda kutip (“…”) dan secara lengkap

(termasuk nama drive dan ekstensi).• Contoh:

"c:\users\waris marsisno\documents\visual foxpro projects\pert-03.pjx"

STIS-S2-2012/2013 12

Project Manager:struktur layar

Pemrograman Terstruktur

STIS-S2-2012/2013 13

Project Manager: pengelolaan file

Pemrograman Terstruktur

• File dikelompokkan menurut jenisnya (untuk membuka rincian, klik tanda “+” di sebelah kiri nama kelompok)

Kelompok Jenis file Keterangan

Data •Databases• Free Tables•Queries

•Berisi semua tabel dari suatu database• Tabel-tabel yg bukan anggota database• Tampilan data tertentu dari tabel

Documents • Forms•Reports• Labels

• Tampilan isian database• Tampilan dalam bentuk laporan• Label dari obyek yang ada di project

Class Libraries •Pengelompokkan objek, untuk memudahkan pengaturan property

Code •Programs•API Libraries•Application

Apllication programming interface

Other

STIS-S2-2012/2013 14

Project Manager: menambah dan menghapus file

Pemrograman Terstruktur

• Untuk menambahkan file ke kelompok tertentu (misalnya Tables):– Klik Tables Add, menambahkan file table yang sudah

ada ke dalam kelompok Tables.– Klik Tables New, menambahkan table baru (harus

dibuat setelah ini)• Menghapus file dari kelompok (misalnya dari

kelompok Tables):– Klik nama-file Remove, selanjutnya akan muncul

pilihan untuk menghapus dari project saja, atau menghapus permanen dari harddisk.

STIS-S2-2012/2013 15

Project Manager: pengaturan opsi konfigurasi

Pemrograman Terstruktur

• Pengaturan opsi konfigurasi project dapat dilakukan dengan: Tools (dari menu utama) Options

• Terdapat 14 kelompok opsi yang dapat diatur:

STIS-S2-2012/2013 16

Project Manager: pengaturan opsi konfigurasi

Pemrograman Terstruktur

• General: pengaturan lingkungan (environment) secara umum

• Data: pengaturan perilaku data dalam project• Remote Data: pengaturan akses data dari remote

computer• File Locations: pengaturan lokasi file menurut

jenisnya• Forms: pengaturan untuk pembuatan form• Projects: pengaturan perilaku project• Controls: pengaturan perilaku class libraries dan OLE

STIS-S2-2012/2013 17

Project Manager: pengaturan opsi konfigurasi

Pemrograman Terstruktur

• Regional: untuk mengatur format tanggal, mata uang, pemisah, digit desimal, dsb.

• Debug: untuk mengatur pada saat dilakukan debugging

• Editor: mengatur tampilan editor• Field Mapping: mengatur pemetaan class dengan

database• IDE: pengaturan perilaku file-file tertentu• Report: pengaturan untuk pembuatan report• View: pengaturan tampilan layar

STIS-S2-2012/2013 18

Konsep Pemrograman

Pemrograman Terstruktur

STIS-S2-2012/2013 19

Apakah yang disebut pemrograman?

• Pengertian pemrograman berkembang sejalan dengan capaian teknologi komputer

• Pada awalnya pemrograman berarti menyusun perintah baris demi baris yang harus dilakukan oleh mesin komputer

• Ketika teknologi GUI (graphical user interface) telah ditemukan, sebagian baris perintah tersebut dapat diwakili dengan gambar grafis tertentu

Pemrograman Terstruktur

STIS-S2-2012/2013 20

Apakah yang disebut pemrograman?

• Walaupun demikian, secara umum pemrograman adalah menyusun perintah yang akan dilakukan oleh komputer

• Perkembangan perangkat keras dan lunak saat ini telah begitu pesatnya, sehingga komunikasi antara pengguna dan mesin telah membentuk lingkungan yang kompleks

• Hal ini mengakibatkan pengertian pemrograman menjadi sangat tergantung dari pengalaman seseorang

Pemrograman Terstruktur

STIS-S2-2012/2013 21

Apakah yang disebut pemrograman?

• Misalnya, beberapa orang menganggap kasus berikut sebagai pemrograman:– Aplikasi untuk kepegawaian– Pengolahan informasi dari pengolah kata– Membuat rancangan dengan CAD (computer aided design)– Pembuatan macro atau pencantuman perintah VBA (visual

basic for application) pada beberapa aplikasi MS-office• Apakah anggapan tersebut salah? Tidak juga!

Seseorang perlu menuliskan perintah/script/code pada setiap kasus tersebut!

Pemrograman Terstruktur

STIS-S2-2012/2013 22

Pemrograman dalam VFP

• Fox Software pada tahun 1984 mengembangkan FoxBase sebagai kompetitor dBASE II. FoxBase murni hanya sebagai bahasa pemrograman biasa

• Tahun 1989 FoxPro mulai mengadopsi GUI• Tahun 1991, melalui FoxPro 2.0, SQL

diintegrasikan secara penuh. Arsitektur FoxPro 2 memungkinkan pengguna untuk membuat code dan aplikasi dari screen

Pemrograman Terstruktur

STIS-S2-2012/2013 23

Pemrograman dalam VFP

• Tahun 1995, Visual FoxPro mulai diperkenalkan:– Memiliki kemampuan prosedural yang sama dengan

versi sebelumnya– Ditambah kemampuan untuk membuat program

berorientasi objek (object oriented programming, OOP)

– Lebih memudahkan interaksi antar komponen• Pengaturan interakasi antar komponen inilah

yang menjadi inti dalam pemrograman VFP

Pemrograman Terstruktur

STIS-S2-2012/2013 24

Pemrograman dalam VFP

• Dalam FoxPro (tanpa Visual), semua perintah harus dituliskan oleh pemrogram

• Dalam VFP tugas pemrogram menjadi lebih mudah dan sederhana, pemrogram dapat langsung memodifikasi dan memanipulasi berbagai tools yang disediakan

• Dengan berbagai Wizard yang tersedia, tidak banyak perintah yang harus dituliskan.

Pemrograman Terstruktur

STIS-S2-2012/2013 25

Mengapa menulis kode atau perintah?

• Antarmuka generik (generic interface) yang disiapkan VFP belum tentu sesuai dengan kebutuhan

• Konsep penulisan perintah berlaku umum, baik untuk program besar maupun yang relatif kecil (untuk objek tertentu)

• Tools dan wizardz sebenarnya dibuat dengan program; jadi memahami pemrograman akan memudahkan untuk mengerti yang dilakukan oleh tools dan wizards tersebut

• Ada kalanya pekerjaan yang dilakukan tidak dapat dijalankan dengan berbagai tools dan wizards yang tersedia

Pemrograman Terstruktur

STIS-S2-2012/2013 26

Cara terbaik untuk belajar pemrograman

• Tidak ada cara yang paling cocok dan berlaku untuk semua orang!

• Salah satu cara yang relatif mudah adalah, mempelajari contoh – terutama yang memuat catatan lengkap

• File contoh dasi MSDN, buatlah copy dari:– Direktori (berisi berbagai contoh)

...\Microsoft Visual FoxPro 9\Samples

– File (source code utk tools dan wizard): ..\Microsoft Visual FoxPro 9\Tools\xsource\xsource.zip

• Buat copy di flash disk, dan cobalah modifikasi hasil copy-annya

Pemrograman Terstruktur

STIS-S2-2012/2013 27

Komponen dalam bahasa pemrograman VFP

• Perintah asli (native command): merupakan fungsi dasar untuk melakukan aksi tertentu

• Konstanta: yang digunakan sebagaimana adalanya (fix) dalam program

• Variabel dan array dalam memory: menyimpan data sementara

• Data permanen yang disimpan dalam tabel: untuk manipulasi input/output

Pemrograman Terstruktur

• Operator aritmetik: kalkulasi data numerik

• Operator string: manipulasi data karakter

• Evaluator logika: memberikan hasil perbandingan dua entitas

• Konstruksi looping: pengulangan sekelompok perintah

• Komentar: tidak diproses• Sintaksis: aturan penulisan

suatu perintah

STIS-S2-2012/2013 28

Perintah

Pemrograman Terstruktur

• Perintah asli VFP terus berkembang sesuai dengan perkembangan versinya

• Setiap perintah memiliki sintaksis, aturan penulisan berikut parameter yang digunakan (jika ada)

• Semua sintaksis perintah VFP didokumentasikan dalam file help:– Help Microsoft Visual FoxPro Help, atau– Klik ganda dv_foxhelp.chm di folder …\Microsoft Visual FoxPro 9

STIS-S2-2012/2013 29Pemrograman Terstruktur

• Sesuai tradisi Xbase, semua perintah dapat dituliskan dengan empat karakter pertama dari perintah yang bersangkutan

• Tetapi karena bahasa VFP telah berkembang pesat dan jumlah perintah telah menjadi semakin banyak, seringkali empat karakter tidak cukup sebagai pengenal yang unit

• Untuk mengurangi kemungkinan salah, dan juga untuk memperjelas rangkaian logika, sebaiknya perintah ditulis secara lengkap

Perintah

STIS-S2-2012/2013 30Pemrograman Terstruktur

• Perintah dalam VFP tidak sensitif terhadap huruf besar dan kecil. Diperlakukan sama!

• Konvensi yang umum diikuti (bukan keharusan)– HURUF KAPITAL digunakan untuk menulis perintah

asli – Huruf Campuran digunakan untuk menulis perintah

dan fungsi buatan pengguna, nama file, variabel, dsb., contoh BukaFile, CetakForm

– Gunakan spasi dan identasi untuk memudahkan mengikuti alur pemrograman

Perintah

STIS-S2-2012/2013 31

Fungsi

Pemrograman Terstruktur

• Fungsi: sama dengan perintah, merupakan instruksi untuk melakukan aksi tertentu

• Fungsi selalu diakhiri dengan pasangan tanda kurung “()”

• Tanda kurung dapat kosong atau dapat berisi parameter, sesuai dengan fungsinya.

• Setelah suatu fungsi dieksekusi, pada umumnya akan memberikan nilai yang merupakan hasil dari fungsi tersebut

STIS-S2-2012/2013 32

Fungsi

Pemrograman Terstruktur

• Cara pemanggilan fungsi– Disimpan ke suatu variabel: 1Mulai = SECOND()– Sebagai penguji logika: IF DAY(DATE()) > 31– Display dari layar command: ?DATE()– Didahului dengan tanda “=“: =ASSORT(strArray)

STIS-S2-2012/2013 33

Harafiah dan Konstanta

Pemrograman Terstruktur

• Literal (nilai harafiah): suatu nilai tertentu yang secara harafiah langsung digunakan dalam pemrograman

aRate = bNilai / 30 “30” merupakan nilai harafiah

• Konstanta: nama yang diberikan untuk nilai harafiah

cJumlah = 30aRate = bNilai / cJumlah cJumlah

merupakan konstanta

STIS-S2-2012/2013 34

Runtime dan Compile Time

Pemrograman Terstruktur

• Nilai konstanta dapat diberikan (assigned) pada– Runtime: ketika perintah dieksekusi– Compile Time: pada saat dikompilasi, dengan

menggunakan #DEFINE yang disimpan di file terpisah dan dimasukkan ke program dengan perintah #INCLUDE#DEFINE cJumlah 30Pada saat kompilasi semua cJumlah akan diganti dengan 30.

STIS-S2-2012/2013 35

Variabel dalam memori

Pemrograman Terstruktur

• Variabel memori: variabel yang nilainya disimpan dalam memori, ketika aplikasi ditutup nilainya tidak disimpan

• Pemberian nilai variabel:– aRate = bNilai /30– STORE 0 TO aR, bP, cQ

STIS-S2-2012/2013 36

Scope

Pemrograman Terstruktur

• Terdapat tiga jenis variabel menurut cakupan (scope) untuk variabel tersebut:– Public: berlaku secara global, untuk selurut rutin selama sesi VFP– Private: hanya berlaku pada program tertentu yang dijalankan,

jika program dihentikan, variabelnya tidak berlaku– Local: hanya berlaku di sub-rutin tempat variabel didefinisikan

• Pendefinisian scope– PUBLIC nVar1, …, nVarn– PRIVATE nVar1, …, nVarn– LOCAL nVar1, …, nVarn

STIS-S2-2012/2013 37

Pendefinisian jenis data

Pemrograman Terstruktur

• Untuk data di dalam tabel, jenis data didefinisikan pada saat merancang struktur record

• Untuk variabel, jenis datanya ditentukan sesuai dengan nilai yang diberikan untuk variabel tersebut– aNilai = 4 aNilai merupakan variabel numerik– aNilai = “abc” aNilai merupakan variabel

string atau karakter

STIS-S2-2012/2013 38

Array

Pemrograman Terstruktur

• Array: sekelompok memori yang dikelola sebagai satu kesatuan unit. Visualisasinya mirip lembar kerja (spreadsheet)

• Array pada dasarnya merupakan variabel untuk tabel (yang disimpan permanen)

• Pendefinisian scope dari array sama dengan pendefinisian scope untuk variabel

• Referensi data: – nArray[baris,kolom] = …

STIS-S2-2012/2013 39

Konvensi pemberian nama variabel

Pemrograman Terstruktur

• Untuk memudahkan orang lain dalam membaca program yang dibuat orang lain

• Huruf pertama: menunjukkan scopel : local g : global (public)p : private t : parameter

• Huruf kedua: menunjukkan jenis dataa : array c : karakter y : currencyd : date t : datetime b : doublef : float l : logika n : numerikO : objek U : unknown

STIS-S2-2012/2013 40

Konvensi pemberian nama variabel

Pemrograman Terstruktur

• Untuk memudahkan orang lain dalam membaca program yang dibuat orang lain

• Huruf pertama: menunjukkan scopel : local g : global (public)p : private t : parameter

• Huruf kedua: menunjukkan jenis dataa : array c : karakter y : currencyd : date t : datetime b : doublef : float l : logika n : numerikO : objek U : unknown

STIS-S2-2012/2013 41

Referensi tak langsung dan ekspansi makro

Pemrograman Terstruktur

• Referensi tak langsung: menggunakan tanda kurunglcNamaFile = System.BackupUSE (lcNamaFile) IN 0 ALIAS BackupFile

• Ekspansi makro: menggunakan tanda “&”lcTalk = SET(‘Talk’)SELECT TALK ONSET TALK &lcTalk

STIS-S2-2012/2013 42

Komentar

Pemrograman Terstruktur

• Baris komentar: diawali dengan “*” atau “NOTE”

• Komentar pada baris perintah diawali dengan “&&”

* Baris berikut hanya contohlcA = lcB + lcD && rumus contoh

STIS-S2-2012/2013 43

Operator

Pemrograman Terstruktur

• Operator string

Operator Kegunaan + Menggabung dua string atau karakter- Menggabung dua string dan menghilangkan

spasi pada string pertama$ Mencari satu karakter

STIS-S2-2012/2013 44

Operator

Pemrograman Terstruktur

• Operator aritmetika

Operator Kegunaan () Pengelompokkan operasi aritmetika

** atau ^ Pangkat* Perkalian/ Pembagian% Modulus (sisa dari operasi pembagian)+ Penjumlahan- pengurangan

STIS-S2-2012/2013 45

Operator

Pemrograman Terstruktur

• Operator logika

Operator Kegunaan () Pengelompokkan operasi

NOT atau ! Logika negatif, kebalikan dari nilai itemAND Logika ANDOR Logika inklusive OR

STIS-S2-2012/2013 46

Operator

Pemrograman Terstruktur

• Operator matematika untuk tanggal

Operator Kegunaan + Penjumlahan (menghasilkan tanggal yang

akan datang)- Pengurangan (menghitung selisih waktu)

STIS-S2-2012/2013 47

Evaluator atau operator relasi

Pemrograman Terstruktur

• Memberikan nila .T. jika benar dan .F. jika salah

Operator Kegunaan < Lebih kecil> Lebih besar= Sama dengan

<> atau # atau != Tidak sama dengan<= Kurang dari atau sama dengan>= Lebih besar dari atau sama dengan== Perbandingan eksak string

STIS-S2-2012/2013 48

Eksekusi bersyarat

Pemrograman Terstruktur

• IF .. ENDIFIF kondisi

kelompok perintah-1

ELSEkelompok perintah-2

ENDIF

• DO ..CASEDO CASE

CASE kondisi-1kelompok

perintah-1CASE kondisi-2

kelompok perintah-2

OTHERWISEkelompok

perintah-3ENDCASE

STIS-S2-2012/2013 49

Eksekusi berulang (loop)

Pemrograman Terstruktur

• DO WHILEDO WHILE kondisi

Kelompok perintahENDDO

• SCAN SCAN FOR kondisi

Kelompok perintahENDSCAN

STIS-S2-2012/2013 50

Eksekusi berulang (loop)

Pemrograman Terstruktur

• FORFOR nilai-awal TO nilai-akhir

Kelompok perintahENDFOR

FOR each oAbc IN THIS.oGrid.Column oAbc.Width = oAbc.Width * 2

ENDFOR

STIS-S2-2012/2013 51

File Program

Pemrograman Terstruktur

• File program VFP disimpan dengan ekstensi “.prg”

• Membuat program– Dari menu: File New Program– Dari layar Command: MODIFY COMM

• Menjalankan program– Dari menu: buka file program kemudian klik “!”– Dari layar Command: DO nama-program

STIS-S2-2012/2013 52

Prosedur dan fungsi

Pemrograman Terstruktur

• Prosedur dan fungsi merupakan sub-rutin• Dalam VFP keduanya memiliki kegunaan yang

mirip dan sulit dibedakan• Struktur prosedur

PROCEDURE nama-prosedurKelompok perintah

ENDPROC

STIS-S2-2012/2013 53

Prosedur dan fungsi

Pemrograman Terstruktur

• Struktur fungsiFUNCTION nama-fungsi

Kelompok perintahENDFUNC

• ENDPROC dan ENDFUNC dapat diganti dengan RETURN

STIS-S2-2012/2013 54

Prosedur dan fungsi

Pemrograman Terstruktur

• Pemanggilan prosedurDO nama-prosedur

• Pemanggilan fungsinama-fungsi()

STIS-S2-2012/2013 55

Contoh struktur program

Pemrograman Terstruktur

* This is the main program.ACTIVATE SCREEN?'Executing main program code.'DO Proc1?'Back in the main program after Proc 1'x = Func1()?'x = ' + x?'Remaining program statements go here.'RETURNPROCEDURE Proc1 ?'Executing 1st line of subroutine: Proc1' ?'Executing 2nd line of subroutine: Proc1'ENDPROCFUNCTION Func1 LOCAL lcReturnVal ?'Executing subroutine code: Func1' lcReturnVal = 'Character string prepared in Func1'RETURN lcReturnVal

STIS-S2-2012/2013 56

Parameter

Pemrograman Terstruktur

• Parameter dalam prosedur dan fungsi merupakan nilai yang dikomunikasikan dengan program utama

• Parameter harus dideklarasikan pada baris pertama (selain baris komentar) setelah PROCEDURE atau FUNCTION

• Pengiriman nilai parameter dari program utama– Prosedur: @nama-variabel (melalui referensi)– Fungsi: (nama-variabel) (melalui nilai)