Sabtu, 06 Oktober 2012

Makalah Pembuatan Program Dengan Menggunakan Foxpro



BAB I
PENDAHULUAN

Pemprograma visual 1 beriontasi objek atau lebih di kenal dengan objeck oriented programan (OOP) yang merupakan cara berpikir atau pandangan baru untuk membuat / memodifikasi system atau program. Perancangan program tertrukstur atau prosudural sangat memperhatikan aspek IPO (input process Output)tetapi OOP lebih menekakan pada hasil (output). Hal ytang perlu di perhatikan pada perancangan program berontasiobjek adalah untuk menentukan objek dan mengklasifikasikan objek dengan tepat dalam kelas-kelas serta menurunkan kelas-kelas(inherintance).

Objeck
Objeck adalah suatu bentuk baik nyata atau tak nyata  seperti manusia, hewan, tumbuhan, benda konsep aliran yang merupakan instaisasi atau turunan langsung dari kelas atau biasa diistilah akan dengan entity atau enitas . Objeck merupakan hal penting dalam OOP pada visual foxpro ,form serta kotak teks adalah contoh objeck yang biasa dilibatkan dalam membuat program aplikasi.
Class
Kelas adalah kumpulan objek-objek yang memiliki kemiripan perilaku (method),cirri atau karakteristik (property).
Method
Method adalah perilaku (behavior) dari objeck atau kelas tertentu
Contruktor
Contruktor adalah fungsi yang dideklarasikan (diperkenalkan) atau di definisikan di dalam kelas. Constructor harus mempunyai nama sama dengan nama fungsinya.
Properties
Properti adalah cirri yang dimiliki oleh suatu objeck. Property ini juga berfungsi sebagai pembeda objek satu dengan yang lainnya dalam kelas Yang sama.
Variable
Variable adalah tempat penampung data sementara yang dalam pemprograman objeck biasa di sebut data sedagkan dalam pemprograman prosedur sering disebut variable
Data
Data adalah istilah lain dari variable pada OOP atau PBO (pemprograman Berurentasi Objeck) dan dapat juga di sebut field

BAB II
LANDASAN TEORI

a) Project
Project adalah sekumpulan modul. Jadi project adalah program aplikasi tersendiri. Project disimpan file yang berinteraksi .pjx. File ini menyimpan seluruh komponen database, table, query, report kode program, termasuk pilihan project, Data Environment,  file EXE dan segala sesuatu yang berhubungan dengan proyek.
b) Form
Form adalah suatu obyek yang dipakai sebagai tempat bekerja   program aplikasi. Form berbentuk jendela dan dapat dibayangkan sebagai kertas atau meja kerja yang dapat dilukisi atau diletakkan ke dalamnya obyek-obyek lain.
c) Toolbar
Toolbar adalah kotak alat yang berisi icon-icon untuk memasukkan  obyek-obyek tertentu ke dalam jendela form.
d) Properties
Properties digunakan untuk menentukan pengaturan suatu obyek. Suatu obyek biasanya mempunyai beberapa properties yang dapat diatur dalam jendela properties.
e) Kode Program
Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan jika suatu obyek dijalankan. Kode program ini akan mengontrol dan menentukan jalannya suatu obyek.
Komponen-komponen dari Pemograman berorientasi objek contohnya Microsoft visual foxpro 8.0  dapat dilihat pada gambar 2.2. berikut :














Gambar 2.2. Loading awal Pemograman berorientasi objek contohnya Microsoft Visual Foxpro 8.0












Gmbar 2.3. Contoh Komponen-komponen Microsoft visual foxpro 8.0


1. Komponen control toolbox yang terdapat dalam Pemograman berorientasi objek  yaitu  Microsoft Visual Foxpro 8.0
Komponen-komponen dari control toolbox yang terdapat pada  Microsoft Visual Foxpro 8.0 dapat dilihat pada tabel 2.6. ini :
Tabel 2.6. Komponen control toolbox Microsoft objek

No Gambar Nama Kontrol Keterangan
1. Select Objects Untuk memilih objek/kontrol yang digunakan



2. View Classes Untuk menampilkan kontrol lainnya, jika diklik maka muncul pilihan menu :
Add, menambahkan kontrol baru
Standard, menampilkan kontrol standar
ActiveX Controls, menampilkan kontrol activeX
3. Label Kontrol Label



4. Text Box Kotak Text untuk menampung masukan (input) program



5. Edit Box Untuk menampilkan field Memo



