Anda di halaman 1dari 14

MODUL MICROSOFT VISUAL FOXPRO 6.

0
Oleh : Aslam Fatkhudin, S.Kom

Memulai Program Microsoft Visual FoxPro 6.0:


Cara Pertama :
• Double klik shortcut MS Visual FoxPro 6.0 yang terdapat pada desktop.
Cara Kedua :
• Klik tombol START  All Program  Microsoft Visual Studio 6.0  Microsoft Visual
FoxPro 6.0.
Cara Ketiga :
• Double klik file MS Visual FoxPro yang telah dibuat yang disimpan pada media
penyimpanan.
Maka akan tampil seperti gambar di bawah

Klik close this screen untuk menutup jendela welcome. Tampil Project Manager

Langkah pertama untuk membuat suatu program database adalah dengan membuat project.
Caranya dengan :
1. Mengklik FileNew.
2. Tampil Kotak Dialog New.
3. Lalu pilih ProjectKlik New.
4. Beri nama Project tersebut sesuai dengan yang dikehendaki.
Selanjutnya buat database itu sendiri dimana di dalamnya terdapat tabel-tabel yang diperlukan
untuk menyimpan data-data yang ada. Adapun caranya adalah :
1. Pada Project Manager seperti yang tampak pada gambar di atas kita buka menu Data
dengan mengklik tanda + yang terdapat disamping Data, didalamnya terdapat sub menu
Database.
2. Klik pada sub menu Database tersebut lalu klik New.
3. Tampil kotak dialog New Database yang terdapat dua pilihan, yaitu : Databse Wizard
(membuat database secara otomatis) dan New Database (membuat database secara
manual). Pada pembelajaran kali ini kita pilih New Database. Selesai kita membuat
Database kita buat tabel.

Selesai membuat tabel kita buat Relationships


Langkah-langkah membuat Tabel :
1. Pada Project Manager pilih sub menu Data.
2. Klik FreeTables.
3. Klik New  tampil Kotak Dialog New Table.
4. Klik New Table  tanpil perintah untuk memberi nama tabel dan menyimpan.
5. Buat Field dan tipe data yang dibutuhkan.
6. Klik OK.

Langkah-langkah membuat Relationship/Queries :


1. Pada Project Manager Pilih sub menu Data
2. Klik Quries
3. Klik New  Tampil Kotak Dialog New Query
4. Klik New Query  tampil Query Designer dan Add Table or View
5. Klik tabel yang dikehendaki lalu klik Add
6. Setelah selesai memasukkan semua tabel yang dikehendaki, tutup kotak dialog Add Table or
View dengan mengklik close pada kotak dialog tersebut
7. Atur Posisi tabel yang ada di kotak dialog Query Designer dengan cara mengklik drag (klik tahan
geser pada title tabel-nya).
8. Klik tahan Field yang sama untuk dipasangkan pada Tabel yang lain.
9. Simpan Queries tersebut

Selesai membuat Relationships kita buat form.


Langkah-langkah membuat form untuk menginputkan data :
1. Pastikan kita telah membuat tabel sebagai tempat untuk menampung data.
Misal : kita telah membuat tabel mahasiswa dengan nama tbMahasiswa.dbf dengan field-
field seperti tampak pada gambar di bawah.
2. Pastikan kita ingat field-field (name, type, width) yang ada pada tabel.
3. Buat Form yang isinya memuat object-object yang sesuai dengan field-field yang terdapat
pada tabel.
Misal seperti yang tampak pada gambar di bawah ini.

4. Object-object yang kita tempatkan pada form di atas, untuk lebih mudah dalam mengingat
maupun menelusuri apabila kita ingin mengedit, namanya diubah sesuai dengan objek untuk
field pengisianya. Misal objek txtbox untuk field “nim” kita beri nama “txtNIM”.
5. Untuk mengganti text pada Option1/Option2 agar sesuai dengan yang kita inginkan, maka
kita klik kanan lalu pilih edit, kemudian kita atur pada properti “Caption”.

