microsoft visual foxpro - · pdf filemodul microsoft visual foxpro 6.0 oleh : aslam fatkhudin,...
Post on 05-Feb-2018
331 Views
Preview:
TRANSCRIPT
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 File�New.
2. Tampil Kotak Dialog New.
3. Lalu pilih Project�Klik 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
top related