6. Command Button Tombol Perintah



7. Command Group Kumpulan Tombol Perintah dalam satu kendali



8. Option Group Kumpulan Kontrol /Objek yang menentukan alternatif pilihan



9. Check Box Kotak pilihan



10. Combo Box Kotak pilihan layar bergulung



11. List Box Menampilkan kotak /Daftar pilihan



12. Spinner Kontrol / Object yang berfungsi untuk menaikkan /menurunkan nilai /Value Object secara otomatis



13. Grid Kontrol yang berfungsi untuk menampilkan isi record suatu table



14. Image Untuk menampilkan gambar



15. Timer Pengatur pemrosesan suatu kegiatan berdasarkan waktu tertentu



16. Page Frame Kontrol yang berfungsi membuat halaman dalam suatu form



17. AxtiveX Control Kontrol ActiveX



18. ActiveX Bound Control Kontrol ActiveX dengan batasan tertentu



19. Line Kontrol untuk membuat garis



20. Shape Kontrol untuk membuat objek kotak, lonjong, lingkaran dan lainnya



21. Container Kontrol untuk menampung beberapa objek /kontrol di dalamnya



22. Separator Batas pemisah antar kontrol



23. Hyperlink Untuk membuat hyperlink



24. Builder Lock Untuk menampilkan /mengembalikan object secara otomatis



25. Button Lock Mengembalikan kontrol yang telah terkunci untuk penambahan beragam kontrol (Adding Multiple Control)



2. Keistimewaan Pemograman berorientasi objek dalam Microsoft Visual Foxpro 8.0
Beberapa keistimewaan dari pemrograman berorientasi objek dangan Microsoft Visual Foxpro 8.0 tersebut dibandingkan dengan Microsoft Visual Foxpro 6.0 adalah:
a. Dapat menyajikan data dalam bentuk tiga dimensi.
b. Sudah mendukung file animasi (animation).
c. Mempunyai tingkat fleksibilitas Object Link Embedded (OLE) yang makin besar.
d. Menyediakan komponen document view window, class browser, object browser, task pane, dan toolbox pada komponen toolbars standard.
Perancangan Database dan Table
a. Merancang Project
1) Klik Menu File, Pilih New, sehingga Muncul tampilan Window
New seperti berikut :












Gambar 2.4. Window New Project
2) Pilih Option Project, dan Klik New File, untuk merancang dan menyimpan Project yang dirancang, seperti  yang terlihat pada gambar berikut ini :














Gambar 2.5. Window Create Project
3) Ketik Nama Projectnya, Misalnya PrjPajak dan Klik Save, maka akan tampil Window Project Manager seperti gambar berikut ini.












Gambar 2.6. Window Project Manager


Gambar 2.10. Window Create Table

BAB III
PROJECK MANAGER
1. Pertam kita membuat projeck dengan cara buka program foxpro kemudian plih new lalu plih projeck,  kemidian save projek seperti in








2. Lalu kita plih database setelah selesai save kita membuat table datadatabase  seperti gambar di bawah ini










3. Kemudian kita membuat field database listrik seperti dibawah ini








4. Kemudian kita membuat tabel database kost seperti di bawah in











5. Selesai sudah pembuatan database knios-kosan
2.  pembuatan form penginputan
Pertama kita membuat form untuk penginputan penghuni seperti gambar di bawah ini













Listing: form refresh Listing: form init
thisform.no31.Enabled= .F.
thisform.nama31.Enabled= .F.
thisform.jenkel31.Enabled= .F.
thisform.asal31.Enabled= .F.
thisform.menikah.Enabled= .F.
thisform.jum31.Enabled= .F.
thisform.agama31.Enabled= .F.
thisform.ket31.Enabled= .F.

thisform.save31.Enabled= .f.
thisform.can31.Enabled= .f.
thisform.new31.Enabled= .t.
thisform.edit31.Enabled= .t.
thisform.exit31.Enabled= .t.
thisform.Next31.Enabled=.t.
thisform.back31.Enabled= .t.

thisform.no31.SetFocus()
PUBLIC hayalan

SET DELETED ON

Listing: New click Listing: Edit click
hayalan=.t.
thisform.no31.Enabled= .t.
thisform.nama31.Enabled= .t.
thisform.asal31.Enabled= .t.
thisform.jenkel31.Enabled= .t.
thisform.menikah.Enabled= .T.
thisform.agama31.Enabled= .T.
thisform.ket31.Enabled= .t.