6. Untuk mengisi text pada Combo Box, maka kita klik kanan lalu pilih Builder, tampil kotak
dialog Combo Box Builder, pastikan pilihan pada “1. List Item”. Pada Fill the List with:
pilih “Data Entered by hand”, lalu ketikkan pada Column1 pilihan-pilihan yang kita
kehendaki. Klik OK.
7. Atur property Object Grid untuk Delete Mark menjadi False (agar tidak bisa dihapus
melalui Object Grid), Read Only menjadi True (agar Object Grid hanya bisa dibaca) dan
Record Mark menjadi False (agar tidak bisa ditandai melalui Object Grid).
8. Tulis rumus-rumusnya.

Object : Form1  Procedure : Activate


public pw as string {karena kita membuat memasukkan object Optiongroup, maka kita
mendeklarasikan pilihannya tersebut dengan nama pw sebagai
string}
pw = "wanita" {dimana apabila pilihan pw tersebut tidak kita klik, maka secara
otomastis pilihan akan jatuh pada “wanita”}
thisform.txtNIM.setfocus {pada waktu form dijalankan, kursor aktif pada txtNIM}

Object : txtNIM  Procedure : Valid


local xNIM

xNIM = thisform.txtNIM.value
set order to NIM
if len (alltrim(xNIM))>10 {jika pengisian NIM lbh 10 digit,
messagebox ("NIM tdk boleh dari 10 digit",0+16,"check") muncul kotak pesan}
return .f.
else {selain itu jika pengisian NIM krg
if len (alltrim(xNIM))<1 dari 1 maka,
messagebox ("NIM tdk boleh kosong",0+16,"check") {muncul kotak pesan}
return .f.
endif
endif

seek xNIM {mencari NIM}


if found() {jika ditemukan maka,
messagebox ("NIM sudah ada",0+16,"Ganti NIM") {muncul kotak pesan}
set order to
return .f.
else
set order to
return .t.
endif

Object : Option1  Procedure : click


Pw = “Pria” {jika Option1 yang terdapat pada Optiongroup kita click, maka akan
terpilih “Pria”}
Object : Option2  Procedure : click
Pw = “Wanita” {jika Option1 yang terdapat pada Optiongroup kita click, maka akan
terpilih “Wanita”}

Object : cmdAwal  Procedure : click


Go Top {menuju ke data awal pada Grid}
Thisform.grdtbMahasiswa.setfocus

Object : cmdBerikutnya  Procedure : click


Skip {menuju ke data berikutnya dimana kursor aktif
Thisform.grdtbMahasiswa.setfocus berada pada Grid}

Object : cmdSebelumnya  Procedure : click


Skip -1 {menuju ke data sebelumnya dimana kursor aktif
Thisform.grdtbMahasiswa.setfocus berada pada Grid}

Object : cmdAkhir  Procedure : click


Go Bottom {menuju ke data terakhir pada Grid}
Thisform.grdtbMahasiswa.setfocus

Object : cmdSimpan  Procedure : click


local xnim, xNAMA, xAlamat, xTelp, xHp, xJurusan

xNIM = thisform.txtNIM.value {bahwa txtNIM sebagai xNIM}


xNAMA = thisform.txtNAMA.value {bahwa txtNAMA sebagai xNAMA}
xJurusan = thisform.Combo1.value {bahwa Combo1 sebagai xJurusan}
xAlamat = thisform.txtAlamat.value {bahwa txtAlamat sebagai xAlamat}
xTelp = thisform.txtTelp.value {bahwa txtTelp sebagai xTelp}
xHp = thisform.txtHp.value {bahwa txtHP sebagai xHp}

append blank {menginputkan data}


replace tbMahasiswa -> nim with xNIM {memindah ke tbMahasiswa pada Field nim
dengan data yang kita inputkan pada xNIM /
txtNIM}
replace tbMahasiswa -> nama with xNAMA
replace sex with pw
replace tbMahasiswa -> jurusan with xJurusan
replace tbMahasiswa -> alamat with xAlamat
replace tbMahasiswa -> telp with xTelp
replace tbMahasiswa -> hp with xHp

thisform.grdtbMahasiswa.refresh {Grid grdtbMahasiswa refresh}

with thisform {mengosongkan semua field setelah kita


.txtNIM.value="" mengklik tombol cmdSimpan}
.txtNama.value=""
.txtAlamat.value=""
.txtTelp.value=""
.txtHp.value=""
endwith

Object : cmdBatal  Procedure : click


with thisform {mengosongkan semua field setelah kita
.txtNIM.value="" mengklik tombol cmdBatal}
.txtNama.value=""
.txtAlamat.value=""
.txtTelp.value=""
.txtHp.value=""
endwith

Object : cmdKeluar  Procedure : click


Thisform.release
Langkah-langkah membuat form untuk mengedit data :

1. Buat Form misal seperti yang tampak pada gambar di atas.


2. Object-object yang kita tempatkan pada form di atas, untuk lebih mudah dalam mengingat
maupun menelusuri apabila kita ingin mengedit, namanya diubah sesuai dengan fungsinya.
3. untuk lebih mudah dan lebih cepat dalam membuat object-object label dan textbox inputan,
langkahnya dengan cara klik kanan pada area form yang kosong lalu pilih Data
Environment.

Klik tahan pada Fields, tarik ke area form yang ingin ditempati, lalu lepaskan.
4. Tambahkan Optiongroup2 (Sex) dan Combo1 (Jurusan) lalu atur property Visible-nya
menjadi False (agar tidak bisa terlihat pada waktu form dijalankan) serta tempatkan seperti
format form di atas.
5. Edit Caption Optiongroup1 (Cari) dan Optiongroup2 (Sex) - Option1 dan Option2 -
sesuai dengan format diatas / yang kita inginkan. (caranya seperti kita membuat pada Form
Inputan di atas).
6. Atur juga Combo Boxnya (caranya seperti kita membuat pada Form Inputan di atas).
7. Atur pula property object Grid seperti pada form inputan.
8. Atur properti Visible untuk tombol Simpan dan Batal menjadi False.
9. Tulis rumus-rumusnya:
Object : Form1  Procedure : Activate
public pw as string {karena kita membuat memasukkan object Optiongroup, maka kita
mendeklarasikan pilihannya tersebut dengan nama pw sebagai
string}
pw = "wanita" {dimana apabila pilihan pw tersebut tidak kita klik, maka secara
otomastis pilihan akan jatuh pada “wanita”}
thisform.txtNIM.setfocus {pada waktu form dijalankan, kursor aktif pada txtNIM}

Object : cmdCari  Procedure : click


if thisform.optiongroup1.value=1 then
set order to nim
set exact on
seek alltrim(thisform.txtCari.value)
if found() then
thisform.txtCari.value=nim
endif
thisform.refresh()
else thisform.optiongroup1.value=2 then
set order to nama
set exact on
seek alltrim(thisform.txtCari.value)
if found() then
thisform.txtCari.value=nama
endif
thisform.refresh()
endif

Object : Grid1  Procedure : AfterRowColChange


LPARAMETERS nColIndex
with thisform
.txtNim.refresh
.txtNama.refresh
.txtSex.refresh
.txtJurusan.refresh
.txtAlamat.refresh
.txtTelp.refresh
.txtHp.refresh
endwith

Object : txtNIM  Procedure : Valid


local xNIM

xNIM = thisform.txtNIM.value
set order to NIM
if len (alltrim(xNIM))>10 {jika pengisian NIM lbh 10 digit,
messagebox ("NIM tdk boleh dari 10 digit",0+16,"check") muncul kotak pesan}
return .f.
else {selain itu jika pengisian NIM krg
if len (alltrim(xNIM))<1 dari 1 maka,
messagebox ("NIM tdk boleh kosong",0+16,"check") {muncul kotak pesan}
return .f.
endif
endif

seek xNIM {mencari NIM}


if found() {jika ditemukan maka,
messagebox ("NIM sudah ada",0+16,"Ganti NIM") {muncul kotak pesan}
set order to
return .f.
else
set order to
return .t.
endif

Object : Option1 (pada Optiongroup2/Sex) Procedure : click


Pw = “Pria” {jika Option1 yang terdapat pada Optiongroup kita click, maka akan
terpilih “Pria”}

Object : Option2 (pada Optiongroup2/Sex) Procedure : click


Pw = “Wanita” {jika Option1 yang terdapat pada Optiongroup kita click, maka akan
terpilih “Wanita”}

Object : cmdAwal  Procedure : click


Go Top {menuju ke data awal pada Grid}
Thisform.grdtbMahasiswa.setfocus

Object : cmdBerikutnya  Procedure : click


Skip {menuju ke data berikutnya dimana kursor aktif
Thisform.Grid1.setfocus berada pada Grid}

Object : cmdSebelumnya  Procedure : click


Skip -1 {menuju ke data sebelumnya dimana kursor aktif
Thisform.Grid1.setfocus berada pada Grid}

Object : cmdAkhir  Procedure : click


Go Bottom {menuju ke data terakhir pada Grid}
Thisform.Grid1.setfocus

Object : cmdEdit  Procedure : click


with thisform
.cmdEdit.visible=.f.
.cmdSimpan.visible=.t.
.cmdBatal.visible=.t.
.txtNim.enabled=.t.
.txtNama.enabled=.t.
.txtSex.visible=.f.
.Optiongroup2.visible=.t.
.txtJurusan.visible=.f.
.combo1.visible=.t.
.txtAlamat.enabled=.t.
.txtTelp.enabled=.t.
.txtHp.enabled=.t.
endwith

Object : cmdSimpan  Procedure : click


local xnim, xNAMA, xAlamat, xTelp, xHp
local xJurusan

xNIM = thisform.txtNIM.value
xNAMA = thisform.txtNAMA.value
xJurusan = thisform.Combo1.value
xAlamat = thisform.txtAlamat.value
xTelp = thisform.txtTelp.value
xHp = thisform.txtHp.value
{tidak ada append blank karena fungsi dari append blank untuk memasukan data baru}
replace tbMahasiswa -> nim with xNIM
replace tbMahasiswa -> nama with xNAMA
replace sex with pw
replace tbMahasiswa -> jurusan with xJurusan
replace tbMahasiswa -> alamat with xAlamat
replace tbMahasiswa -> telp with xTelp
replace tbMahasiswa -> hp with xHp

thisform.Grid1.refresh

with thisform
.cmdEdit.visible=.t.
.cmdSimpan.visible=.f.
.cmdBatal.visible=.f.
.txtNim.enabled=.f.
.txtNama.enabled=.f.
.txtSex.visible=.t.
.optiongroup2.visible=.f.
.txtJurusan.visible=.t.
.combo1.visible=.f.
.txtAlamat.enabled=.f.
.txtTelp.enabled=.f.
.txtHp.enabled=.f.
endwith

Object : cmdBatal  Procedure : click


with thisform
.cmdEdit.visible=.t.
.cmdSimpan.visible=.f.
.cmdBatal.visible=.f.
.txtNim.enabled=.f.
.txtNama.enabled=.f.
.txtSex.visible=.t.
.optiongroup2.visible=.f.
.txtJurusan.visible=.t.
.combo1.visible=.f.
.txtAlamat.enabled=.f.
.txtTelp.enabled=.f.
.txtHp.enabled=.f.
endwith

Object : cmdHapus  Procedure : click


set delete on
dele
skip
thisform.grid1.refresh
thisform.grid1.setfocus

Object : cmdKeluar  Procedure : click


Thisform.release
Langkah-langkah membuat form untuk menginputkan data sewa (RELASI):
1. Pastikan kita telah membuat tabel sebagai tempat untuk menampung data.
Misal : kita telah membuat tabel mahasiswa dengan nama tbSewa.dbf dengan field-field
seperti tampak pada gambar di bawah.

2. Pastikan kita ingat field-field (name, type, width) yang ada pada tabel.
3. Buat Form yang isinya memuat object-object yang sesuai dengan field-field yang terdapat
pada tabel.
Misal seperti yang tampak pada gambar di bawah ini.
4. Object-object yang kita tempatkan pada form di atas, untuk lebih mudah dalam mengingat
maupun menelusuri apabila kita ingin mengedit, namanya diubah sesuai dengan objek untuk
field pengisianya. Misal objek txtbox untuk field “Kd_Sewa” kita beri nama “txtKdSewa”.
5. Untuk mengatur pada Combo Box NIM dan Kode Buku, maka kita klik kanan lalu pilih
Builder, tampil kotak dialog Combo Box Builder, pastikan pilihan pada “1. List Item”. Pada
Fill the List with: pilih “Fields from a table or view”, lalu pilih table yang kita kehendaki
pada “Database and Tables”, secara otomatis menampilkan field-field-nya pada “Available
fields”. Pilih field yang kita kehendaki. Klik OK.

6. Label-label yang terdapat di bawah Data Peminjam dan Data Buku akan tampil secara
otomatis jika kita memilih NIM atau Kode Buku pada Combo Box-nya.
7. Text Box untuk “Tanggal Kembali (txtTglKembali)” pilihan Enabled pada propertiesnya di
False.
8. Atur property Object Grid untuk Delete Mark menjadi False (agar tidak bisa dihapus
melalui Object Grid), Read Only menjadi True (agar Object Grid hanya bisa dibaca) dan
Record Mark menjadi False (agar tidak bisa ditandai melalui Object Grid).
9. Tulis rumus-rumusnya.

Object : Form1  Procedure : Activate


thisform.txtKdSewa.setfocus
thisform.txtTglPinjam.value=date()
thisform.txtTglKembali.value=date()

Object : txtKdSewa  Procedure : Valid


sele tbSewa
local xKdSewa

xKdSewa = thisform.txtKdSewa.value
set order to Kd_sewa
if len (alltrim(xKdSewa))>10
messagebox ("Kode Sewa tdk boleh dari 10 digit",0+16,"check")
return .f.
else
if len (alltrim(xKdSewa))<1
messagebox ("Kode Sewa tdk boleh kosong",0+16,"check")
return .f.
endif
endif

seek xKdSewa
if found()
messagebox ("Kode Sewa sudah ada",0+16,"Ganti")
set order to
return .f.
else
set order to
return .t.
endif

Object : cmbNIM  Procedure : InteractiveChange


sele tbmahasiswa
with thisform
.lblNama.caption=nama
.lblSex.caption=sex
.lblJurusan.caption=jurusan
.lblAlamat.caption=alamat
.lblTelp.caption=telp
.lblHp.caption=hp
endwith

Object : cmbBuku  Procedure : InteractiveChange


sele tbBuku
with thisform
.lblJudul.caption=judul
.lblPengarang.caption=pengarang
.lblPenerbit.caption=penerbit
endwith

Object : txtTglPinjam  Procedure : InteractiveChange


thisform.txtTglKembali.value=thisform.txtTglPinjam.value+3

Object : cmdSimpan  Procedure : click


sele tbSewa
local xkdSewa, xNIM, xBuku, xTglPinjam, xTglKembali

xkdSewa = thisform.txtKdSewa.value
xNIM = thisform.cmbNIM.value
xBuku = thisform.cmbBuku.value
xTglPinjam = thisform.txttglPinjam.value
xTglKembali = thisform.txtTglKembali.value

append blank
replace tbSewa -> kd_Sewa with xKdSewa
replace tbSewa -> NIM with xNIM
replace tbSewa -> Kode with xBuku
replace tbSewa -> Tgl_Pinjam with xTglPinjam
replace tbSewa -> Tgl_Kembali1 with xTglKembali
thisform.Grid1.refresh

with thisform
.txtKdSewa.value=""
.cmbNIM.value=""
.cmbBuku.value=""
.txttglPinjam.value=date()
.txtTglKembali.value=date()
endwith

Object : cmdBatal  Procedure : click


with thisform
.txtKdSewa.value=""
.cmbNIM.value=""
.cmbBuku.value=""
.txttglPinjam.value=date()
.txtTglKembali.value=date()
endwith

Object : cmdKeluar  Procedure : click


Thisform.release

Object : cmdAwal  Procedure : click


go top
thisform.grid1.refresh
thisform.grid1.setfocus

Object : cmdSebelumnya  Procedure : click


skip -1
thisform.grid1.refresh
thisform.grid1.setfocus

Object : cmdSesudah  Procedure : click


skip
thisform.grid1.refresh
thisform.grid1.setfocus

Object : cmdAkhir  Procedure : click


go bottom
thisform.grid1.refresh
thisform.grid1.setfocus

Anda mungkin juga menyukai