modul praktikum foxpro
TRANSCRIPT
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
TABEL : mata_kul
Isikan 5 Record
Field Name
Type Width Ket
Nim Character 8 PKNama Character 25Jurusan Character 2
5
TABEL : Nilai
Isikan 5 Record, kecuali Field Nilai dan Grade
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
Field Name
Type Width Ket
Kd_mk Character 3 PKNm_mk Character 30Jml_sks Numeric 4
Field Name
Type Width Ket
Nim Character 8 RegularKd_mk Character 3 RegularAbsen Numeric 4Tugas Numeric 4UTS Numeric 4UAS Numeric 4Nilai Numeric 4Grade Character 1
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
Set defa to c:\nama folder
Form Init
do menu.mpr with this,.t.
Form Destroy
CLEAR events
Run Form tersebut
21
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
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
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