thisform.save31.Enabled= .T.
thisform.can31.Enabled= .T.
thisform.new31.Enabled= .F.
thisform.edit31.Enabled= .F.
thisform.exit31.Enabled= .F.
thisform.Next31.Enabled=.F.
thisform.back31.Enabled= .F.

thisform.no31.Value=''
thisform.nama31.Value=''
thisform.asal31.Value=''
thisform.agama31.Value=''
thisform.jenkel31.Value=0
thisform.ket31.Value=''

thisform.no31.SetFocus hayalan=.f.
thisform.no31.enabled= .T.
thisform.nama31.Enabled= .f.
thisform.asal31.Enabled= .f.
thisform.agama31.Enabled= .t.
thisform.jenkel31.Enabled= .t.
thisform.ket31.enabled= .T.
thisform.menikah.Enabled= .T.

thisform.save31.Enabled= .T.
thisform.can31.Enabled= .T.

thisform.new31.Enabled= .F.
thisform.edit31.Enabled= .F.
thisform.del31.Enabled= .F.
thisform.next31.Enabled= .F.
thisform.back31.Enabled= .F.

thisform.no31.Value=no
thisform.nama31.value=nama_peng
thisform.asal31.value=asal
thisform.agama31.value=agama
thisform.jenkel31.value=jenkel
thisform.ket31.value=keterangan
thisform.menikah.value=status


thisform.no31.SetFocus

Listing: save click Listing: next click
IF EMPTY(thisform.no31.Value) .or. ;
EMPTY(thisform.nama31.Value) .or. ;
EMPTY(thisform.asal31.Value) .or. ;
EMPTY(thisform.agama31.Value) .or. ;
EMPTY(thisform.jenkel31.Value) .or. ;
EMPTY(thisform.menikah.Value) .or. ;
EMPTY(thisform.ket31.Value) .or. ;
EMPTY(thisform.jum31.Value)
MESSAGEBOX("ISI DATA DENGAN LENGKAP!",0,48,"warning!")
thisform.no31.SetFocus
RETURN
ENDIF
IF hayalan
APPEND BLANK
ENDIF
replace no WITH thisform.no31.Value
replace nama_peng WITH thisform.nama31.Value
replace asal WITH thisform.asal31.Value
replace agama WITH thisform.agama31.Value
replace keterangan WITH thisform.ket31.Value

IF thisform.menikah.Value=1
REPLACE status WITH .T.
ELSE
replace status WITH .F.
endif
SKIP +1
DO CASE
CASE EOF()
pesan = MESSAGEBOX('terakhir!'+CHR(13)+'kembali keatas?',4+64,'INFO!')
IF pesan=6
GO TOP
ELSE
GO bottom
ENDIF
ENDCASE
thisform.Refresh()

Listing: Back click Listing: delete click
SKIP -1
DO CASE
CASE BOF()
pesan = MESSAGEBOX('pertama!'+CHR(13)+'kembali keterakhir?',4+64,'INFO!')
IF pesan=6
GO BOTTOM
ELSE
GO TOP
ENDIF
ENDCASE
thisform.Refresh() LOCAL pesan,rec
rec=RECNO()
pesan=MESSAGEBOX("apakah anda ingin hapus?",4+32+256,"warning!")
IF pesan=6
DELETE
ENDIF
GOTO rec
thisform.grid1.SetFocus()
thisform.Refresh()
return

Listing: cancel click Listing: exit click
thisform.Refresh thisform.Release

Pembuatan form bayar listrik










Listing: form refresh Listing: form                              init
thisform.no31.Enabled= .F.
thisform.nama31.Enabled= .F.
thisform.kul31.Enabled= .F.
thisform.mes31.Enabled= .F.
thisform.tv31.Enabled= .F.
thisform.kom31.Enabled= .F.
thisform.lap31.Enabled= .F.
thisform.disk31.Enabled= .F.
thisform.res31.Enabled= .F.
thisform.set31.Enabled= .F.
thisform.tot31.Enabled= .F.
thisform.kip31.Enabled= .F.

thisform.save31.Enabled= .F.
thisform.can31.Enabled= .F.
thisform.new31.Enabled= .T.
thisform.exit31.Enabled= .T.
thisform.Next31.Enabled=.T.
thisform.back31.Enabled= .T.


thisform.kul31.setfocus
PUBLIC hayalan

SET DELETED ON

