BAB I PENGENALAN MICROSOFT VISUAL FOXPRO

BAB I
PENGENALAN MICROSOFT VISUAL FOXPRO

I.1. Sekilas Tentang Visual Foxpro
Microsoft Visual Foxpro merupakan suatu program aplikasi yang menerapkan
sistem manajemen database relasional yang biasa disebut RDBMS (Relational Database
Manajemen System).
Pengertian database sendiri menurut kamus komputer (Microsoft Press,
ElexMedia Komputindo,1991) adalah segala hal yang berhubungan dengan pengolahan
data. Atau menurut Ir. Hartanto Kristanto dalam bukunya Konsep dan Perancangan
Database menyebutkan bahwa database adalah kumpulan file – file yang saling berelasi
yang ditunjukkan dengan kunci dari tiap file yang ada.

I.2. Mengenal Foxpro
Microsoft Visual Foxpro telah memiliki beberapa versi mulai dari versi 6.0
sampai yang sekarang versi 9.0. dan yang akan kita gunakan dalam modul kita kali ini
adalah versi 9.0.
Cara mengaktifkan Visual Foxpro :
 Klik Menu Start, Program, Ms. Visual Foxpro 9.0
Atau bisa juga langsung double klik pada icon Visual Foxpro 9.0 yang ada pada desktop
A. Jendela Visual Foxpro


Gambar I.1 Jendela Visual Foxpro 9.0

1

Keterangan :
1. Menu Bar, berisi pulldown menu dalam menjalankan fungsi – fungsi di Visual
Foxpro
2. ToolBar, berupa icon yang mewakili suatu fungsi
3. Jendela Project Manager, digunakan untuk mengorganisasikan file – file yang
sedang dikerjakan
4. Jendela Command, digunakan untuk menuliskan perintah – perintah berbasis
teks

B. Project Manager

Untuk membuat sebuah aplikasi atau program kita bisa membuatnya dalam
sebuah Project. Cara pembuatan Project adalah sebagai berikut :
 Klik Menu File, pilih New
 Klik option Project, klik New File

 Lalu Akan terbuka kotak dialog penyimpanan
 Tentukan letak Folder penyimpanan
 Beri nama projectnya
Sehingga terbuka sebuah Project Manager

Gambar I.2 Project Manager
Latihan :Buat lah sebuah Project dengan nama : Proj_MHS.pjx simpan di C:\mahasiswa

2

BAB II
PEMBUATAN APLIKASI

II.1 Pembuatan Database dan Table
 Langkah – langkah pembuatan Database :
 Klik pada Database, klik New, New Database

 Pilih folder penyimpanan dan ketik nama databasenya, Klik Save

 Setelah itu klik tanda + di Nama database yang baru saja anda buat

 Klik Tables, klik New, New Tables

3

 Pilih folder penyimpanan dan ketik nama tablenya, Klik Save
 Klik pada Nama Tables, klik Modify untuk merancang field yang dibutuhkan
 Pada Kotak Table Designer, ketikkan nama – nama field yang dibutuhkan.

 Te
nt
uk
an

juga tipe data danjangkauan dari masing – masing field
 Penulisan nama field tidak boleh menggunakan spasi, bisa terdiri dari huruf dan
angkan tetapi harus dimulai dengan huruf, tidak boleh mengandung karakter
khusus dan sebaiknya jangan terlalu panjang untuk memudahkan kita
mengingatnya
 Setelah itu klik tab Indexes lalu ketikan nama index dari file, pilih tipe index, klik
pada Expression, double klik di nama index dan ketik nama index nya.


4

 La
lu

klik Ok. Jika kita ingin mengisi secara langsung datanya maka pilih Yes jika
tidak NO

Latihan :
Buat database dengan nama data_mhs
Buat Tabel – table dibawah ini :
TABEL : table_mhs
Isikan 5 Record

Field
Name
Nim
Nama
Jurusan


Type
Character
Character
Character

Width
8
25
2

Ket
PK

TABEL : mata_kul
Isikan 5 Record

5

Field

Name
Kd_mk
Nm_mk
Jml_sks

