Anda di halaman 1dari 8

Visual FoxPro

Konsep dasar pembuatan program berorientasi object adalah :

Windows Command :

Membuat Database dan Tabel :


Pada jendela project pilih tab Data, click Database selanjutnya click New. Untuk membuat tabel click Tables
selanjutnya click New atau jika menginginkan tabel bebas tidak dalam sebuah database pilih Free Tables selanjutnya
click New.

Pemrograman Database Hal 1 dari 8 Ajib Susanto, M.Kom


Melengkapi Form dengan program dan prosedur :

Textbox

OptionGroup

Command

Grid

Mebuat Grid
Pilih Icon Grid, buat grid seperti pada gambar di atas, kemudian click kanan pada grid dan pilih builder,
sehingga tampak tampilan seperti di bawah ini :

Kemudian pilih database dan tabelnya, dan selanjutnya pilih field-field apa saja yang akan ditampilkan
pada grid, OK untuk mengakhirinya.

Membuat Prosedur
Pilih menu Form, pilih New Method, selanjutnya akan tampak tampilan seperti di bawah ini :

Untuk mengisi prosedur dengan program cari nama prosedur pada properties form paling bawah,
kemudian double click.

Pemrograman Database Hal 2 dari 8 Ajib Susanto, M.Kom


Memilih Event
Memilih event yang akan dipakai disesuaikan dengan kebutuhan program yang akan dijalankan pada
masing event, baik pada textbox, commandbutton, grid dan lain-lainnya.
Event-event yang sering dipakai :
Form : Load, Unload, Activate, Init
Textbox : Setfocus, Lostfocus, Gotfocus
Commandbutton : Click

Dari form di atas kita lengkapi dengan program dari event pada form dan prosedur-prosedur yang dibuat
sendiri, sebagai berikut :

Form1-Load
close all
set talk off
set dele on
clear
public pil
use hmti_data!anggota
set order to anggotax

Form1-UnLoad
Close data all

Form1-Avtivate
thisform.aktif(.f.,.f.,.f.,.f.,.f.,.f.,.f.)
thisform.tombol(.t.,.t.,.t.,.t.,.t.,.f.,.t.,.t.,.t.,.f.,.t.)
thisform.baca_data()
thisform.cg2.c5.setfocus()

Prosedur-Aktif
para a1,a2,a3,a4,a5,a6,a7
with thisform
.t1.enabled=a1
.t2.enabled=a2
.t3.enabled=a3
.t4.enabled=a4
.t5.enabled=a5
.t6.enabled=a6
.t7.enabled=a7
endwith

Prosedur-Tombol
para t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11
with thisform
.cg1.c1.enabled=t1
.cg1.c2.enabled=t2
.cg1.c3.enabled=t3
.cg1.c4.enabled=t4
.cg2.c5.enabled=t5
.cg2.c6.enabled=t6
.cg2.c7.enabled=t7
.cg2.c8.enabled=t8
.cg2.c9.enabled=t8
.cg2.c10.enabled=t10
.cg2.c11.enabled=t11
endwith

Pemrograman Database Hal 3 dari 8 Ajib Susanto, M.Kom


T3-Gotfocus
if thisform.t2.value=" "
messagebox("NIM harus diisi",0+16,"Peringatan")
thisform.t2.setfocus()
return
endi

if pil=1
mcari=uppe(thisform.t2.value)
seek mcari
if found()
messagebox("NIM sudah ada",48,"Ulangi")
thisform.t2.value=space(14)
thisform.t2.setfocus()
endi
endif

C1-Click
go top
thisform.baca_data()
thisform.refresh()

C2-Click
skip -1
if bof()
go top
endif
thisform.baca_data()
thisform.refresh()

C3-Click
skip
if eof()
go bott
endif
thisform.baca_data()
thisform.refresh()

C4-Click
Go bott
thisform.baca_data()
thisform.refresh()

C5-Click
pil=1
thisform.aktif(.f.,.t.,.t.,.t.,.t.,.t.,.t.)
thisform.tombol(.f.,.f.,.f.,.f.,.f.,.t.,.f.,.f.,.f.,.t.,.f.)
thisform.kosong()
thisform.no_urut()
thisform.t2.setfocus()

C6-Click
if empty (thisform.t2.value)
messagebox("NIM harus diisi",0+16,"Peringatan")
thisform.t3.enabled=.f.
return
endif

Pemrograman Database Hal 4 dari 8 Ajib Susanto, M.Kom


if pil=1
appen blank
endif
repl no_form with thisform.t1.value
repl nim with thisform.t2.value
repl nama with thisform.t3.value
repl alamat with thisform.t4.value
repl kota with thisform.t5.value
repl phone with thisform.t6.value
repl jen_kel with thisform.t7.value
thisform.refresh()
thisform.tombol(.t.,.t.,.t.,.t.,.t.,.f.,.f.,.f.,.f.,.t.,.f.)
thisform.aktif(.f.,.f.,.f.,.f.,.f.,.f.,.f.)
thisform.cg2.c5.setfocus()

C7-Click
pil=2
thisform.tombol(.f.,.f.,.f.,.f.,.f.,.t.,.f.,.f.,.f.,.t.,.f.)
thisform.aktif(.f.,.f.,.t.,.t.,.t.,.t.,.t.)
thisform.t3.setfocus()