Listing: new                              click Listing:save                              click
hayalan=.t.
thisform.no31.Enabled= .t.
thisform.nama31.Enabled= .f.
thisform.kul31.Enabled= .t.
thisform.mes31.Enabled= .t.
thisform.tv31.Enabled= .t.
thisform.kom31.Enabled= .t.
thisform.lap31.Enabled= .t.
thisform.disk31.Enabled= .t.
thisform.res31.Enabled= .t.
thisform.set31.Enabled= .t.
thisform.tot31.Enabled= .f.
thisform.kip31.Enabled= .T.

thisform.save31.Enabled= .T.
thisform.can31.Enabled= .T.
thisform.new31.Enabled= .F.
thisform.exit31.Enabled= .F.
thisform.Next31.Enabled=.F.
thisform.back31.Enabled= .F.

thisform.kul31.setfocus

thisform.no31.Value=''
thisform.nama31.Value=''

SELECT listrik
SET ORDER TO tag no
IF SEEK (ALLTRIM(thisform.no31.Value))
MESSAGEBOX('orang SUDAH ADA!',64,'INFO!')
RETURN
ELSE
APPEND BLANK
replace total WITH thisform.tot31.Value
replace NO wITH thisform.NO31.Value
replace nama_peng WITH thisform.nama31.Value
IF thisform.kul31.Value=1
replace kulkas WITH .T.
ELSE
replace kulkas WITH .F.
ENDIF
IF thisform.mes31.Value=1
replace mesin_cuci WITH .T.
ELSE
replace mesin_cuci WITH .F.
ENDIF
IF thisform.tv31.Value=1
replace tv WITH .T.
ELSE
replace tv WITH .F.
ENDIF
IF thisform.kom31.Value=1
replace komputer WITH .T.
ELSE
replace komputer WITH .F.
ENDIF
IF thisform.lap31.Value=1
replace laptop WITH .T.
ELSE
replace laptop WITH .F.
ENDIF
IF thisform.disk31.Value=1
replace diskpenser WITH .T.
ELSE
replace diskpenser WITH .F.
ENDIF
IF thisform.res31.Value=1
replace rescucer WITH .T.
ELSE
replace rescucer WITH .F.
ENDIF
IF thisform.set31.Value=1
replace setrika WITH .T.
ELSE
replace setrika WITH .F.
ENDIF
IF thisform.kip31.Value=1
replace kipas WITH .T.
ELSE
replace kipas WITH .F.
ENDIF
ENDIF
thisform.Refresh()

Listing: next                              click Listing: back                              click
SKIP +1
DO CASE
CASE EOF()
pesan = MESSAGEBOX('dibawah!'+CHR(13)+'pergi keatas?',4+64,'INFO!')
IF pesan=6
GO TOP
ELSE
GO bottom
ENDIF
ENDCASE
thisform.Refresh() SKIP -1
DO CASE
CASE BOF()
pesan = MESSAGEBOX('diatas!'+CHR(13)+'pergi kebawah?',4+64,'INFO!')
IF pesan=6
GO BOTTOM
ELSE
GO TOP
ENDIF
ENDCASE
thisform.Refresh()

Listing: print                              click Listing: preview                              click
REPORT FORM "g:\tugasQ\report_listrik.frx" TO PRINTER REPORT FORM "g:\tugasQ\report_listrik.frx" TO listrik PREVIEW

Listing: Delete                              click Listing: setup                              click
LOCAL pesan,rec
rec=RECNO()
pesan=MESSAGEBOX("apakah anda ingin hapus?",4+32+256,"warning!")
IF pesan=6
DELETE
ENDIF
GOTO rec
thisform.grid1.SetFocus()
thisform.Refresh()
return xprint=GETPRINTER()
SET PRINTER TO NAME (xprint)
if.not.empty(xprint)
ELSE
MESSAGEBOX("Printer Not Found!",48,"INFO")
ENDIF

Listing: cancel                             click Listing: exit                             click
thisform.Refresh thisform.Release

Pembuatan form biaya kos kosan












Listing: form                             refresh Listing: form                             init
thisform.no31.Enabled= .f.
thisform.nama31.Enabled= .f.
thisform.bia31.Enabled= .f.
thisform.Biay31.Enabled= .f.
thisform.alamat31.Enabled= .f.
thisform.ket31.Enabled= .f.