Type
Character
Character
Numeric

Width
3
30
4

Ket
PK

TABEL : Nilai
Isikan 5 Record, kecuali Field Nilai dan Grade


Field
Name
Nim
Kd_mk
Absen
Tugas
UTS
UAS
Nilai
Grade

Type

Width

Ket

Character
Character

Numeric
Numeric
Numeric
Numeric
Numeric
Character

8
3
4
4
4
4
4
1

Regular
Regular

Command Windows :

Untuk Mengisi Field Nilai melalui command window
Repl All Nilai with ((0.1*Absen) + (0.2*Tugas) + (0.3*UTS) + (0.4*UAS))
Untuk Mengisi Field Grade melalui command window
Repl All Grade with iif(nilai < 60,"D",iif( nilai < 70,"C",iif(nilai < 80,"B","A")))
II. 2. Pembuatan Form
Langkah – langkah pembuatan Form :
 Klik tab Document, klik Form, Klik New, New Form

6

 Pilih folder penyimpanan dan ketik nama Formnya, Klik Save
 Jika Kita akan membuat sebuah form yang datanya diambil dari sebuah tabel kita bisa
gunakan data environment.
 Klik kanan pada form, Data Environment, pilih tabel nya, klik ok, klik close
 Kemudian Drag Fields yang ada di data environment, atur letak nya sesuai keinginan
Dalam pembuatan Form kita bisa menggunakan objek – objek yang ada pada toolbox
jika dibutuhkan

Latihan :
Buat Lah FORM Mahasiswa


 Pada Form Kosong, Klik Kanan pilih Data Environment, masukan semua field ke
form
 Buat command botton yang dibutuhkan
 Rubah properties Name pada command botton
Listing Program Form Mahasiswa
Form
7

Object : Form Procedure : Load
close databases
close table all
close indexes
set defa to c:\mahasiswa

use table_mhs
set order to tag nim

Object : Form


Procedure : Activate

thisform.BackColor=RGB(255,128,128)
thisform.tdkaktif()

Buat method Aktif, tdkaktif dan bersih

Object : Form

Procedure : Aktif

thisform.txtjurusan.Enabled=.T.
thisform.txtNama.Enabled=.T.
thisform.txtNim.Enabled=.T.

Object : Form Procedure : tdkaktif
thisform.txtjurusan.Enabled=.f.
thisform.txtNama.Enabled=.f.
thisform.txtNim.Enabled=.f.

NAVIGATOR
Object : CmdFirst

Procedure : Click

go top
messagebox("Udah Di awal record Nich !!",64,"Info")
thisform.Refresh()

8

Object : CmdPrev

Procedure : Click

SKIP -1
if bof()
go top
messagebox("Udah Di awal record Nich !!",64,"Info")
endif
thisform.Refresh()

Object : CmdNext

Procedure : Click

skip
if eof()
go bottom
messagebox("Udah Di akhir record Nich !!",64,"Info")
ENDIF
thisform.refresh

Object : CmdLast

Procedure : Click

go bottom
messagebox("Udah Di akhir record Nich !!",64,"Info")
thisform.Refresh()

Command

Object : CmdAdd

Procedure : Click

thisform.aktif()
APPEND BLANK
thisform.txtnim.SetFocus()
thisform.Refresh()

9

Object : CmdSave

Procedure : Click

replace nim WITH thisform.txtnim.Value
replace nama WITH thisform.txtnama.Value
replace jurusan WITH thisform.txtjurusan.Value
thisform.tdkaktif()
thisform.Refresh()

Object : Cmdbrowse

Procedure : Click

Browse

Object : CmdDelete

Procedure : Click

pesan=messagebox("Apakah yakin akan dihapus?",32+1,"Pesan")
if pesan=1
skip
go bottom
dele
pack
endif
thisform.refresh

Object : CmdExit

Procedure : Click

thisform.release

Buatlah Form berikut ini :
FORM Matakuliah

10

 Pada Form Kosong, Klik Kanan pilih Data Environment, masukan semua field ke