C8-Click
kdtom=messagebox("Yakin menghapus Record ini ?",4+64,"Konfirmasi")
if kdtom=7
recall
else
dele
endif
thisform.refresh()
go top
thisform.baca_data()

C10-Click
thisform.aktif(.f.,.f.,.f.,.f.,.f.,.f.,.f.)
thisform.tombol(.t.,.t.,.t.,.t.,.t.,.f.,.t.,.t.,.t.,.f.,.t.)

C11-Click
thisform.release()

Form1-No_Urut
if reccount()=0
thisform.t1.value='0000001'
else
go bott
nop=val(no_form)+1
nos=ltrim(str(nop))
pj=len(nos)
thisform.t1.value=left('0000000',7-pj)+nos
endif

Pemrograman Database Hal 5 dari 8 Ajib Susanto, M.Kom


Membuat Laporan
Dari jendela project pilih document, report, akan tampak tampilan sebagai berikut :

Kemudian pilih new untuk membuat report baru, selanjutnya pilih report wizard yang diikuti dengan
pemilihan nama database dan nama tabel, serta field apa yang akan ditampilkan, tampak tampilan
dibawah ini:

Untuk pilihan-pilihan selanjutnya sesuaikan dengan kebutuhan laporan yang diinginkan, seperti bentuk
laporan, urut berdasarkan apa, bentuk kertas landscape atau portrait, sampai pada pilihan terakhir yaitu
finish dan beri nama file report terus click SAVE.
Untuk memperbaiki dan mendesain supaya lebih baik, pada jendela project, document, report, pilih nama
report dan click modify.

Membuat Variabel dan Rumus Pada Report


Pilih pada menu Report, Variable, kemudian akan tampak tampilan seperti di bawah ini:

Pemrograman Database Hal 6 dari 8 Ajib Susanto, M.Kom


Sebagai contoh untuk membuat tampilan “Laki-laki dan Perempuan” pada jenis kelamin, setelah memberi
nama variabel dalam hal ini namanya “jenis” pada value to store diisikan perintah sebagai berikut :

iif( anggota.jen_kel=1,"Laki-laki","Perempuan")

Sebagai contoh lagi untuk membuat nomor urut, nama variabelnya “nom” pada value to store diisikan
perintah sebagai berikut : nom+1
Kemudian untuk memasukkan field atau variabel ke dalam report, pilih icon field pada toolbar, apabila icon
field belum ada aktifkan toolbar pada menu view, toolbar, report control.

Membuat Menu
Pilih menu other pada project, kemudian clik new, menu akan tampak tampilan sebagai berikut :

Selanjutnya tinggal mengisi menu-menu apa yang akan dibuat, jika masing-masing menu mempunyai
submenu, pilih result submenu untuk menambahkan submenunya, untuk mengeksekusi sebuah form atau
report pilih result command, jika sebuah menu berisi perintah-perintah atau program, pilih result procedure.
Sebagai contoh mengeksekusi form anggota:
Do form fanggota.scx
Mengeksekusi laporan anggota :
Report form langgota.frx preview
Contoh untuk prosedure, pada menu exit :
kdtom=messagebox("Yakin Keluar dari System ?",4+16,"Konfirmasi")
if kdtom=6
close all
clea all
release all
clea events
endif
Setelah menu selesai dibuat, pada menu view pilih generate, dan pilih option top level form, karena menu
ini akan dipanggil dan ditempelkan pada form utama sebagai pengendali form-form yang lain, akan tampak
tampilan seperti di bawah ini :

Pemrograman Database Hal 7 dari 8 Ajib Susanto, M.Kom


Selanjutnya pilih option menu, generate dan menyimpan file menu, menu1.mnx¸ terus di generate menjadi
file menu1.mpr.
Langkah selanjutnya adalah membuat program pada jendela project, code, programnya sebagai berikut :
set talk off
set centu on
set date ital
set dele on
close all
clea prog
do form fmenu.scx
read events
Langkah terakhir adalam membuat form FMENU untuk memanggil menu yang telah kita buat, event yang
digunakan adalah INIT :

Form1.Init
do menu1.mpr with this,.t.

Untuk menjalankan menu pada jendela project, code, program, pilih file program kemudian pilin RUN, atau
dijalankan dari form FMENU.SCX.

Yang perlu diperhatikan :


Pada FMENU.SCX rubah properties SHOWWINDOWS menjadi 2 – AS Top Level, karena akan dijalankan
pada TOP LEVEL, sedang untuk form-form lainnya, properties SHOWWINDOWS menjadi 1 – In Top Level,
karena akan dijalankan di dalam TOP LEVEL, menempel pada form utama.

Membentuk File EXE


Pada jendela project, code, program, file program dirubah set menjadi SET MAIN pada menu project, set
main, selanjutnya pada jendela project, code click BUILD, akan tampak tampilan sebagai berikut :

Membuat File Setup


Tutup semua aplikasi, pada menu TOOL, pilih Wizard, setup, akan tampak tampilan seperti dibawah ini :

Ikuti dan pilih sesui dengan kebutuhan sampai tahap terakhir, FINISH.

Pemrograman Database Hal 8 dari 8 Ajib Susanto, M.Kom

Beri Nilai