PANDUAN PENGEMBANG
GASY Software
DISUSUN OLEH:
GEDE JULIARSA, SE.MSi
1
Pendahuluan
Pokok Bahasan:
Pemrograman Dalam Microcomputer
Konsep Pemrograman Berorientasi Object
Elemen-Elemen Program
Mengenal Visual FoxPro
Pemrograman Dalam Microcomputer
Microcomputer adalah suatu alat canggih yang mempunyai kemampuan dalam berbagai hal
misalnya pengolahan kata, pengembangan analisis keuangan suatu proyek, menyajikan grafik
terhadap suatu laporan, membuat skedul pekerjaan dan monitoring perkembangan pekerjaan,
transmisi laporan secara elektronik antar kantor, design teknik permesinan, diagnosis medis
dan integrasi data antar komputer melalui jaringan internet. Microcomputer (sering disebut
personal computer atau desktop computer) adalah suatu komputer kecil berisi sejumlah
komponen yang dapat bekerja bersama sebagai system microcomputer.
Komponen microcomputer system terdiri dari: keyboard, mouse, monitor, system unit,
data storage device, printer dan controller device. Komponen fisik dalam system
microcomputer disebut perangkat keras (hardware), sebaliknya sebagai perantara perangkat
keras disebut perangkat lunak (software) yang berisi kumpulan instruksi yang dapat dimengerti
oleh hardware. Kumpulan instruksi-instruksi yang terstruktur disebut dengan program.
Proses membaca instruksi dalam suatu program oleh perangkat keras disebut menjalankan
program (running the program). Tahapan instruksi berjalan melibatkan berbagai fungsi,
prosedur, metod, dan object. Goldstein (1987), menyebutkan bahwa tahapan pemrograman
yaitu menampilkan data di layar; menerima data dari user melalui keyboard atau device input
lainnya; merespon data yang diterima dari user, benar atau salah; proses menggambarkan
data dalam bentuk graphics di layar; mencetak data ke printer; menyimpan data untuk
kemudian bisa diambil atau dibuka kembali.
Proses memberikan instruksi kepada komputer sesuai langkah-langkah program pada
setiap tujuan disebut dengan pemrograman. Program ditulis dengan menggunakan bahasa
pemrograman yang telah diubah kedalam bahasa Inggris. Instruksi-instruksi yang ada dalam
bahasa pemrograman kemudian di terjemahkan kedalam bahasa mesin sehingga dapat
dijalankan secara langsung oleh komputer. Banyak sekali bahasa pemrograman yang
tersedia untuk microcomputer, diantara bahasa Basic, IBM Advance Basic, Microsoft Quick
Basic, Turbo Basic, dBase, FoxBase, FoxPro, Visual FoxPro, Delphi, Oracle, Clipper, Visual
Basic, Microsoft Access, dan masih banyak lagi.
Konsep Pemrograman Berorientasi Object
Ide dasar pada bahasa berorientasi obyek (PBO) adalah mengkombinasikan data dan
fungsi-fungsi untuk mengakses data menjadi sebuah kesatuan unit. Unit ini dikenal dengan nama
obyek (object). Jika anda membuat suatu program, menyimpan dan mengelola data dalam
program adalah dengan suatu rangkaian instruksi. Data dan tempat penyimpanan data
adalah bahan baku pemrograman. Alat-alat (tools) yang digunakan untuk mengelola bahan
baku ini adalah command, function dan operators.
Penyimpanan Data
Jenis data sangat menentukan bagaimana data tersebut disimpan dan bagaimana data dapat
digunakan. Anda dapat mengalikan dua angka secara bersama, tetapi anda tidak dapat
mengalikan karakter. Anda dapat mencetak karakter dalam huruf besar, tetapi anda tidak
dapat mencetak angka dalam huruf besar. Beberapa jenis data primer dalam Visual FoxPro
dijelaskan dalam tabel berikut ini:
Jenis Data
Jenis
Contoh
Numeric
123
3.1415
– 7
Character
"Test String"
"123"
"01/01/98"
Logical
.T.
.F.
Date
DateTime
{^1998-01-01}
{^1998-01-01 12:30:00 p}
Data Containers
Data containers menyediakan fasilitas bentuk operasi sama dalam suatu kelompok data secara
multiple. Jika anda menyimpan informasi dalam container, dan mengembangkan
operator-operator dalam container, anda dapat mengganti data lama dengan data baru dan
menjalankan program yang sama. Tabel berikut menjelaskan beberapa container utama untuk
data dalam Visual FoxPro:
Jenis
Keterangan
Variables
Element tunggal data yang disimpan dalam RAM (Random Access
Memory) komputer
Table Records
Kumpulan baris dengan field yang telah ditentukan, dan disimpan
dalam disk.
Arrays
Elemen kelompok dari data yang disimpan dalam RAM
Kontainer dan jenis data merupakan satu bangunan saling terkait dalam mengelola data,
dengan menggunakan operator, function, dan command.
Menggunakan Operator
Operasi logika yang digunakan dalam Visual FoxPro adalah sebagai berikut:
Operator
Jenis Data
Contoh
Hasil
=
Semua Jenis Data
? n = 7.T. jika nilai variabel n =
7, sebaliknya .F.
+
Numeric, Character,
Date, DateTime
? "Fox" + "Pro"
"FoxPro"
! atau
NOTLogical
? !.T..F.
*, /
Numeric
? 25 / 5 ? 5 * 525
5
Perlu diingat bahwa anda harus menggunakan jenis data yang sama dalam satu operator.
Perhatikan contoh berikut ini:
nFirst = 123 nSecond = 45
cFirst = "123" cSecond = "45"
Dua operasi berikut akan memberikan hasil berbeda, karena jenis data dalam variabel tersebut
berbeda.
? nFirst + nSecond Hasilnya adalah 168
? cFirst + cSecond Hasilnya adalah 12345
Operator pertama mengerjakan jenis variabel numerik, sedangkan operator yang kedua jenis
variabel karakter.
Akan terjadi kesalahan (mismatch error) apabila anda mencoba membuat operator seperti
berikut ini:
Visual FoxPro menyediakan fasilitas untuk menangani perbedaan jenis data, yaitu dengan
menggunakan fungsi-fungsi konversi. Misalnya STR(), VAL(), LTRIM(). Dengan fungsi
tersebut, maka kesalahan dapat diperbaiki dengan menulis operator sebagai berikut:
? cFirst + LTRIM(STR(nSecond)) Hasilnya: 12345
? VAL(cFirst) + nSecond Hasilnya: 168
Menggunakan Function
Functions (Fungsi) menghasilkan nilai spesifik sesuai jenis data. Misalnya, fungsi STR()
menghasilkan nilai Character, sedangkan VAL() menghasilkan nilai Numerik. Begitu juga
halnya dengan fungsi-fungsi lainnya.
Ada lima cara atau teknik pemanggilan fungsi dalam Visual FoxPro, yaitu:
Menentukan variabel untuk merekam nilai yang dihasilkan dari fungsi. Misalnya
variabel dHariIni digunakan untuk merekam tanggal hari ini, maka penulisan code
programnya adalah:
dHariIni = DATE( )
Digabungkan dalam perintah Visual FoxPro yang lain. Misalnya membuat perintah
untuk mengubah default direktory.
CD GETDIR( )
Menampilkan nilai kedalam screen / Window. Contoh penulisan code program untuk
menampilkan waktu.
? TIME( )
Memanggil fungsi tanpa menyimpan nilai dari hasil yang dikembalikan oleh fungsi.
Misalnya, fungsi untuk membuat cursor dalam kondisi off, adalah:
SYS(2002)
Menggabungkan beberapa fungsi dalam satu baris perintah. Misalnya mengubah nilai
variabel tanggal menjadi karakter hari, yaitu:
? DOW(DATE( ))
Menggunakan Command
Sebuah perintah mengakibatkan aksi yang ditunjukkan. Setiap command mempunyai syntax
khusus, yang mengindikasikan bahwa apa yang harus dimasukkan atau diikutkan sehingga
suatu perintah dapat bekerja. Ada clausul optional dikaitkan dengan commands dari cakupan
clausul yang lebih detil dalam sebuah commands.
Sebagai contoh adalah command USE memberikan instruksi untuk membuka atau menutup
sebuah tabel.
Syntax: USE
Penjelasan
USE
USE customer
Membuka file tabel CUSTOMER pada area kerja aktif, dan
sekaligus menutup file tabel yang sedang dibuka pada area aktif
tersebut
USE customer IN 0
Membuka file tabel CUSTOMER pada area berikutnya yang
tersedia dan belum digunakan
USE customer IN 0 ;
ALIAS mycust
Membuka file tabel CUSTOMER pada area berikutnya yang
tersedia dan belum digunakan dengan nama alias/samaran
MYCUST.
Pengendalian Alur Program
Visual FoxPro mempunyai commands dan functions yang bersifat “Wrap Around” artinya
adalah diantara command dan fungsi dapat saling terkait dan digunakan bersama dalam satu
baris perintah, sehingga perlu ditentukan kapan dan bagaimana comands dan fungsi
dijalankan. Comands tersebut membolehkan adanya branching dan looping kondisional, yaitu
dua alat pemrograman yang sangat bermanfaat.
Sebagai illustrasi, misalnya sebuah perusahaan mempekerjakan 10.000 karyawan dan setiap
karyawan diberikan tambahan Rp.30.000 setiap peningkatan volume penjualan 3%, dan
tambahan Rp.10.000 apabila peningkatan penjualan mencapai 6%. Asumsi bahwa nama field
untuk menampung jumlah tambahan adalah Insentif, dan kenaikan penjualan adalah
GrowSales.
Contoh program untuk menyimpan nilai insentif:
Code
Keterangan
SCAN
SCAN dan ENDSCAN adalah mengeksekusi setiap
rekord yang ada dalam tabel, dan kemudian
memindahkan pointer ke rekord berikutnya
IF growsales = 0.03 REPLACE ;
Insentif WITH 30000
Setiap rekord, jika kenaikan penjualan = 3%, maka
nilai 30000 akan direkam dalam field insentif
Tanda semicolon (;) setelah REPLACE berarti bahwa
command dilanjutkan pada beris berikutnya.
ENDIF
Akhir dari kondisional pernyataan IF
IF growsales = 0.06 REPLACE Insentif ; WITH 40000
Setiap rekord, jika kenaikan penjualan = 6%, maka
nilai 30000+10000 akan direkam dalam field insentif
ENDIF
Akhir dari kondisional pernyataan IF
ENDSCAN
Contoh tersebut menggunakan dua pencabangan dan pengulangan kondisional untuk
mengontrol alur program.
Pencabangan Kondisional (Conditional Branching)
Pencabangan kondisional menunjukkan suatu pengujian kondisi dan kemudian tergantung dari
hasil pengujian tersebut akan mengakibatkan operasi berbeda. Ada dua perintah dalam Visual
FoxPro yang menunjukkan pencabangan kondisional, yaitu:
•
IF ... ELSE ... ENDIF
•DO CASE ... ENDCASE
Contoh:** Menyimpan variabel lDapatInsentif = .T. jika pertumbuhan = 3% IF nGrow=.03
lDapatInsentif = .T. ENDIF
Catatan: Asterisk (*) pada awal baris menunjukkan komentar. Komentar ini membantu
programmer mengingat setiap segment code yang dirancang.
Pengulangan (Looping)
Pengulangan menunjukkan bahwa proses eksekusi satu atau lebih baris perintah dalam
lingkup waktu yang sama. Ada tiga perintah pengulangan dalam Visual FoxPro, yaitu:
DO WHILE ... ENDDO FOR ... ENDFOR SCAN ... ENDSCAN
Contoh:
FOR nCnt = 1 TO FCOUNT( ) ? FIELD(nCnt) ENDFOR** Penggunaan Do While … Enddo
Select Employee GO TOP
DO WHILE NOT EOF() && Lakukan pengulangan jika belum
&& sampai akhir file (eof = end of file ) IF GROWSALES=.03
REPLACE ; INSENTIF ; WITH 30000 ENDIF
SKIP && memindahkan pointer rekord berikutnya
ENDDO
Pemrograman Dalam Visual FoxPro
Menentukan/menetapkan Masalah
Operasionalkan masalah kedalam elemen-elemen dengan ciri-ciri khusus
Kembangkan setiap bagian elemen
Mengumpulkan elemen-elemen yang sejenis
Pengujian program keseluruhan
Pemrograman artinya adalah menyuruh mesin untuk melakukan apa yang kita inginkan. Pada
awalnya, program dibuat dengan cara yang sederhana. Seorang pemrogram harus
menuliskan program satu per satu dan memeriksa kesalahan sendiri. Hal ini memerlukan
waktu yang lama. Perangkat lunak telah berkembang sehingga sekarang anda dapat
membuat dan memeriksa program dengan mudah karena sudah disediakan fasilitas-fasilitas
yang mudah dan menarik.
Walaupun
Visual
FoxPro
masih
mendukung
pemrograman
prosedural,
pengembangan-pengembangan bahasa memberikan kemampuan dan fleksibelitas dalam
pemrograman berorientasi object. Pengembangan berorientasi object dan pemrograman
berorientasi object menunjukkan suatu perubahan fokus dari standar pemrograman prosedural.
Pemrograman prosedural adalah proses alur program dari baris pertama sampai pada akhir
baris, sedangkan pada pemrograman berorientasi object, pola berfikir dalam pengembangan
suatu program adalah bagaimana membuat object-object yang merupakan komponen aplikasi.
Pemrograman berorientasi object saat ini dikembangkan karena 1). aplikasi yang
dibutuhkan semakin kompleks, perilaku user terhadap perkembangan Microsoft Windows yang
mana pemakai komputer tidak lagi memerlukan aplikasi yang mengontrol pemakai tetapi
pemakai ingin mengontrol jalannya program, 2) proses pengembangan relatif cepat/hemat
waktu, 3) tampilan visual, 4) kebutuhan untuk mengakses data dari berbagai format, 5)
pengembangan database client/server.
Pemrograman berorientasi object adalah perluasan dari pemrograman prosedural
yang mengutamakan pemakaian ulang program melalui pengembangan class library. Class
Library adalah kumpulan object yang dapat digunakan pada setiap aplikasi yang
dikembangkan, misalnya perintah-perintah untuk memindahkan pointer rekord dalam tabel,
perintah help, dan perintah-perintah berulang yang selalu digunakan dalam aplikasi atau setiap
object.
Elemen-Elemen Program
Dalam sebuah aplikasi program berisi kumpulan kata-kata yang merupakan bahasa
pemrograman yang disediakan, dan kumpulan bahasa interface lainnya yang digabungkan
membentuk suatu bahasa sehingga dapat dijalankan oleh mesin komputer. Pada umumnya
susunan elemen-elemen dalam aplikasi program berisi:
Perintah dasar dan function yang sudah ada, untuk melaksanakan aksi
tertentu.
Literal dan konstanta yang bernama, yang dipakai dalam operasi.
Data yang permanen yang disimpan dalam tabel.
Operator aritmatik yang dipakai pada bilangan, operator string untuk
memanipulasi data karakter
Evaluator logic untuk proses perbandingan.
Pengulangan.
Komentar.
Mengenal Visual FoxPro
Perkembangan Fox Software bermula dari FoxBase pada tahun 1984, dan kemudian
berkembang menjadi FoxPro pada tahun 1989 dengan memperkenalkan Graphical Unit
Interface. Kemudian pada tahun 1995 diperkenalkan Visual FoxPro. Hingga kini, Visual
FoxPro sudah disempurnakan lagi pada release 7.0 dan 8.0. Kemampuan pemrograman
prosedural tetap dipertahankan dan dilengkapi dengan pemrograman berorientasi objek. Visual
FoxPro 6.0 dilengkapi dengan kemampuan untuk berinteraksi dengan produk desktop dan
client/server lain dan juga dapat membangun aplikasi yang berbasis Web. Dengan adanya
Visual Studio, FoxPro menjadi anggotanya. Sasaran utama Visual Studio adalah menyediakan
alat bantu pemrograman dan database untuk mengembangkan perangkat lunak yang
memenuhi tuntutan zaman.
Menjalankan Program Visual FoxPro
Jika telah dilakukan installasi program Visual FoxPro, maka pada layar
monitor atau desktop dapat dibuat shortcut menu untuk memmpercepat
memanggil program Visual FoxPro 6.0. Kemudian Double-Click
Icon/Shortcut Microsoft Visual FoxPro 6.0 untuk memanggil program, atau
dapat juga dipanggil melalui menu Start, atau dengan menggunakan
fasilitas Windows Explorer
Gambar 1.1: Flash Screen
Tampilan pada gambar 1.1 akan nampak dalam beberapa detik dan selanjutnya akan
ditampilkan screen Visual FoxPro 6.0 seperti pada gambar 1.2.
Gambar 1.2.
Screen
Visual FoxPro 6.0
Bagian-bagian yang ada pada Screen Visual FoxPro 6.0 dapat diuraikan sebagai berikut:
Caption
Bagian yang
terletak
di
bagian kiri atas tampilan utama. Caption dapat diubah dengan
memberi instruksi:
_Screen.Caption=”D3 Akuntansi Fe Unud”
Control Box
Bagian yang terletak di bagian kanan atas
tampilan utama, berisi control Minimize,
Restore dan Close
Main Menu
Bar
Bagian yang terletak di baris menu, berfungsi untuk memandu pemakai
ToolBar
Bagian yang
berfungsi untuk mempercepat pemanggilan instruksi. Berisi Toolbar
standar yaitu New, Open, Save, Print, Explorer, Cut, Copy, Paste,
Undo, Redo, Run.
Jendela
Perintah
Bagian yang berfungsi
untuk menulis instruksi
Status Bar
Bagian yang terletak dibagian bawah
tampilan utama.
Mengakhiri Program Visual FoxPro
Untuk mengakhiri program Visual FoxPro, Ada beberapa cara yang dapat dilakukan, yaitu:
1.
Pada menu File, Klik sub-menu Exit
2.
Melalui jendela perintah, ketik instruksi QUIT
2
Persiapan Pemrograman
Pokok Bahasan:
Membuat Folder Aplikasi
Mengubah Direktory Default
Membuat File Project
Membuat File Program/Aplikasi
Membuat Folder Aplikasi
Sebelum mengembangkan suatu aplikasi program, maka langkah awal yang diperhatikan
adalah menyediakan tempat atau lokasi penyimpanan setiap jenis file yang menjadi bagian dari
program. Tahapan ini merupakan implementasi dari proses pengelolaan file, oleh karena itu
tahapan akan menjadi penting dan bermanfaat.
Sebagai contoh susunan folder nampak seperti gambar 2.1. Folder aplikasi dibuat dalam
kelompok ProD3. Didalam folder ProD3 berisi sub-folder yang digunakan untuk menyimpan
setiap jenis file yaitu file Data, Forms, Reports, Library, Programs, Include, Help, Graphics
dan Menu.
Gambar 2.1
Susunan Folder
Untuk membuat folder, dapat digunakan fasilitas Windows Explorer.
Mengubah Default Direktory
Setelah folder dibuat, lalu tentukan bahwa tempat penyimpanan data dapat dibaca pada folder
yang telah dibuat. Langkah-langkah untuk mengubah default directory adalah sebagai berikut:
1.
Pada menu Tools, Klik Options. Setelah perintah ini dilakukan maka akan muncul
tampilan seperti gambar 2.2
Gambar 2.2. Options File Locations
2.
Pilih jenis file Default Directory, lalu Klik Modify
Gambar 2.3 Change File Location
3.
Dari gambar 2.3, kemudian ubah lokasi direktory dengan nama folder yang telah dibuat.
Selanjutkan pilih perintah Ok. Jika langkah ini benar dilakukan maka tampilan akan
kembali seperti gambar 2.2, lalu pilih perintah Set As Default, dan perintah Ok.
Membuat File Project
Untuk membuat suatu file project, Visual FoxPro menyediakan fasilitas yang dapat digunakan
yaitu dengan project manager. Langkah-langkah yang dilakukan adalah:
Gambar 2.3
Kotak Dialog New
2.
Dari kotak dialog New ( seperti Gambar 2.3) tentukan jenis file Project dan pilih New File.
Kemudian muncul tampilan kotak dialog Create seperti gambar 2.4.
Gambar
2.4
Kotak
Dialog
Create
3.
Dari gambar 2.4 tentukan nama project, misalnya Proj1. Kemudian pilih command Save.
Bila langkah 1, 2, dan 3 telah dilakukan dengan benar maka selanjutnya akan ditampilkan
project manajer seperti pada gambar 2.5. Dari gambar 2.5, kemudian dibangun aplikasi
program sesuai dengan rancangan sistem yang dikembangkan.
Gambar 2.5
Kotak Dialog
Project
Manager
a.
Membuat Main Program
Main Program adalah prosedur yang diletakkan pada top program atau program yang
mengawali dan mengendalikan semua prosedur yang dikembangkan. Main Program berisi
instruksi-instruksi yang menangani konfigurasi lingkungan kerja aplikasi Visual FoxPro
yang dikembangkan.
Untuk membuat main program, caranya adalah:
a.
Dari project manager, Pilih Code, kemudian Klik New. Setelah proses ini akan muncul
kotak editor seperti gambar 2.5.
Gambar 2.5
Kotak Editor Code
b.
Dari tampilan kotak Editor Code, ketiklah instruksi berikut ini:
*-- Prosedur Program Utama
DO Progs\Prg2
READ Events
CLEAR ALL
CLEAR EVENTS
c.
Setelah menulis instruksi, simpan instruksi tersebut pada folder Progs dengan nama
file Prg1. Tekan Tombol [Ctrl-W] untuk menyimpan instruksi. Jika benar dilakukan
maka muncul kotak dialog seperti gambar 2.6. Selanjutnya isi nama file program dan
pilih command Save.
Gambar 2.6
Kotak Dialog
Save As
d.
Membuat sub-program menu. Caranya adalah dari project manajer Code, Pilih New
sehingga muncul kotak dialog Code Editor, lalu ketik instruksi berikut ini dan simpan
dengan nama Prg2 pada folder Progs.
** Nama File: Progs\Prg2.Prg
DEFINE PAD Menu1 OF _Msysmenu PROMPT "\<Menu"
DEFINE PAD Menu2 OF _Msysmenu PROMPT "E\<XIT"
ON PAD MENU1 OF _Msysmenu ACTIVATE POPUP Menu1
ON SELECTION PAD MENU2 OF _Msysmenu pQuit()
DEFINE POPUP MENU1 MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF MENU1 PROMPT "\<1. Data Mahasiswa"
DEFINE BAR 2 OF MENU1 PROMPT "\<2. Laporan"
DEFINE BAR 3 OF MENU1 PROMPT "\-"
DEFINE BAR 4 OF MENU1 PROMPT "\<3. Backup Data"
ON SELECTION BAR 1 OF MENU1 Do Form Forms\Form1
ON SELECTION BAR 2 OF MENU1 Do Form Forms\Form2
ON SELECTION BAR 4 OF MENU1 Do Form Forms\Form3
ACTIVATE MENU _Msysmenu NOWAIT
e.
Membuat sub-program untuk menutup aplikasi dengan instruksi berikut ini, dan simpan
dengan nama file pQuit pada folder Progs.
** Nama File: Progs\pQuit.Prg
CLEAR ALL
CLEAR EVENTS
b.
Membuat Form
Membuat Form1. Perhatikan project manajer, lalu pilih Documents. Kemudian pilih
command New, dan New Form
Gambar 2.7
Project Manajer
Documents dan Kotak
Dialog New Form
Selanjutnya muncul form designer seperti gambar 2.8
Gambar 2.8
Form
Designer
Dari form designer ini (seperti gambar 2.8), simpanlah form tersebut pada folder Forms
dengan nama Form1. Caranya adalah dari menu File, pilih Save-As, dan perhatikan kotak
dialog save-as, lalu beri nama form. Ulangi langkah membuat form untuk mendesign form2
dan form3.
Membuat File Program
Setelah tahapan-tahapan pemrograman dilalui, maka selanjutnya adalah melakukan proses
penerjemahan dari bahasa pemrograman kedalam bahasa mesin yang dapat dimengerti oleh
komputer. Proses ini disebut Building Program. Caranya adalah sebagai berikut:
1.
Dari project manajer, pilih Build. Setelah proses ini muncul seperti gambar 2.9.
Gambar 2.9
Kotak Dialog Building
Program
2.
Lalu pilih Ok. Setelah proses selesai, dan tidak ada kesalahan penulisan instruksi maka
aplikasi sudah siap dijalankan.
3
Mengenal Class dan Object
Pokok Bahasan:
Class dan Object Visual FoxPro
Form Property, Event dan Method
ToolBar Form Control
Merancang Form
Class dan Object Visual FoxPro
Kelas (Class) dan obyek (object ) dalam terminologi pemrograman berorientasi obyek
sebenarnya adalah saling terkait, tetapi tidak sama. Suatu kelas berisi informasi mengenai
bagaimana obyek akan melihat dan menunjukkan reaksi atau berjalan. Suatu kelas adalah
skema dari suatu obyek. Sebagai contoh misalnya, skema dan jaringan elektronik dari sebuah
telpon adalah mendekati suatu kelas,. sedangkan yang menjadi obyek adalah telpon itu
sendiri.
Benda atau sesuatu yang nampak disekeliling kita adalah object. Obyek mempunyai
sifat-sifat, perilaku dan interaksi antar obyek. Misalnya, mobil adalah benda yang mempunyai
sifat-sifat seperti bentuk, warna, ukuran dan berat. Mobil dapat digunakan karena adanya
mesin yang terpasang, dan setiap komponen yang dimiliki saling berhubungan sehingga terjadi
gerak. Dalam kontek pemrograman Visual FoxPro, dan kalau disimak dari contoh obyek mobil
maka sifat-sifat mobil tersebut disebut dengan property, jaringan mesin-mesin disebut method
dan interaksi jaringan mesin yang mengakibatkan gerak disebut event. Object utama dalam
Visual FoxPro adalah Form.
Mobil
Property:
Nama, Tinggi, Berat
Form
Property: Tinggi,Lebar, Judul
Obyek: Property, Event dan Method
Sebuah obyek mempunyai berbagai property atau attribut. Sebuah telpon misalnya, adalah
mempunyai warna dan ukuran. Jika telpon digunakan di kantor, maka tentu ditempatkan pada
suatu lokasi misalnya diatas meja kerja, sehingga akan memudahkan untuk digunakan baik
menerima maupun mengirim pesan.
Obyek yang dibuat dalam Visual FoxPro juga mempunyai berbagai property yang
ditentukan oleh kelas didasarkan pada obyek tersebut. Property tersebut dapat di tentukan
pada saat merancang atau pada waktu dijalankan.
Sebagai contoh misalnya, beberapa property dari “Check Box” adalah sebagai berikut:
Property
Keterangan
Caption
Teks disebelah check box
Enabled
Menentukan apakah user dapat memilih atau mengubah nilai.
ForeColor
Warna teks caption
Left
Posisi kiri dari check box
Top
Posisi atas dari check box
Visible
Menentukan apakah check box nampak (visible) atau tidak
Setiap obyek yang dibuat dan dapat merespon aktivitas dengan benar disebut events.
Event adalah suatu yang spesifik dan akan timbul karena aktivitas, dapat diprakarsai oleh user
yang lain atau karen sistem. Events, dalam kontek ini adalah disebabkan oleh interaksi user.
Misalnya, pada contoh pesawat telpon, event dipicu ketika user menggunakan telpon, atau
ketika user menekam tombol-tombol untuk memanggil.
Perilaku pemakai termasuk dalam pemicu event adalah klik dan memindahkan mouse
dan menekan tombol keyboard. Metode-metode (Methods) adalah prosedur-prosedur yang
berhubungan dengan suatu obyek. Event dapat memiliki method yang sesuai.
Events dari check box:
Event
Keterangan
Click
User meng-Klik check box.
GotFocus
User memilih check box dengan meng-Klik atau menekan tombol Tab
LostFocus
User memilih kontrol lain, meninggalkan check-box
Methods dari check box:
Method
Keterangan
Refresh
Mengupdate nilai dari check box yang memperlihatkan adanya
perubahan data
Karakteristik Class
Class mempunyai karakteristik – karakteristik yang membuatnya sangat berguna untuk
menciptakan software yang reusable (mempunyai banyak fungsi), dan mudah dipelihara dan
dikembangkan, yaitu: Encapsulation, Subclasses, Inheritance
Encapsulation meliputi proses penggabungan method dan property secara bersama-sama
kedalam suatu obyek sehingga dapat memberikan manfaat abstraksi yang dapat dilihat
apabila ada interaksi penggunaan. Misalnya, property yang menentukan item-item dalam
suatu list box dan code yang berjalan ketika item-item dalam daftar dipilih dapat dienkapsulasi
menjadi satu kontrol tunggal dalam suatu form.
Subclass dapat memberikan fungsi setiap class yang dibuat dan berbagai penambahan kontrol
yang diinginkan. Fleksibelitas ini merupakan feature yang diberikan class. Proses pembuatan
subclass adalah satu langkah pemrograman utuk mengurangi jumlah code yang harus ditulis.
Class dapat digunakan pada setiap kontrol, sifat ini disebut inheritance. Kemampuan ini
sangat bermanfaat dalam pemrograman karena apabila ada perubahan dalam suatu class,
maka perubahan tersebut dapat berlaku untuk semua kontrol yang ada.
Jenis Class
Ada dua jenis class dan merupakan perluasan dari obyek Visual FoxPro yaitu container class
dan control class.
Container Class
Containers dapat berisi obyek-obyek lain dan dapat diakses oleh obyek-obyek yang ada dalam
container. Misalnya, jika anda membuat suatu container class yang berisi dua list-box dan dua
command button dan kemudian menambahkan pada obyek form, maka setiap obyek dapat
dimanipulasi, dan dapat ditambahkan obyek lain.
Berikut ini adalah daftar kontrol yang terdapat dalam setiap container class yaitu:
Container Control
Command button groups Command buttons
Container Any controls
Control Any controls
Custom Any controls, page frame, container, custom
Form sets Forms, toolbars
Forms Page frames, any controls, containers, custom
Grid columns Headers and any objects except form sets,
forms, toolbars, timers, and other columns
Grids Grid columns
Option button groups Option buttons
Page frames Pages
Pages Any controls, containers, custom
Project Files, servers
Hirarki Class
Hirarki class dan container adalah dua entitas terpisah. Visual FoxPro melihat code events
melalui hirarki class, sedangkan obyek-obyek melihat referensi hirarki container. Sebagai
contoh dalam memanipulasi suatu form dalam form set, diperlukan referensi form set, form dan
control.
Penggunaan Pengenal/Referensi
Visual FoxPro menggunakan kata kunci Parent, THIS, THISFORM dan THISFORMSET untuk
penulisan dalam method dan event. Contoh instruksi yang terkait dengan kata kunci tersebut
adalah:
THISFORMSET.frm1.cmd1.Caption = "OK" THISFORM.cmd1.Caption = "OK" THIS.Caption = "OK" THIS.Parent.BackColor = RGB(192,0,0)Menentukan Properties
1.
Menggunakan sintaks tunggal : Container.Object.Property = Value
Contoh:
frmPhoneLog.txtDate.Value = DATE( ) frmPhoneLog.txtDate.Enabled = .T.
frmPhoneLog.txtDate.ForeColor = RGB(0,0,0) frmPhoneLog.txtDate.BackColor = RGB(192,192,192)
2. Menggunakan WITH …. ENDWITH
WITH THISFORMSET.frmForm1.grdGrid1.grcColumn1 .Width = 5 .Resizable = .F. .ForeColor = RGB(0,0,0) .BackColor = RGB(255,255,255) .SelectOnEntry = .T. ENDWITH
Memanggil Methods
Menggunakan syntax : Parent.Object.Method
Contoh:
frsFormSet.frmForm1.Show
frsFormSet.frmForm1.txtGetText1.SetFocus
Methods mengembalikan nilai dan digunakan sebagai ekspresi, misalnya:
Form1.Caption = Form1.GetNewCaption( )
Prosedur dan UDF (User Defined Function)
Prosedur dan fungsi adalah sebagai tempat pendefinisian dan penulisan code (bahasa
program). Code yang ditulis kemudian dapat dijalankan untuk menangani berbagai jenis data
dan obyek yang ada dalam aplikasi. Pendefinisian prosedur dan fungsi dalam Visual FoxPro
dapat dijelaskan sebagai berikut:
PROCEDURE myproc
**instruksi-instruksi ENDPROC
Dalam pemrograman tradisional, prosedur berisi code yang ditulis untuk suatu proses tertentu,
tanpa mengembalikan suatu nilai, sedangkan fungsi berisi code untuk melakukan suatu
operasi dan mengembalikan suatu nilai. Dalam Visual FoxPro, fungsi merupakan
penyederhanaan dari prosedur. Penulisannya sebagai berikut:
FUNCTION myfunc
**instruksi-instruksi ENDFUNC
Prosedur dan fungsi dapat dibuat pada suatu file program secara terpisah, dan untuk
menggunakan setiap prosedur dan fungsi digunakan perintah SET PROCEDURE TO.
Misalnya file prosedur diberikan nama FUNPROC.PRG, maka instruksi untuk mengaktifkan
adalah:
SET PROCEDURE TO funproc.prg SET PROCEDURE TO funproc.prg
Memanggil Procedure atau Function
Ada dua cara untuk memanggil procedure atau function dalam program:
•Menggunakan perintah DO
DO myproc
•
Menambahkan tanda kurung (parentheses) setelah nama fungsi
myfunc( )Setiap method dalam class dapat dikembangkan melalui pengiriman dan penerimaan nilai dari
procedure atau function
•
Mengirim Nilai ke Procedure atau Function
Untuk dapat mengirim nilai ke dalam procedure atau function, maka perlu menambahkan
parameters. Misalnya:
PROCEDURE myproc( cString )
* The following line displays a message MESSAGEBOX ("myproc" + cString)
ENDPROC
Penulisan seperti pada contoh (
PROCEDURE myproc(cString)) berarti bahwa lingkup
parameter tersebut adalah lokal. Untuk memanggil prosedur tersebut dapat digunakan teknik
dibawah ini:
DO myproc WITH cTestString DO myproc WITH "test string" Atau
Myfunc(cTestString) Myfunc("test string")
Pengiriman nilai dapat pula lebih dari satu, untuk membedakan setiap parameter diisi tanda
comma. Contoh:
PROCEDURE myproc( dDate, cString, nTimesToPrint ) FOR nCnt = 1 to nTimesToPrint
? DTOC(dDate) + " " + cString + " " + STR(nCnt) ENDFOR
ENDPROC
Instruksi berikut adalah untuk memanggil prosedur, yaitu:
DO myproc WITH DATE(), "Hello World", 10•
Menerima Nilai dari Function
Kondisi default nilai yang dikembalikan adalah true (.T.), namun dapat digunakan perintah
RETURN untuk mengembalikan suatu nilai. Contoh berikut adalah suatu fungsi tanggal untuk
mengetahui tanggal dua minggu lagi, yaitu:
FUNCTION plus2weeksPARAMETERS dDate RETURN dDate + 14 ENDFUNC
Instruksi untuk memanggil dan mengambil nilai yang dikembalikan disimpan dengan variabel
dDeadLine, adalah sebagai berikut:
dDeadLine = plus2weeks(DATE())
Mengelola Return Value
Nilai yang dikembalikan (return value) kemudian dapat disimpan kedalam suatu variabel,
ditampilkan langsung ke layar/window atau dicetak langsung ke printer atau disimpan dalam
suatu field file tabel. Dalam proses pemrograman berorientasi obyek, karakteristik inheritance
adalah merupakan implikasi dari pengelolaan return value. Hal ini akan terlihat pada
pengembangan suatu prosedur yang mempunyai hasil yang berbeda-beda hanya dengan
mengubah isian atau parameter yang diisinya/dikirimkan.
Contoh penulisan code dalam mengelola return value
CVar1 = myfunc ( )
? myfunc( )
This.Value=myfunc ()
@ 2,10 SAY myfunc( )
Verifikasi Parameter
Untuk mengenai jenis nilai yang dikirim atau yang dikembalikan oleh suatu prosedur atau
fungsi, apakah sesuai dengan kriteria yang ditentukan dalam penulisan parameter maka dapat
digunakan fungsi TYPE() dan PARAMETERS()
Fungsi berikut adalah penggunaan fungsi TYPE() untuk mendeteksi apakah variabel jenis
tanggal benar dikirimkan.
FUNCTION plus2weeks( dDate ) IF TYPE("dDate") = "D" RETURN dDate + 14 ELSE
MESSAGEBOX( "Isilah dengan data jenis tanggal”) RETURN { - - }
ENDIF ENDFUNC
Penggunaan fungsi PARAMETERS() adalah untuk mengetahui jumlah nilai parameter yang
dikirimkan. Prosedur berikut adalah suatu contoh nilai parameter yang harus dikirimkan adalah
3, dan jika kurang akan menghasilkan nilai .F..
PROCEDURE SaveValue( cStoreTo, cNewVal, lIsInTable ) IF PARAMETERS( ) < 3
MESSAGEBOX( "Kekurangan nilai parameter”) RETURN .F.
ENDIF
IF lIsInTable
REPLACE (cStoreTo) WITH (cNewVal) ELSE &cStoreTo = cNewVal ENDIF RETURN .T. ENDPROC
Object Form
Form memiliki property yang menentukan bentuk form seperti posisi, ukuran dan warna dan
aspek perilaku form seperti apakah dapat diubah ukurannya atau tidak. Untuk memberikan
pemahaman mengenai object form, cobalah tuliskan perintah berikut dari jendela perintah.
Gambar 3.2
Membuat
Object Form
CREATE FORM adalah suatu bahasa perintah untuk membuat form. Syntax selengkapnya
adalah:
CREATE FORM [FormName | ?] [AS cClassName FROM cClassLibraryName | ?]
[NOWAIT] [SAVE] [DEFAULT] [[WINDOW WindowName1] [IN [WINDOW]
WindowName2 | IN SCREEN]]
Form yang telah dibuat adalah sebuah object yang mempunyai property, event dan method.
Berikut ini disebutkan property, event dan method yang ada pada sebuah object form.
Form Property, Method dan Events
Property
:
ActiveControl,
ActiveForm,
AlwaysOnBottom,
AlwaysOnTop,
Application, AutoCenter, BackColor, BaseClass, BorderStyle, BufferMode, Caption,
Class, ClassLibrary, ClipControls, Closable, ColorSource, Comment, ContnousScroll
Property, ControlBox, ControlCount, Controls, CurrentX, CurrentY, DataEnvironment,
DataSession, DataSessionID, DefOLELCID Property, Desktop, DrawMode, DrawStyle,
DrawWidth, Enabled, FillColor, FillStyle, FontBold, FontCondense, FontExtend,
FontItalic, FontName, FontOutline, FontShadow, FontSize, FontStrikeThru,
FontUnderline,
ForeColor,
HalfHeightCaption,
Height,
HelpContextID,
HScrollSmallChange Property, Icon, KeyPreview, Left, LockScreen, MacDesktop,
MaxButton, MaxHeight, MaxLeft, MaxTop, MaxWidth, MDIForm, MinButton, MinHeight,
MinWidth, MouseIcon, MousePointer, Movable, Name, Objects, OLEDragMode,
OLEDragPicture, OLEDropEffects, OLEDropHasData, OLEDropMode, Parent,
ParentClass,
Picture,
ReleaseType,
RightToLeft,
ScaleMode,
ScrollBars,
ShowInTaskbar, ShowTips, ShowWindow, SizeBox, TabIndex, TabStop, Tag, TitleBar
Property, Top, ViewPortHeight, ViewPortLeft, ViewPortTop, ViewPortWidth, Visible,
VscrollSmallChange, WhatsThisButton, WhatsThisHelpID, Width, WindowType,
WindowState, ZoomBox.
Events
: Activate, Click, DblClick, Deactivate, Destroy, DragDrop, DragOver, Error,
GotFocus, Init, KeyPress, Load, LostFocus, MiddleClickEvent, MouseDown,
MouseMove, MouseUp, MouseWheel, Moved, OLECompleteDrag, OLEDragDrop,
OLEDragOver, OLEGiveFeedBack, OLESetData, OLEStartDrag, Paint, QueryUnload,
Resize, RightClick, Scrolled, Unload
Methods
: AddObject, AddProperty, Box, Circle, Cls, Draw, Hide, Line, Move,
NewObject, OLEDrag, Point, Print, Pset, ReadExpression, ReadMethod, Refresh,
Release, RemoveObject, ResetToDefault, SaveAs, SaveAsClass, SetAll, SetViewPort,
Show, ShowWhatsThis, TextHeight, TextWidth, WhatThisMode, WriteExpression,
WriteMethod, Zorder.
Didalam form designer, property, event dan method tersebut ditampilkan dalam sebuah jendela
properties. Gambar 3.3 Menunjukkan Properties FormDoc1.
Gambar 3.3
Jendela Properties Form
ToolBar Form Control
Untuk mengisi layout form dengan bentuk input yang akan dibuat, tersedia dalam form control
yang berisi label, textbox, line, perintah, check kontrol, gambar, container, grid, combo box,
listbox, timer dan hyperlink. Apabila form designer aktif maka form kontrol dapat diaktifkan
sehingga dengan mudah melakukan modifikasi form.
Gambar 3.4
Form Controls
Select Object
Kontrol untuk mengembalikan object pada kondisi netral.
New Classes
Kontrol untuk menampilkan pilihan Class
Label
String yang ditampilkan pada form. Label dipakai untuk judul dan
keterangan dari object-object lain.
Text Box
Berisi variabel yang bertipe string (karakter), tanggal, numerik,
dan logika. TextBox dapat berisi data dari tabel atau mewakili
sebuah variabel memori . Dengan TextBox, Anda dapat mengubah
data.
Edit Box
Berisi variabel yang bertipe memo, atau untuk isian karakter yang
panjang.
Command
Button
Object perintah untuk melakukan proses atau perintah-perintah
tertentu.
Command
Group
Object perintah berkelompok.
Option Group
Sekelompok alternatif pilihan.
Check Box
Untuk menyatakan keadaan biner. Misalnya benar atau salah, ya
atau tidak.
Combo Box
Kombinasi dari sebuah daftar dan textbox. Anda dapat memilih
data dari dafar atau mengisikan data yang tidak ada dalam daftar.
List Box
Untuk menampilkan daftar pilihan.
Spinner
Untuk mimilih nilai numerik. Object ini dilengkapi dengan anak
panah atas untuk menambah nilai dan anak panah bawah untuk
mengurangi nilai
Grid
Object untuk menampilkan variabel baik array ataupun dari sebuah
tabel.
Image
Object untuk menampilkan gambar dalam sebuah file .BMP, JPG,
dan jenis file gambar lainnya.
Timmer
Object untuk mengatur waktu suatu event
Page Frame
Adalah form yang dapat dibagi-bagi menjadi beberapa halaman.
ActiveX
Control
(Ole Control )
Object untuk menciptakan link ke aplikasi lain yang mendukung
OLE dan ActiveX.
ActiveX Bound
Control
( Ole Bound
Control )
Ole Bound Control, adalah sebuah link ke aplikasi lain yang
biasanya berupa file vcx.
Line
Line, adalah object garis
Shape
Shape control adalah kontrol grafis untuk menampilkan suatu kota,
lingkaran atau ellip.
Container
Object Container dapat berisi object lain dan biasanya dibuat
untuk suatu even yang berhubungan dengan container itu sendiri.
Separator
Kontrol dalam suatu toolbar biasanya ditempatkan berdekatan
diantaranya, object ini merupakan pemisah diantara object-object
yang ada dalam toolbar. Atau dalam suatu kelompok kontrol.
HyperLink
Suatu object
HyperLink merupakan kemampuan navigasi Aplikasi
Visual FoxPro dan Active Documents dalam suatu kontainer seperti
Microsoft Internet Explorer. Dengan fasilitas object ini, sebuah
aplikasi dapat dihubungkan atau berpindal ke URL (Uniform
Resource Locator)
Builder Lock
Kontrol ini berfungsi untuk menampilkan builder wizard secara
langsung ketika suatu object diletakkan pada sebuah form.
Button Lock
Kontrol ini berfungsi untuk mengunci kontrol yang digunakan.
Merancang Form
Untuk memberikan pemahaman mengenai object form, dan attribut object yang dimiliki yaitu
property, method dan event akan dijelaskan dalam illustrasi contoh – contoh berikut ini.
Contoh 1. Membuat Form Pendataan Mahasiswa
Urutan Penyelesaian:
1.
Membuka form designer
Melalui jendela command, ketik CREATE FORM
2.
Mengubah nama form (Caption), dengan nama Pendataan Mahasiswa
Perhatikan properties window, pilih Caption, kemudian ganti nama form1 dengan
Pendataan Mahasiswa.
3.
Mengisi object form dengan string dibawah ini melalui control form dengan
object
Labels. String yang dibuat yaitu NIM, Nama, Tgl.Pendaftaran, Umur,
Hobby dan Pekerjaan Orang Tua.
a.
Melalui form control, Klik Button Lock
b.
Klik Labels, kemudian klik area form pada posisi yang sesuai dengan lay
out sehingga muncul Label1, ulangi mengklik sebanyak 6x sehingga
muncul Label1, Label2, Label3, Label4, Label5 dan Label6. Kembalikan
kondisi form control ke Select Object.
c.
Ubah property Caption label1 dengan NIM, label2 dengan Nama
Mahasiswa, label3 dengan Tgl.Pendaftaran, label4 dengan Umur, label5
dengan Hobby, label6 dengan Pekerjaan Orang Tua
4.
Membuat isian setiap variabel.
a.
Klik
TextBox, dan letakkan disebelah kanan NIM, Nama Mahasiswa,
Tgl.Pendaftaran dan Umur
b.
Klik Option Group, dan letakkan disebelah kanan hobby.
c.
Klik ComboBox, dan letakkan disebelah kanan Pekerjaan Orang Tua.
5.
Membuat Garis, Klik Line dan letakkan pada bagian bawah pekerjaan orang tua
6.
Membuat perintah (Rekam), (Bersihkan Isian/Ulangi) dan (Kembali). Klik
Command Button dan letakkan dibawah garis. Ubah property caption
command1 dengan
Rekam. Ulangi langkah ini untuk membuat perintah yang
lainnya.
7.
Menyimpan Form. Melalui menu File, Klik Save As, kemudian dari kotak dialog
Save As beri nama form dengan FormMhs.
8.
Menjalankan Form. Klik Kanan pada area form, kemudian pilih
Run Form.
Atau tekan Tombol Ctrl+E.
9.
Modifikasi Form. Melalui jendela perintah, ketik: MODIFY FORM
10.
10. Menutup Form. Klik Control Box - Close
Latihan 1: Merancang Berbagai Form Isian
Buatlah
form
untuk
pendataan
karyawan,
barang
dagangan/Inventory,
Daerah/Segmen Pemasaran, Daftar Wajib Pajak Di Bali, Aktiva tetap, Daftar
rekening akuntansi, nasabah tabungan BPD Bali, debitur BPD Bali, Pelanggan Tiara
Dewata, dan Supplier Tiara Dewata, Pelanggan Telkomsel (Kartu Hallo).
4
Mengenal Data
Pokok Bahasan:
Database dan Tabel
Teknik Merancang Struktur Tabel
Membuat, Membuka dan Menutup Tabel Melalui File Program
Database dan Tabel
Database dan Tabel adalah dua istilah yang berbeda. Kedua istilah tersebut pernah dipakai
untuk mengacu sebuah tabel, tetapi cara tersebut salah. Tabel menyatakan sebuah file (DBF)
yang berisi data. Sedangkan Database berisi kumpulan tabel. Pada tahun 1995, FoxPro
memperkenalkan database container yang berisi kumpulan tabel. Database container juga
menyediakan fasilitas tambahan yaitu:
Mengizinkan nama panjang untuk field dan table
Klausa validasi record dan validasi field
Nilai devault
Caption yang telah disimpan
Database container (DBC) adalah fasilitas aplikasi yang memungkinkan untuk mendefinisikan
atau menulis kode/program sebagai methods, function, atau procedure. Berbagai kode
program dapat ditulis seperti membuka database, membuka tabel, mencetak isi tabel dan
perintah-perintah lainnya.
Tabel adalah file yang berisi kumpulan informasi yang disimpan dalam field/kolom tertentu
sesuai dengan jenis field. Jenis field dalam program Visual FoxPro dibedakan kedalam
karakter ( C ), tanggal (D), tanggal dan waktu (T), numeric (N), numeric (F), Integer (I), Double
(B), Currency (Y), Logical (L), Memo (M) dan General (G). Tabel 4.1 menunjukkan jenis field
yang digunakan dalam aplikasi Visual FoxPro.
Tabel 4.1: Jenis Field
Jenis Field
(FieldType)
Lebar Width
(nField Width)
Decimal
(nPrecision)
Keterangan
C
N
-
Character
D
-
-
Date/Tanggal
T
-
-
DateTime
N
N
d
Numeric
F
N
d
Floating Numeric
I
-
-
Integer
B
-
d
Double
Y
-
-
Currency
L
-
-
Logical
M
-
-
Memo
G
-
-
General
Teknik Merancang Struktur Tabel
Bila aplikasi spreadsheet seperti Microsoft Excel, Lotus, dan sejenisnya dapat dipahami
dengan baik maka tidaklah asing dalam mempelajari struktur tabel. Mengapa demikian,
karena spreadsheet adalah ibunya database/tabel. Walaupun demikian tidaklah cukup bila
wawasan mengenai perilaku data tidak diketahui.
Kumpulan kertas-kertas yang berisi teks sebagai hasil proses pekerjaan bagian administrasi,
akuntansi, atau tugas-tugas kantor yang selalu bergelut dengan kertas dan ballpoint adalah
sumber informasi yang dapat dipahami dan tentu selanjutnya adalah mengkaji lebih lanjut
mengenai sifat informasi yang diperoleh.
Dalam bahasan ini, penulis ingin memberikan bayangan bahwa bagaimana tahapan untuk
merancang struktur tabel. Walaupun dalam topik ini tidak mengharuskan mahasiswa untuk
mampu menganalisa dan menyusun rancangan struktur tabel.
Sebagai contoh sederhana, cobalah bayangkan daftar absensi yang saudara tanda tangani
setiap mengikuti kuliah. Anggaplah daftar absensi seperti tabel 3.1. Berdasarkan daftar
absensi tersebut, dapat disusun rancangan struktur tabel sesuai dengan sifatnya.
Tabel 4.2: Daftar Absensi
No.
Urut
NIM
NAMA
TANDA TANGAN
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Berdasarkan tabel 4.2, maka dapat disusun struktur tabel dalam program Visual FoxPro
sebagai berikut:
Field Fieldname
Type
Width
1 Nim
Character
12
2 Nama
Character
40
3 Paraf01
Character
1
4 Paraf02
Character
1
5 Paraf03
Character
1
6 Paraf04
Character
1
7 Paraf05
Character
1
8 Paraf06
Character
1
9 Paraf07
Character
1
10 Paraf08
Character
1
11 Paraf09
Character
1
12 Paraf10
Character
1
13 Paraf11
Character
1
14 Paraf12
Character
1
15 Paraf13
Character
1
16 Paraf14
Character
1
Membuat, Membuka dan Menutup Tabel Melalui File Program
Dalam membuat, membuka dan menutup sebuah tabel atau file tabel maka perlu diketahui
bahasa yang terkait. Bahasa pemrograman yang terkait adalah:
MODIFY COMMAND, yaitu perintah untuk membuat file program
DO, yaitu perintah untuk menjalankan file program
IF…ENDIF, yaitu perintah kondisional yang didasarkan pada nilai expresi logika
FILE(), yaitu perintah yang menghasilkan nilai .T. (True/Benar) bila sebuah file
terdapat dalam sebuah disk.
CREATE TABLE, yaitu perintah untuk membuat tabel.
USE, yaitu perintah untuk membuka atau menutup sebuah file tabel
USED, yaitu perintah untuk mengetahui bahwa suatu tabel aktif atau tidak aktif
ALIAS(), yaitu perintah untuk mengenai nama samaran dari suatu tabel aktif
BROWSE, yaitu perintah untuk menampilkan isi tabel
EDIT, yaitu perintah untuk menampilkan isi tabel dalam bentuk form entry
CLOSE TABLE [ALL], yaitu perintah untuk menutup tabel aktif
Membuat File Tabel
1.
Melalui jendela perintah, ketik instruksi:
MODIFY COMMAND pCreaTbl
Jika perintah benar ditulis maka muncul kotak
Text Editor, seperti gambar
4.1.
Gambar 4.1
Kotak Text Editor
NB Elemen Program
1
2
3
4
5
6
7
8
IF !FILE('TBLMHS.DBF')
CREATE TABLE TBLMHS ( NIM C(12), NAMA C(40), ;
PARAF01 C(1), PARAF02 C(1),PARAF03 C(1),;
PARAF04 C(1),PARAF05 C(1),PARAF06 C(1),;
PARAF07 C(1),PARAF08 C(1),PARAF09 C(1),;
PARAF10 C(1),PARAF11 C(1),PARAF12 C(1),;
PARAF13 C(1),PARAF14 C(1) )
ENDIF
3.
Simpan file program dengan menekan Tombol Ctrl+W
4.
Jalankan program pCreaTbl dengan mengetik perintah DO pCreaTbl
Maka file tabel yang diberi nama TBLMHS akan dibuat.
Membuka, Menampilkan dan Menutup File Tabel
1.
Melalui jendela perintah, ketik instruksi:
MODIFY COMMAND pBukaTbl
2.
Melalui kotak Text Editor, ketik perintah sebagai berikut:
NB Elemen Program
1
2
3
4
5
6
CLOSE TABLE ALL
IF FILE('TBLMHS.DBF')
USE TBLMHS
ENDIF
BROWSE
CLOSE TABLE ALL
3.
Simpan file program dengan menekan Tombol Ctrl+W
5
Mengenal Function dan Command
Pokok Bahasan:
Function dalam Visual FoxPro
Command dalam Visual FoxPro
Function dalam Visual FoxPro
ABS( )
Mengembalikan nilai absolut dari ekspresi numeric
ABS(nExpression)Contoh:
? ABS(-45) && Displays 45
? ABS(10-30) && Displays 20
? ABS(30-10) && Displays 20
STORE 40 TO gnNumber1 STORE 2 TO gnNumber2
? ABS(gnNumber2-gnNumber1) && Displays 38
ACLASS( )
Membuat array class dari object, dan mengembalikan nilai numeric
ACLASS(ArrayName, oExpression)Contoh:
CLEARfrmMyForm = CREATEOBJECT("FormGrandChild")
FOR nCount = 1 TO ACLASS(gaNewarray, frmMyForm) && Creates an array
? gaNewarray(nCount) && Displays the names of the classes ENDFOR
RELEASE frmMyForm
DEFINE CLASS FormChild AS FORM ENDDEFINE
DEFINE CLASS FormGrandChild AS FormChild ENDDEFINE
ACOPY( )
Menyalin element dari satu array ke array lain
ACOPY(SourceArrayName, DestinationArrayName
[, nFirstSourceElement [, nNumberElements [, nFirstDestElement ]]])
Contoh:
CLOSE DATABASES
OPEN DATABASE (‘D:\prod3\data\testdata’) USE mhsd3
SELECT nama FROM mhsd3 ORDER BY jurusan ; WHERE nilai>=70 INTO ARRAY gaJurusan
= ACOPY(gaJurusan, gaJurusanTemp) CLEAR
DISPLAY MEMORY LIKE gaJurusanTemp
ADATABASES( )
Membuat array dari semua database terbuka termasuk lokasi tempat penyimpanan
ADATABASES(ArrayName)Contoh:
SET PATH TO (‘d:\prod3\data\') && Sets path to database OPEN DATABASE testdata && Buka database
CLEAR
? ADATABASES(gaDatabase) && Creates an array of open databases DISPLAY MEMORY LIKE gadatabase && Displays the contents of the array CLOSE DATABASES
ADBOBJECTS( )
Membuat variabel array dari database yang aktif
ADBOBJECTS(ArrayName, cSetting)cSetting
Nama
CONNECTION Nama Connection
RELATION
Relasi Table
TABLE
Nama Table
VIEW
Nama View
Contoh:
OPEN DATABASE (‘d:\prod3\Data\testdata')
* Function call with cSetting for table names =ADBOBJECTS(gaTables, "TABLE")
* Displays array gaTables created by ADBOBJECTS( ) function DISPLAY MEMORY LIKE gaTables
ADDBS( )
Menambah backslash ( \ ) jika diperlukan pada ekspresi path
ADDBS(cPath)Contoh:
CLEAR? ADDBS(‘D:\PROD3’) && Display D:\PROD3\
? ADDBS(‘D:\PROD3\’) && Display D:\PROD3\
ADEL( )
Menghapus suatu elemen array dari satu array dimensional, atau suatu baris atau kolom dari
dua array dimensional. Jika proses menghapus berhasil maka fungsi ini mengembalikan nilai
1, sebaliknya 0.
ADEL(ArrayName, nElementNumber [, 2])
Contoh:
CLOSE DATABASES
OPEN DATABASE ('d:\prod3\Data\testdata') USE mhsd3 && buka tabel nilai mahasiswa SELECT JURUSAN FROM mhsd3 ;
WHERE nilai>=70 ; INTO ARRAY gaJurusan gnCount = _TALLY
gcJurusan= 'Akuntansi' CLEAR
DISPLAY MEMORY LIKE gaNilai*
gnPos = ASCAN(gaJurusan, gcJurusan) && Mencari Jurusan Akuntansi IF gnPos != 0
*** Jurusan ditemukan, hapus dari array = ADEL(gaJurusan, gnPos)
gnCount = gnCount - 1 ENDIF
DISPLAY MEMORY LIKE gaJurusan NOCONSOLE
ADIR( )
Membuat informasi mengenai file kedalam suatu array dan kemudian mengembalikan daftar
file
ADIR(ArrayName [, cFileSkeleton [, cAttribute [, nFlag]]])
Contoh:
SET DEFAULT TO ‘d:\prod3\data’
gnDbcnumber = ADIR(gaDatabase, '*.DBC') && Create array CLEAR
FOR nCount = 1 TO gnDbcnumber && Loop for number of databases ? gaDatabase(nCount,1) && Display database names
ENDFOR
AFIELDS( )
Menyajikan informasi mengenai struktur tabel kedalam array dan mengembalikan jumlah field
dalam tabel tersebut.
AFIELDS(ArrayName [, nWorkArea | cTableAlias])
Contoh:
CLOSE DATABASES
OPEN DATABASE ‘d:\prod3\data\testdata’ USE mhsd3
gnFieldcount = AFIELDS(gaMyArray) && Create array CLEAR
FOR nCount = 1 TO gnFieldcount
? gaMyArray(nCount,1) && Display field names ENDFOR
AFONT( )
Memberikan informasi mengenai huruf yang ada kedalam sebuah array
AFONT(ArrayName [, cFontName [, nFontSize]])Contoh:
CLEAR=AFONT(gaFontArray) && Array containing font names gnNumFonts = ALEN(gaFontArray) && Number of fonts IF gnNumFonts > 10
gnNumFonts = 10 && Display first 10 fonts ENDIF
FOR nCount = 1 TO gnNumFonts
? ALLTRIM(gaFontArray(nCount)) && Display font name ?? ' This is an example of ' ;
+ ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8 ENDFOR
AINS( )
Insert suatu elemen kedalam array satu dimensi atau kedalam baris atau kolom kedalam array
dua dimensi. Fungsi ini mengembalikan nilai numerik 1 jika elemen berhasil disisipkan.
AINS(ArrayName, nElementNumber [, 2])
Contoh:
CLOSE DATABASES
OPEN DATABASE (‘d:\prod3\data\testdata’) USE mhsd3
SELECT Jurusan FROM mhsd3 ; WHERE nilai>=70 ;
INTO ARRAY gaJurusan gnCount = _TALLY
gcName = 'Pemasaran’ CLEAR
DISPLAY MEMORY LIKE gaJurusan
IF ASCAN(gaJurusan, gcName) = 0 && Mencari jurusan pemasaran *** Company not found-add it ***
= AINS(gaJurusan, gnCount-1) gaJurusan[gnCount-1] = gcName ENDIF
DISPLAY MEMORY LIKE gaJurusan
ALEN( )
Mengembalikan jumlah dari elemen, baris dan kolom dalam suatu array.
ALEN(ArrayName [, nArrayAttribute])Nilai nArrayAttribute, menentukan apakah fungsi ini mengembalikan jumlah elemen, baris atau
kolom, nilai 0 = jumlah elemen, 1 = baris dan 2= kolom
Contoh:
CLEAR=AFONT(gaFontArray) && Array containing font names gnNumFonts= ALEN(gaFontArray) && Number of fonts IF gnNumFonts > 10
gnNumFonts = 10 && Display first 10 fonts ENDIF
FOR nCount = 1 TO gnNumFonts
? ALLTRIM(gaFontArray(nCount)) && Display font name ?? ' This is an example of ' ;
+ ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8 ENDFOR
ALIAS( )
Mengembalikan nama alias tabel dari area kerja yang ditentukan atau yang sedang aktif.
ALIAS([nWorkArea | cTableAlias])Contoh:
CLOSE DATABASES
OPEN DATABASE (‘d:\prod3\data\testdata’) USE mhsd3
CLEAR
? ALIAS( ) && Display the alias SELECT 0
USE mhsd3 AGAIN ALIAS MhsD3Fe ? ALIAS( ) && Display the alias
ALINES( )
Mengcopy setiap baris dalam ekspresi character atau field memo kedalam suatu baris karakter
menjadi array.
ALINES(ArrayName, cExpression [, lTrim] [cParseChar, ,… ,cParseChar])
Parameters
ArrayName, Nama array yang akan dibuat
CExpression, Ekspresi karakter atau field memo.
LTrim, Jika diisi .t. maka spasi kosong dihapus, sebaliknya .f. CParseChar, Menentukan karakter linefeed CHR(10), carried return
Contoh:
CLOSE DATABASES CLEAR
SET TALK OFF
OPEN DATABASE (‘d:\prod3\data\testdata') USE mhsd3
? ALINES(aMyarray,mhsd3.catatan,CHR(13)) && Displays 1 ? ALINES(aMyarray,mhsd3.catatan,".") && Displays 7 ? ALINES(aMyarray,mhsd3.catatan,",") && Displays 4 ? ALINES(aMyarray,mhsd3.catatan," ") && Displays 75 ? ALINES(aMyarray,mhsd3.catatan,".", ",") && Displays 10 ? ALINES(aMyArray,mhsd3.catatan) && Displays 1
? aMyArray(1)
ALLTRIM( )
Menghapus spasis kosong pada ekpresi karakter.
ALLTRIM(cExpression)Contoh:
CLEAR=AFONT(gaFontArray) && Array containing font names gnNumFonts= ALEN(gaFontArray) && Number of fonts IF gnNumFonts > 10
gnNumFonts = 10 && Display first 10 fonts ENDIF
FOR nCount = 1 TO gnNumFonts
? ALLTRIM(gaFontArray(nCount)) && Display font name ?? ' This is an example of ' ;
+ ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8 ENDFOR
APRINTERS( )
Menyajikan informasi nama printer yang disetup/diinstal dalam Windows Print Manager
kedalam suatu variabel memory
APRINTERS(ArrayName)
Contoh:
IF APRINTERS(gaPrinters) > 0 CLEAR
DISPLAY MEMORY LIKE gaPrinters ELSE
WAIT WINDOW 'No printers installed.' ENDIF