thisform.save31.Enabled= .f.
thisform.can31.Enabled= .f.
thisform.new31.Enabled= .t.
thisform.edit31.Enabled= .t.
thisform.exit31.Enabled= .t.
thisform.Next31.Enabled=.t.
thisform.back31.Enabled= .t.
thisform.del31.Enabled= .t.
 thisform.no31.Value=no
 thisform.nama31.Value=nama_kost
 thisform.bia31.Value=biaya_thn
 thisform.biay31.Value=biaya_bln
 thisform.alamat31.Value=alamat
 thisform.ket31.Value=keterangan


PUBLIC hayalan

SET DELETED ON

Listing: new                           click Listing: edit                           click
hayalan=.t.
thisform.no31.Enabled= .t.
thisform.nama31.Enabled= .t.
thisform.bia31.Enabled= .t.
thisform.biay31.Enabled= .t.
thisform.alamat31.Enabled= .T.
thisform.ket31.Enabled= .t.

thisform.save31.Enabled= .T.
thisform.can31.Enabled= .T.
thisform.new31.Enabled= .F.
thisform.edit31.Enabled= .F.
thisform.exit31.Enabled= .F.
thisform.Next31.Enabled=.F.
thisform.back31.Enabled= .F.

thisform.no31.Value=''
thisform.nama31.Value=''
thisform.ket31.Value=''

thisform.no31.SetFocus hayalan=.f.
thisform.no31.enabled= .T.
thisform.nama31.Enabled= .f.
thisform.bia31.Enabled= .f.
thisform.biay31.Enabled= .t.
thisform.alamat31.Enabled= .t.
thisform.ket31.enabled= .T.

thisform.save31.Enabled= .T.
thisform.can31.Enabled= .T.

thisform.new31.Enabled= .F.
thisform.edit31.Enabled= .F.
thisform.del31.Enabled= .F.
thisform.next31.Enabled= .F.
thisform.back31.Enabled= .F.

thisform.no31.SetFocus

Listing: save                        click Listing: delete                          click
IF EMPTY(thisform.no31.Value) .or. ;
EMPTY(thisform.nama31.Value) .or. ;
EMPTY(thisform.bia31.Value) .or. ;
EMPTY(thisform.biay31.Value) .or. ;
EMPTY(thisform.ket31.Value) .or. ;
EMPTY(thisform.alamat31.Value)
MESSAGEBOX("ISI DATA DENGAN LENGKAP!",0,48,"warning!")
thisform.no31.SetFocus
RETURN
ENDIF
IF hayalan
APPEND BLANK
ENDIF
replace no WITH thisform.no31.Value
replace nama_kost WITH thisform.nama31.Value
replace biaya_thn WITH thisform.bia31.Value
replace biaya_bln WITH thisform.biay31.Value
replace keterangan WITH thisform.ket31.Value
replace alamat WITH thisform.alamat31.Value
thisform.Refresh() LOCAL pesan,rec
rec=RECNO()
pesan=MESSAGEBOX("apakah anda ingin hapus?",4+32+256,"warning!")
IF pesan=6
DELETE
ENDIF
GOTO rec
thisform.grid1.SetFocus()
thisform.Refresh()
return

     Listing: next                      click Listing: back                       click
SKIP +1
DO CASE
CASE EOF()
pesan = MESSAGEBOX('terakhir!'+CHR(13)+'kembali keatas?',4+64,'INFO!')
IF pesan=6
GO TOP
ELSE
GO bottom
ENDIF
ENDCASE
thisform.Refresh() SKIP -1
DO CASE
CASE BOF()
pesan = MESSAGEBOX('pertama!'+CHR(13)+'kembali keterakhir?',4+64,'INFO!')
IF pesan=6
GO BOTTOM
ELSE
GO TOP
ENDIF
ENDCASE
thisform.Refresh()

Listing: cancel                      click Listing: exit                     click
thisform.Refresh thisform.Release

Pembuatan form menu utama










Listing: form                   init Listing:   form                  destroy
DO G:\tugasq\menu31.mpr WITH thisform,.t. CLEAR EVENTS

Properti es
Control box
Showwindow
Window state
windowType .F.-false
2 As –top-level-form
2-maximized
1-modal




Pembuatan menu utama











Setelah habis menginput kita tinggal mengkik menu view lalu pilih general option  lalu centang top level form lalau ok seperti gambar






Setelah itu kita membuat program kemudian new akan tampil seperti gambar lalu isi listingnya seperti gambar dibawah








kemudian klik kanan lalu npilih set main seperti di bawah









Kemudian pilih build setelah itu ok










Selesailah cara membuat program foxpro beserta file exe nya

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | coupon codes