form
 Buat command botton yang dibutuhkan
 Buat Grid, klik kanan Builder, masukan semua field dari tabel matakuliah
 Rubah properties Name pada command botton
 Buat Listing Sama dengan Form Mahasiswa
 Pada Form Load gunakan Tabel matakuliah
 Buat Method baru dengan nama Tampil
Object : Form

Procedure : Tampil

With thisform
.grid1.recordsource="mata_kul"
.grid1.columncount=3
.grid1.column1.width=100
.grid1.column2.width=100
.grid1.column3.width=80

11

.grid1.column1.controlsource="mata_kul.kd_mk"
.grid1.column2.controlsource="mata_kul.nm_mk"
.grid1.column3.controlsource="mata_kul.jml_sks"

.grid1.column1.header1.caption="Kode Matakuliah"
.grid1.column2.header1.caption="Nama Matakuliah"
.grid1.column3.header1.caption="Jumlah SKS"

Endwith

Catatan: Pada listing program record navigator tambahkan beberapa listing sbb:
cmdfirst & cmdlast  thisform.tampil( ) dibawah go top/go bottom
cmdprev & cmdnext  thisform.tampil( ) & thisform.grid1.setfocus dibawah endif

Object : CmdAdd

Procedure : Click

thisform.aktif()
thisform.txtJml_sks.Value=0
thisform.txtKd_mk.Value=""
thisform.txtNm_mk.Value=""
thisform.txtkd_mk.SetFocus()
thisform.Refresh()

Object : CmdSave

Procedure : Click

SELECT mata_kul
SET ORDER TO tag kd_mk

SEEK ALLTRIM(thisform.txtKd_mk.Value)
IF FOUND()
replace kd_mk WITH thisform.txtkd_mk.Value
replace nm_mk WITH thisform.txtNm_mk.Value

12

replace jml_sks WITH thisform.txtJml_sks.Value
thisform.Refresh()
ELSE
APPEND BLANK
replace kd_mk WITH thisform.txtkd_mk.Value
replace nm_mk WITH thisform.txtNm_mk.Value
replace jml_sks WITH thisform.txtJml_sks.Value
thisform.Refresh()
ENDIF
thisform.tdkaktif()
thisform.Refresh()

Object : CmdEdit

Procedure : Click

thisform.aktif()
thisform.txtKd_mk.Enabled=.f.
thisform.Refresh()

Object : Cmddelete

Procedure : Click

pesan=messagebox("Apakah yakin akan dihapus?",32+1,"Pesan")
if pesan=1
delete
PACK
skip
go bottom
thisform.tampil()
endif
thisform.refresh

Object : CmdCari

Procedure : Click

set order to tag kd_mk

13

seek alltrim (thisform.txtcari.value)
with thisform
if found()
.txtkd_mk.value=mata_kul.kd_mk
.txtnm_mk.value=mata_kul.nm_mk
.txtjml_sks.value=mata_kul.jml_sks
.grid1.setfocus
else
messagebox("Data tidak ditemukan",64,"Cari data")
.txtcari.setfocus
endif
endwith

Buatlah Form berikut ini :
FORM NILAI

Object : Form Procedure : Load
close databases

14

close table all
close index
close all
set defa to c:\mahasiswa

select 1
use table_mhs
set order to tag nim

select 2
use mata_kul
set order to tag kd_mk

select 3
use table_nilai

Object : CboNim

Procedure : Click

with thisform
sele 1
set order to tag nim
seek alltrim(.cbonim.value)
if found()
.txtnama.value=table_mhs.nama
.refresh
else
messagebox("Data Tidak Ada",64,"Informasi")
endif
endwith

Object : CboKd_mk Procedure : Click
with thisform

15

sele 2
set order to tag kd_mk
seek alltrim(.cbokd_mk.value)
if found()
.txtnmmk.value=mata_kul.nm_mk
.refresh
else
messagebox("Data Tidak Ada",64,"Informasi")
endif
endwith

Object : CmdProses

Procedure : Click

