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
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