You are on page 1of 23

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 Type Width Ket


Name
Nim Character 8 PK
Nama Character 25
Jurusan Character 2

TABEL : mata_kul
Isikan 5 Record

5
Field Type Width Ket
Name
Kd_mk Character 3 PK
Nm_mk Character 30
Jml_sks Numeric 4

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

Field Type Width Ket


Name
Nim Character 8 Regular
Kd_mk Character 3 Regular
Absen Numeric 4
Tugas Numeric 4
UTS Numeric 4
UAS Numeric 4
Nilai Numeric 4
Grade Character 1

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 Init Run Form tersebut
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

You might also like