thisform.txtnilai.Value=(thisform.txtabsen.value*0.1)+(thisform.txttgs.value*0.2)+
(thisform.txtuts.value*0.3)+(thisform.txtuas.value*0.4)
IF thisform.txtnilai.Value>=80
thisform.txtgrade.Value="A"
ELSE
IF thisform.txtnilai.Value>=70
thisform.txtgrade.Value="B"
ELSE
IF thisform.txtnilai.Value>=60
thisform.txtgrade.Value="C"
ELSE
IF thisform.txtnilai.Value>=50
thisform.txtgrade.Value="D"
ELSE
thisform.txtgrade.Value="E"
ENDIF
ENDIF
ENDIF
ENDIF

16

Object : CmdAdd

Procedure : Click

thisform.aktif()
thisform.txtJml_sks.Value=0
thisform.txtKd_mk.Value=""
thisform.txtNm_mk.Value=""
thisform.txtkd_mk.SetFocus()
thisform.Refresh()

Object : CmdSave

Procedure : Click

sele 3
appe blan
replace nim WITH thisform.cbonim.Value
replace kd_mk WITH thisform.cbokd_mk.Value
replace absen WITH thisform.txtabsen.Value
replace tugas WITH thisform.txttgs.Value
replace uts WITH thisform.txtuts.Value
replace uas WITH thisform.txtuas.Value
replace nilai WITH thisform.txtnilai.Value
replace grade WITH thisform.txtgrade.Value
thisform.Refresh()

Object : Cmdbrowse

Procedure : Click

Browse

Object : CmdExit

Procedure : Click

thisform.release

17

II.3. Pembuatan Local View
Langkah – langkah pembuatan Local View :
 Klik Tab All, klik tanda + pada Database, Klik Local Views, Klik New, Klik New
View
 Pilih Tabel yang akan dibuat View nya
 Jika kita memilih lebih dari satu tabel maka akan muncul Join condition untuk
membuat relasi dari tabel – tabelnya
 Pilih jenis relasinya, misal : Inner Joint
 Pada tab Field, pilih nama – nama field yang ingin kita tampilkan
 Klik pada Tab Group By jika kita menginginkan kondisi (kriteria) tertentu untuk
tampilan view
 Klik command Having untuk menuliskan kriteria nya
Contoh :

Gambar diatas menunjukan kriteria tampilan data dimana data akan menampilkan data
siswa yang memiliki nilai diatas 80 utuk matakuliah dengan kode 123

Latihan :
Buatlah Local View untuk menampilkan data – data mahasiswa yang memiliki Grade A
untuk semua matakuliah

18

II.4. Pembuatan Report
Langkah – langkah pembuatan Report dengan menggunakan Wizard :
 Klik Reports yang ada pada tab Document, Klik New, Report Wizard
 Pilih Report Wizard, klik Ok
 Pilih tabel yang akan dibuat Reportnya, klik tanda > untuk memasukkan datanya
 Ikuti Langkah – langkah pembuatannya
Langkah – langkah pembuatan Report dengan menggunakan Design:
 Klik Reports yang ada pada tab Document, Klik New, New Report
 Pilih folder penyimpanan, beri nama report nya, klik Save
 Klik kanan pada Report designer, pilih Data Environment
 Klik Kanan pada Data Environmet, Add, Klik Table yang akan dibuat reportnya, Add,
Close
 Drag field ke bagian detail dari desain report, atur, untuk nama field letakkan pada
bagian header, sedang isi data pada bagian footer
 Jika dibutuhkan kita bisa memberi garis pada tabel di report, untuk membuatnya anda
bisa memanfaatkan objek – objek yang ada pada Report Control
Latihan :
Buatlah Report Mahasiswa dengan nama rpt_mhs, report Matakuliah dengan nama
rptmata_kul dan report nilai dengan nama rptnilai dengan menggunakan wizard

FORM Report
FormCetakMhs, FormCetakMtkul dan FormCetakNilai

Object : CmdCetak

Procedure : Click
19

if thisform.optcetak.value=1
report form c:\mahasiswa\ rpt_mhs preview
else
report form c:\mahasiswa\rpt_mhs to printer prompt
endif
Catatan : untuk form cetak yang lain listing nya sama hanya tinggal dibedakan
pemanggilan namafile nya saja

