pemrograman visual foxpro (vfp)
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 PresentationTRANSCRIPT
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 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 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 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)