II.5. Pembuatan Menu
Langkah – langkah :
Membuat Menu
 Klik tab Other, klik Menus, Klik New, Menu
 Buat isi Menu Utama atau level Menu Bar, contoh : File, Transaksi, Laporan, Exit
 Setelah itu buat submenu dari menu utamanya dengan mengklik tombol Create,
contoh pada File buat sub menu data siswa.
 Pada kotak Result pilih Command dan ketik do form “c:\nama path\nama form.scx”
 Untuk menu Exit, Resultnya bisa dengan 2 cara :
1. Procedure, kodenya  APPLICATION.ACTIVEFORM.RELEASE()
2. Command, kodennya  quit
Simpan Menu tersebut
Jadikan menu sebagai menu teratas, klik View, General Option, klik Cek Top-Level
Form, OK
Bangkitkan menu dengan klik Menu, Generate, Klik Generate.

Membuat Code Program
Klik tab Code, New
Ketikkan kode program berikut ini :
Set talk off
Set multilocks on
Set century on

20

Set date Italian
Set stat off
Set defa to c:\nama folder\
Do namamenu.mpr
_screen.caption = "Aplikasi Data Mahasiswa"
on shutdown quit
_screen.windowstate=2
read event
Setelah itu simpan kode program tersebut.
Klik kanan pada program tadi, klik Set Main

Latihan :
Buatlah Menu untuk Aplikasi data Mahasiswa

Membuat Form Utama
Buat sebuah Form, beri gambar sebagai background form dari properties Pictures
Rubah properties lainnya yaitu : Windows State : Maximize dan Windows Type : Modal
Lalu Ketikkan Listingnya :
Form

Load

Form

Destroy

Set defa to c:\nama folder

CLEAR events

Form

Run Form tersebut

Init

do menu.mpr with this,.t.

Mengkompile Projex
 Klik Tab Code
 Klik Build
 Pada Build option pilih Action Build Application
 Pada kotak Option pilih Recompile All Files, Display Errors
 Klik OK
BAB III

21

PENUTUP

Dari aplikasi sederhana yang telah diuraikan pada bab sebelumnya ada
beberapa ketentuan tidak tertulis dalam pembuatan aplikasi ini, dimana ketentuan ini
merupakan kesimpulan yang diambil oleh penulis dari hasil uji coba yang telah
dilakukan, diantaranya adalah :
1. Jika akan membuat form dengan sebuah database, sebaiknya gunakan
program yang full-programming atau dalam artian tidak menggunakan
koneksi database dari data environment karena akan menyulitkan jika kita
akan membuat validasi kode. Jika kunci dibuat Primary Key, utk validasi data,
tidak dapat menggunakan data environment. Solusi : buat metode tampil data
atau kunci diganti regular
2. Untuk combo yang ada dalam database, listing nya adalah listing searching,
sedangkan combo non database, menggunakan add item dan fungsi if
3. Untuk Append blank di cmd add, harus menggunakan data environment
(control source) sedangkan untuk append blank di cmd save, control source
tidak perlu di conect-kan
4. Untuk pembuatan menu tanpa form, top level nya tidak perlu dibuat
5. Beda Remove dan Delete pada project:REMOVE menghapus data pada
projectnya saja (file dalam folder masih ada). Sedangkan DELETE
menghapus keseluruhan file
6. Jika menggunakan data environment, tidak bisa menggunakan messagebox
pada validasi data
7. Untuk perhitungan tanggal, format Italian harus menggunakan listing untuk
merubah dari format tgl ke character lalu ke numeric => val(dtoc)
8. Untuk mengosongkan data dengan format tanggal adalah : txttgl.value=ctod("
")

DAFTAR PUSTAKA

22

Anoname, 2003, Modul Microsoft Visual foxpro 6.0, AMIK BSI, Jakarta

Anome, 2002, Menggunakan Visual Foxpro 7.0, Andi Offset, Yogyakarta

Ir. Harianto Kristianto, 2002, Konsep dan Perancangan Database, Andi Offset,
Yogyakarta

23