Anda di halaman 1dari 37

BAB IV PEMBUATAN FORM UNTUK APLIKASI Form digunakan untuk mengolah dan memproses data dalam suatu aplikasi.

menambah data, mengedit data, menghapus data, menampilkan data atau mencari data dapat dilakukan melalui form dengan tampilan grafhics yang bagus. Sebuah form disimpan dengan ekstensi.SCX Contoh pembuatan program aplikasi pengolahan Data Stok Barang membutuhkan banyak sekali form yang digunakan untuk mengolah data. 1. FORM ENTRY PETUGAS Langkah membuat form entry data petugas adalah 1) Dari Project Manager klik tab Docs, sehingga menampilkan sub bagian Form, Report dan Labels seperti gambar 4.1 dibawah ini

gambar 4.1 Kotak dialog Project Manager Pada Tab Document 2) Klik tombol command New, ketika New Form tampil klik New Form, setelah itu akan tampil jendela Form Designer yang biasanya diikuti oleh tampilnya Propertis dan Form Control. Jika jendela Propertis dan form Control tidak tampil anda dapat menampilkannya melalui menu View dengan menandai Submenu Form Control Toolbar dan Propertis

3)

Kemudian aktifkan jendela Form Designer dengen mengklik satu kali

pada judul atas jendela tersebut, selanjutnya simpan form dengan memilih menu File, Save dan ketikan nama form pada save form as dengan nama petugas 4) Setelah menyimpan form, tinggal menambah object-object yang diperlukan dalam pembuatan form pengolahan data perugas. Object yang diperlukan adalah object Label, Text Box, Command Button dan Control Grid. Label Text Box Command Botton

Grid Gambar 4.2 Tampilan designer Form A. Nama Object Form PROPERTIS OBJECT Propertis Caption Name Auto Center MDIForm ShowWindows Windowstate Caption Caption Caption Caption Name Maxlength Name Maxlength Name Maxlength Name PassworChar Maxlength Name Nilai Pengolahan Data Petugas Petugas .T. .T. 1-In Top-Level 0-Normal Kode Petugas Nama Jabatan Sandi Txtkode 5 Txtnama 20 Txtjabatan 20 txtSandi * 25 Txtcari

Label1 Label2 Label3 Label4 Text1 Text2 Text3 Text4 Text5

Maxlength 20 Command1 Name Baru Caption \<Baru Command2 Name Simpan Caption \<Simpan Command3 Name Batal Caption \<Batal Command4 Name Rubah Caption \<Rubah Command5 Name Hapus Caption \<Hapus Command6 Name Atas Caption |< Cammand7 Name Mundur Caption < Command8 Name Maju Caption > Command9 Name Bawah Caption >| Command10 Name Cari Caption \<Cari Grid1 Name Grid1 ReadOnly .T. RecordSource Petugas Setelah Design Form selesai kemudian kita tinggal menuliskan code program sebagai berikut : B. 1) PENULISAN CODE PROGRAM Aktifkan Form dengan mengklik judul form, kemudian pilih Activate Event pada properties form Klik Dua kali maka akan tampil jendela tempat penulisan Code program seperti gambar dibawah ini.

gambar 4.3 Tempat penulisan Code program

Jika sudah tampil tuliskan Code dibawah ini


set delete on select petugas set order to kdptgs count to ada if ada >0 goto top thisform.txtkdptgs.value=kdptgs thisform.txtnmptgs.value=nmptgs thisform.txtjabatan.value=jabatan thisform.txtsandi.value=sandi thisform.baru.enabled=.t. thisform.rubah.enabled=.t. thisform.hapus.enabled=.t. thisform.cari.enabled=.t. thisform.keluar.enabled=.t. thisform.maju.enabled=.t. thisform.mundur.enabled=.t. else thisform.txtkdptgs.value=" " thisform. txtnmptgs.value=" " thisform.txtjabatan.value=" " thisform. txtsandi.value=" " thisform.simpan.enabled=.f. thisform.batal.enabled=.f. thisform.rubah.enabled=.f. thisform.hapus.enabled=.f. thisform.cari.enabled=.f. thisform.maju.enabled=.f. thisform.mundur.enabled=.f. endif thisform.txtkdptgs.enabled=.f. thisform.txtnmptgs.enabled=.f. thisform.txtjabatan.enabled=.f. thisform.txtsandi.enabled=.f. thisform.txtcari.visible=.f.

2)

Aktifkan Tombol Baru dengan cara mengklik kemudian pada

propertiesnya pilih Click Event kemudian klik dua kali sehingga tampil jendela penulisan code program kemudin tuliskan Code Program Tombol baru Clik di bawah ini:
posisi=recno() thisform.txtnmptgs.enabled=.t. thisform.txtjabatan.enabled=.t. thisform.txtsandi.enabled=.t. thisform.txtkdptgs.value=" " thisform. txtnmptgs.value=" " thisform.txtjabatan.value=" " thisform. txtsandi.value=" " thisform.baru.enabled=.f. thisform.rubah.enabled=.f. thisform.hapus.enabled=.f. thisform.cari.enabled=.f.

thisform.keluar.enabled=.f. thisform.maju.enabled=.f. thisform.mundur.enabled=.f. thisform. txtnmptgs.setfocus()

3)

Kemudian untuk Tombol simpan tuliskan code dibawah ini :

set delete off if empty(thisform. txtkdptgs.value) messagebox("Kode Petugas Harus DiIsi !",0+64,"Informasi") else vkdptgs=thisform. txtkdptgs.value select petugas set order to kdptgs set filter to seek vkdptgs if found() p=messagebox("Data Sudah Ada,Apakah Mau DiPerbaharui ?",4+64,"Info") if p=6 recall replace Kdptgs with thisform.txtkdptgs.value replace nmptgs with thisform.txtnmptgs.value replace jabatan with thisform.txtjabatan.value replace sandi with thisform.txtsandi.value endif else append blank replace Kdptgs with thisform.txtkdptgs.value replace nmptgs with thisform.txtnmptgs.value replace jabatan with thisform.txtjabatan.value replace sandi with thisform.txtsandi.value endif thisform.baru.enabled=.t. thisform.rubah.enabled=.t. thisform.hapus.enabled=.t. thisform.cari.enabled=.t. thisform.keluar.enabled=.t. thisform.maju.enabled=.t. thisform.mundur.enabled=.t. set delete on thisform.matiisian() thisform. grid1.refresh() thisform.txtkdptgs.enabled=.f. thisform.txtnmptgs.enabled=.f. thisform.txtjabatan.enabled=.f. thisform.txtsandi.enabled=.f.

endif 4) ini :

Untuk Tombol Batal Clik Tuliskan Code program Dibawah

posisi=recno() thisform.txtnmptgs.enabled=.t. thisform.txtjabatan.enabled=.t. thisform.txtsandi.enabled=.t. thisform.txtkdptgs.value=" " thisform. txtnmptgs.value=" "

thisform.txtjabatan.value=" " thisform. txtsandi.value=" " thisform.baru.enabled=.f. thisform.rubah.enabled=.f. thisform.hapus.enabled=.f. thisform.cari.enabled=.f. thisform.keluar.enabled=.f. thisform.maju.enabled=.f. thisform.mundur.enabled=.f. thisform. txtnmptgs.setfocus()

5) ini :

Untuk Tombol Rubah Clik Tuliskan Code program Dibawah

posisi=recno() thisform.txtnmptgs.enabled=.t. thisform.txtjabatan.enabled=.t. thisform.txtsandi.enabled=.t. thisform.baru.enabled=.f. thisform.rubah.enabled=.f. thisform.hapus.enabled=.f. thisform.cari.enabled=.f. thisform.keluar.enabled=.f. thisform.maju.enabled=.f. thisform.mundur.enabled=.f. thisform. txtkdptgs.enabled=.f. thisform. txtnmptgs.setfocus() 6) Untuk Tombol hapus Clik Tuliskan Code program Dibawah ini :
p=messagebox("Benar Mau DI Hapus?",4+32,"Info") if p=6 delete if eof() goto bottom else skip endif thisform.ambildata() thisform.grid1.refresh() thisform.grid1.setfocus() thisform.txtkdptgs.value=kdptgs thisform.txtnmptgs.value=nmptgs thisform.txtjabatan.value=jabatan thisform.txtsandi.value=sandi endif 7) Untuk Tombol Atas Clik Tuliskan Code program Dibawah ini :

select petugas goto top thisform.txtkdptgs.value=kdptgs thisform.txtnmptgs.value=nmptgs

thisform.txtjabatan.value=jabatan thisform.txtsandi.value=sandi

8) ini :

Untuk Tombol Mundur Clik Tuliskan Code program Dibawah

select petugas if bof() messagebox("Posisi sudah di awal file...!",0+64,"Informasi") goto top else skip -1 endif thisform.txtkdptgs.value=kdptgs thisform.txtnmptgs.value=nmptgs thisform.txtjabatan.value=jabatan thisform.txtsandi.value=sandi

9) ini :

Untuk Tombol Maju Clik Tuliskan Code program Dibawah

select petugas if .not. eof() skip else messagebox("Posisi sudah di akhir file...!",0+64,"Informasi") goto bottom endif thisform.txtkdptgs.value=kdptgs thisform.txtnmptgs.value=nmptgs thisform.txtjabatan.value=jabatan thisform.txtsandi.value=sandi

10) ini :

Untuk Tombol Bawah Clik Tuliskan Code program Dibawah

select petugas goto bottom thisform.txtkdptgs.value=kdptgs thisform.txtnmptgs.value=nmptgs thisform.txtjabatan.value=jabatan thisform.txtsandi.value=sandi

11) ini select petugas set filter to if delete() pack endif thisform.release() 2.

Untuk Tombol Keluar Clik Tuliskan Code program Dibawah

FORM ENTRY SUPPLER

Untuk memulai membuat Form Supplaer langkah yang dilakukan sama seperti membuat Form petugas. Desainglah form hingga seperti gambar dibawah ini :

Gambar 4.4 Tampilan Form Petugas A. Nama Object Form PROPERTI OBJECT Propertis Caption Name Auto Center MDIForm ShowWindows Windowstate Caption Caption Caption Caption Name Maxlength Name Maxlength Name Maxlength Name PassworChar Maxlength Name Maxlength Name Caption Name Caption Name Caption Name Nilai Pengolahan Data Supplier Supplier .T. .T. 1-In Top-Level 0-Normal Kode Supplier Nama Alamat Telp Txtkode 9 Txtnama 20 TxtAlamat 40 txtTelp * 12 Txtcari 20 Baru \<Baru Simpan \<Simpan Batal \<Batal Rubah

Label1 Label2 Label3 Label4 Text1 Text2 Text3 Text4 Text5 Command1 Command2 Command3 Command4

Command5 Command6 Cammand7 Command8 Command9 Command10 Grid1

Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name ReadOnly RecordSource METHODE (PROSEDURE)

\<Rubah Hapus \<Hapus Atas |< Mundur < Maju > Bawah >| Cari \<Cari Grid1 .T. Supplier

B.

Methode (procedure) digunakan untuk mempermudah dalam penulisan code program, agar tidak terjadi penulisan code secara berulang ulang Langkah-langkah dalam membuat procedure yaitu 1) Pilih Menu Form kemudian plih Submenu Methode kemudian akan tampil windows New Methode seperti gambar dibawah ini

Gambar 4.5 Tampilan Form Petugas 2) 3) C. Ketikan nama procedure pada Name kemudian klik Add Untuk mengakhiri klik tombol Close PENULISAN CODE PROGRAM

Untuk penulisan Code program sama seperti code program form petugas, namun pada form ini kita menggunakan metode procedure 1) Prosedure Matiisian

thisform.txtkdsup.enabled=.f. thisform.txtnmsup.enabled=.f. thisform.txtalamat.enabled=.f. thisform.txttlp.enabled=.f.

2)

Prosedure Hidupisian

thisform.txtnmsup.enabled=.t. thisform.txtalamat.enabled=.t. thisform.txttlp.enabled=.t.

3)

Prosedure Matitombol

thisform.baru.enabled=.f. thisform.simpan.enabled=.f. thisform.batal.enabled=.f. thisform.rubah.enabled=.f. thisform.hapus.enabled=.f. thisform.cari.enabled=.f. thisform.keluar.enabled=.f. thisform.maju.enabled=.f. thisform.mundur.enabled=.f.

4)

Prosedure Hidupl

thisform.baru.enabled=.t. thisform.simpan.enabled=.t. thisform.batal.enabled=.t. thisform.rubah.enabled=.t. thisform.hapus.enabled=.t. thisform.cari.enabled=.t. thisform.keluar.enabled=.t. thisform.maju.enabled=.t. thisform.mundur.enabled=.t.

5)

Prosedure Bersihisian

thisform.txtkdsup.value=" " thisform. txtnmsup.value=" " thisform.txtalamat.value=" " thisform. txttlp.value=" "

6)

Prosedure ambildata

select suplier thisform.txtkdsup.value=kdsup thisform.txtnmsup.value=nmsup thisform.txtalamat.value=alamat thisform.txttlp.value=telp

7)

Prosedure No

select suplier set order to kdsup goto bottom if kdsup=space(9)

mkdptgs="SPL-00001" else mno=val(right(kdsup,5))+1 do case case mno<10 mkdptgs="SPL-0000"+ltrim(str(mno)) case mno<100 mkdptgs="SPL-000"+ltrim(str(mno)) case mno<1000 mkdptgs="SPL-00"+ltrim(str(mno)) case mno<10000 mkdptgs="SPL-0"+ltrim(str(mno)) case mno<100000 mkdptgs="SPL-"+ltrim(str(mno)) endcase endif thisform.tXTKDsup.value=mkdptgs

8)

Prosedure Simpandata

replace Kdsup with thisform.txtkdsup.value replace nmsup with thisform.txtnmsup.value replace alamat with thisform.txtalamat.value replace telp with thisform.txttlp.value

9)

Prosedure Active Form

set delete on select petugas set order to kdptgs count to ada if ada >0 goto top thisform.ambildata() thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. else thisform.bersihlayar() thisform.matitombol() thisform.baru.enabled=.t. thisform.keluar.enabled=.t. endif thisform.matiisian() thisform.txtcari.visible=.f.

10)

Prosedure Tombol Baru Clik

posisi=recno() thisform.hidupisian() thisform.bersihlayar() thisform.matitombol() thisform.batal.enabled=.t. thisform.simpan.enabled=.t. thisform.no() thisform. txtnmsup.setfocus()

11)

Prosedure Simpan Clik

set delete off if empty(thisform. txtkdsup.value) messagebox("Kode Petugas Harus DiIsi !",0+64,"Informasi") else vkdptgs=thisform. txtkdsup.value select suplier set order to kdsup set filter to seek vkdptgs if found() p=messagebox("Data Sudah Ada,Apakah Mau DiPerbaharui ?",4+64,"Info") if p=6 recall thisform.simpandata() endif else append blank thisform.simpandata() endif thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. set delete on thisform.matiisian() thisform. grid1.refresh() endif

12)

Prosedure Batal Clik

thisform.bersihlayar() select suplier set order to kdsup count to ada if ada > 0 goto posisi thisform.ambildata() thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. else thisform.bersihlayar() thisform.matiisian() thisform.baru.enabled=.t. thisform.keluar.enabled=.t. endif thisform.matiisian() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. thisform.txtcari.visible=.f.

13)

Prosedure Rubah Clik

posisi=recno() thisform.hidupisian() thisform.matitombol() thisform.simpan.enabled=.t.

thisform.batal.enabled=.t. thisform. txtkdsup.enabled=.f. thisform. txtnmsup.setfocus()

14)

Prosedure Hapus Clik

p=messagebox("Benar Mau DI Hapus?",4+32,"Info") if p=6 delete if eof() goto bottom else skip endif thisform.ambildata() thisform.grid1.refresh() thisform.grid1.setfocus() endif

15)

Prosedure Atas Clik

select suplier goto top thisform.ambildata()

16)

Prosedure Mundur Clik

select suplier if bof() messagebox("Posisi sudah di awal file...!",0+64,"Informasi") goto top else skip -1 endif thisform.ambildata()

17)

Prosedure Maju Clik

select suplier if .not. eof() skip else messagebox("Posisi sudah di akhir file...!",0+64,"Informasi") goto bottom endif thisform.ambildata()

18)

Prosedure Bawah Clik

select suplier goto bottom thisform.ambildata()

19)

Prosedure cari Clik

thisform.txtcari.visible=.t. thisform.txtcari.setfocus()

20)

Prosedure Set Focus txtcari

if .not. empty(thisform.txtcari.value) lacak=thisform.txtcari.value select suplier locate for upper(alltrim(substr(nmsup,1,len(nmsup))))=upper(alltrim(lacak)) if found() thisform.ambildata() set filter to upper(alltrim(substr(nmsup,1,len(lacak))))=upper(alltrim(lacak)) thisform.grid1.refresh() else messagebox("Data tidak ada/tidak ditemukan..!",0+64,"Informasi") endif thisform.txtcari.visible=.f. endif thisform.txtcari.value=""

21)

Prosedure Keluar Clik

select suplier set filter to if delete() pack endif thisform.release()

3.

FORM ENTRY JENIS BARANG

Prosedure/code form jenis barang pada dasarnya sama dengan pembuanatan form data Petugas , hanya objek yang digunakan lebih sedikit. Designlah form data jenis barang seperti gambar dibawah ini atau menurut kreativitas anda masing masing.

Gambar 4.6 Tampilan Form Jenis Barang A. PROPERTI OBJECT

Nama Object Form

Propertis Caption Name Auto Center MDIForm ShowWindows Windowstate Caption Caption Name Maxlength Name Maxlength Name Maxlength Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name ReadOnly RecordSource

Nilai Pengolahan Data Jenis Barang Jenis .T. .T. 1-In Top-Level 0-Normal Kode Jenis Jenis Txtkode 9 TxtJenis 30 Txtcari 30 Baru \<Baru Simpan \<Simpan Batal \<Batal Rubah \<Rubah Hapus \<Hapus Atas |< Mundur < Maju > Bawah >| Cari \<Cari Grid1 .T. jenis

Label1 Label2 Text1 Text2 Text5 Command1 Command2 Command3 Command4 Command5 Command6 Cammand7 Command8 Command9 Command10 Grid1

B.

PENULISAN CODE PROGRAM

Untuk penulisan Code program data jenis barang sama seperti code program form petugas yaitu kita menggunakan methode prosedure

1)

Prosedure Matiisian

thisform.txtkodejns.enabled=.f. thisform.txtjenis.enabled=.f.

2)

Prosedure Hidupisian

thisform.txtkodejns.enabled=.t. thisform.txtjenis.enabled=.t.

3)

Prosedure Matitombol

thisform.baru.enabled=.f. thisform.simpan.enabled=.f. thisform.batal.enabled=.f. thisform.rubah.enabled=.f. thisform.hapus.enabled=.f. thisform.cari.enabled=.f. thisform.keluar.enabled=.f. thisform.maju.enabled=.f. thisform.mundur.enabled=.f.

4)

Prosedure Hiduptombol

thisform.baru.enabled=.t. thisform.simpan.enabled=.t. thisform.batal.enabled=.t. thisform.rubah.enabled=.t. thisform.hapus.enabled=.t. thisform.cari.enabled=.t. thisform.keluar.enabled=.t. thisform.maju.enabled=.t. thisform.mundur.enabled=.t.

5)

Prosedure Bersihlayar

thisform.txtkodejns.value=" " thisform. txtjenis.value=" "

6)

Prosedure ambildata

thisform.txtkodejns.value=kdjns

thisform.txtjenis.value=jenis 7) Prosedure No
select jenis set order to kdjns goto bottom if kdJNs=space(9) mkdjns="KYP-00001" else mno=val(right(kdjns,5))+1 do case case mno<10 mkdjns="KYP-0000"+ltrim(str(mno)) case mno<100 mkdjns="KYP-000"+ltrim(str(mno)) case mno<1000 mkdjns="KYP-00"+ltrim(str(mno)) case mno<10000 mkdjns="KYP-0"+ltrim(str(mno))

case mno<100000 mkdjns="KYP-"+ltrim(str(mno)) endcase endif thisform.tXTKODEJNS.value=mkdjns

8)

Prosedure Simpandata

replace Kdjns with thisform.txtkodejns.value replace jenis with thisform.txtjenis.value

9)

Prosedure Active Form

set delete on select jenis set order to kdjns count to ada if ada >0 goto top thisform.ambildata() thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. else thisform.bersihlayar() thisform.matitombol() thisform.baru.enabled=.t. thisform.keluar.enabled=.t. endif thisform.matiisian() thisform.txtcari.visible=.f.

10)

Prosedure Tombol Baru Clik

posisi=recno() thisform.hidupisian() thisform.bersihlayar() thisform.matitombol() thisform.batal.enabled=.t. thisform.simpan.enabled=.t. THISFORM.NO() thisform. txtjenis.setfocus()

11)

Prosedure Simpan Clik

set delete off if empty(thisform. txtkodejns.value) messagebox("Kode Jenis Barang Harus DiIsi !",0+64,"Informasi") else vkdjns=thisform. txtkodejns.value select jenis set order to kdjns set filter to seek vkdjns if found() p=messagebox("Data Sudah Ada,Apakah Mau DiPerbaharui ?",4+64,"Info") if p=6 recall thisform.simpandata() endif

else append blank thisform.simpandata() endif thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. set delete on thisform.matiisian() thisform. grid1.refresh() endif

12)

Prosedure Batal Clik

thisform.bersihlayar() select jenis set order to kodejns count to ada if ada > 0 goto posisi thisform.ambildata() thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. else thisform.bersihlayar() thisform.matiisian() thisform.baru.enabled=.t. thisform.keluar.enabled=.t. endif thisform.matiisian() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. thisform.txtcari.visible=.f.

13)

Prosedure Rubah Clik

posisi=recno() thisform.hidupisian() thisform.matitombol() thisform.simpan.enabled=.t. thisform.batal.enabled=.t. thisform. txtkdjenis.enabled=.f. thisform. txtjenis.setfocus()

14)

Prosedure Hapus Clik

p=messagebox("Benar Mau DI Hapus?",4+32,"Info") if p=6 delete if eof() goto bottom else skip endif thisform.ambildata() thisform.grid1.refresh() thisform.grid1.setfocus() endif

15)

Prosedure Atas Clik

select jenis goto top thisform.ambildata()

16)

Prosedure Mundur Clik

select jenis if bof() messagebox("Posisi sudah di awal file...!",0+64,"Informasi") goto top else skip -1 endif thisform.ambildata()

17)

Prosedure Maju Clik

select jenis if .not. eof() skip else messagebox("Posisi sudah di akhir file...!",0+64,"Informasi") goto bottom endif thisform.ambildata()

18)

Prosedure Bawah Clik

select jenis goto bottom thisform.ambildata()

19)

Prosedure cari Clik

thisform.txtcari.visible=.t. thisform.txtcari.setfocus()

20)

Prosedure Set Focus txtcari

if .not. empty(thisform.txtcari.value) lacak=thisform.txtcari.value select jns locate for upper(alltrim(substr(jenis,1,len(jenis))))=upper(alltrim(lacak)) if found() thisform.ambildata() set filter to upper(alltrim(substr(jenis,1,len(lacak))))=upper(alltrim(lacak)) thisform.grid1.refresh() else messagebox("Data tidak ada/tidak ditemukan..!",0+64,"Informasi") endif thisform.txtcari.visible=.f. endif thisform.txtcari.value=""

21)

Prosedure Keluar Clik

select jenis set filter to if delete() pack endif thisform.release()

4.

FORM ENTRY BARANG

Prosedure/code form barang pada dasarnya sama dengan pembuanatan form yang lainnya , hanya objek yang digunakan lebih banyak. Desaignlah formdata jenis barang seperti gambar dibawah ini atau menurut kreativitas anda masing masing.

Gambar 4.7 Tampilan Form Barang A. Nama Object Form PROPERTI OBJECT Propertis Caption Name Auto Center MDIForm ShowWindows Windowstate Caption Caption Caption Caption Caption Caption Caption Name Maxlength Name Maxlength Name RowSource Name Nilai Pengolahan Data Barang Barang .T. .T. 1-In Top-Level 0-Normal Kode Barang Barang Kode Jenis Harga Beli Harga Jual Jumlah Stok Min txtKodebrg 9 Txtnama 30 Txtkodejns Jenis.kdjns txthrgjual

Label1 Label2 Label3 Label4 Label5 Label6 Label7 Text1 Text2 Combo1 Text3

Text4 Text5 Text6 Command1 Cammand2 Command3 Command4 Command5 Command6 Command7 Command7 Command8 Command9 Command10 Grid1

Name Name Name Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name ReadOnly RecordSource

txthrgbeli Txtjumlah txtstokmin Baru \<Baru Simpan \<Simpan Batal \<Batal Hapus \<Hapus Rubah \<Rubah Atas |< Mundur < Maju > Bawah >| Cari \<Cari Keluar \<keluar Grid1 .T. barang

B.

PENULISAN CODE PROGRAM

Untuk penulisan Code program data barang sama seperti code program form lainnya yaitu kita menggunakan methode procedure 1) Prosedure Matiisian
thisform.txtkodebrg.enabled=.f. thisform.txtnama.enabled=.f. thisform.txtkdjns.enabled=.f. thisform.txtjumlah.enabled=.f. thisform.txthrgjual.enabled=.f. thisform.txthrgbeli.enabled=.f. thisform.txtstokmin.enabled=.f.

2) Prosedure Hidupisian
thisform.txtkodebrg.enabled=.t. thisform.txtnama.enabled=.t. thisform.txtkdjns.enabled=.t. thisform.txtjumlah.enabled=.t. thisform.txthrgjual.enabled=.t. thisform.txthrgbeli.enabled=.t. thisform.txtstokmin.enabled=.t.

3) Prosedure Matitombol
thisform.baru.enabled=.f. thisform.simpan.enabled=.f. thisform.batal.enabled=.f. thisform.rubah.enabled=.f. thisform.hapus.enabled=.f. thisform.cari.enabled=.f. thisform.keluar.enabled=.f. thisform.maju.enabled=.f. thisform.mundur.enabled=.f.

4) Prosedure Hiduptombol
thisform.baru.enabled=.t. thisform.simpan.enabled=.t. thisform.batal.enabled=.t. thisform.rubah.enabled=.t. thisform.hapus.enabled=.t. thisform.cari.enabled=.t. thisform.keluar.enabled=.t. thisform.maju.enabled=.t. thisform.mundur.enabled=.t.

5) Prosedure Bersihlayar
thisform.txtkodebrg.value=" " thisform.txtkdjns.value=" " thisform.txtnama.value=" " thisform.txtkdjns.value=" " thisform.txtjumlah.value=0 thisform.txthrgjual.value=0 thisform.txthrgbeli.value=0 thisform.txtstokmin.value=0

6) Prosedure ambildata
select barang thisform.txtkdkodebrg.value=kodebrg thisform.txtnama.value=barang thisform.txtkdjns.value=kdjns thisform.txtjumlah.value=jmlstok thisform.txthrgjual.value=hrgjual thisform.txthrgbeli.value=hrgbeli thisform.txtstokmin.value=stokmin

7) Prosedure No
select barang set order to kodebrg goto bottom if kodebrg=space(9)

mkodebrg="KY-000001" else mno=val(right(kodebrg,6))+1 do case case mno<10 mkodebrg="KY-00000"+ltrim(str(mno)) case mno<100 mkodebrg="KY-0000"+ltrim(str(mno)) case mno<1000 mkodebrg="KY-000"+ltrim(str(mno)) case mno<10000 mkodebrg="KY-00"+ltrim(str(mno)) case mno<100000 mkodebrg="KY-0"+ltrim(str(mno)) case mno<1000000 mkodebrg="KY-"+ltrim(str(mno)) endcase endif thisform.tXTKodebrg.value=mkodebrg

8) Prosedure Simpandata
replace Kodebrg with thisform.txtkodebrg.value replace barang with thisform.txtnama.value replace Kdjns with thisform.txtkdjns.value replace hrgjual with thisform.txthrgjual.value replace hrgbeli with thisform.txthrgbeli.value replace jmlstok with thisform.txtstokmin.value replace stokmin with thisform.txtstokmin.value

9) Prosedure Active Form


set delete on select barang set order to k0debrg count to ada if ada >0 goto top thisform.ambildata() thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. else thisform.bersihlayar() thisform.matitombol() thisform.baru.enabled=.t. thisform.keluar.enabled=.t. endif thisform.matiisian() thisform.txtcari.visible=.f.

10) Prosedure Tombol Baru Clik


posisi=recno() thisform.hidupisian() thisform.bersihlayar() thisform.matitombol() thisform.batal.enabled=.t. thisform.simpan.enabled=.t.

Thisform.no() thisform. txtkodebrg.setfocus()

11) Prosedure Simpan Clik


set delete off if empty(thisform. txtkodebrg.value) messagebox("Kode Barang Harus DiIsi !",0+64,"Informasi") else vkdbrg=thisform. txtkodebrg.value select barang set order to kodebrg set filter to seek vkdbrg if found() p=messagebox("Data Sudah Ada,Apakah Mau DiPerbaharui ?",4+64,"Info") if p=6 recall thisform.simpandata() endif else append blank thisform.simpandata() endif thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. set delete on thisform.matiisian() thisform. grid1.refresh() endif

12) Prosedure Batal Clik


thisform.bersihlayar() select barang set order to kodebrg count to ada if ada > 0 goto posisi thisform.ambildata() thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. else thisform.bersihlayar() thisform.matiisian() thisform.baru.enabled=.t. thisform.keluar.enabled=.t. endif thisform.matiisian() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. thisform.txtcari.visible=.f.

13) Prosedure Rubah Clik


posisi=recno() thisform.hidupisian() thisform.matitombol() thisform.simpan.enabled=.t. thisform.batal.enabled=.t. thisform. txtkodebrg.enabled=.f. thisform. txtbarang.setfocus()

14) Prosedure Hapus Clik


p=messagebox("Benar Mau DI Hapus?",4+32,"Info") if p=6 delete if eof() goto bottom else skip endif thisform.ambildata() thisform.grid1.refresh() thisform.grid1.setfocus() endif

15) Prosedure Atas Clik


select barang goto top thisform.ambildata()

16) Prosedure Mundur Clik


select barang if bof() messagebox("Posisi sudah di awal file...!",0+64,"Informasi") goto top else skip -1 endif thisform.ambildata()

17) Prosedure Maju Clik


select barang if .not. eof() skip else messagebox("Posisi sudah di akhir file...!",0+64,"Informasi") goto bottom endif thisform.ambildata()

18) Prosedure Bawah Clik


select barang goto bottom thisform.ambildata()

19) Prosedure cari Clik

thisform.txtcari.visible=.t. thisform.txtcari.setfocus()

20) Prosedure Set Focus txtcari


if .not. empty(thisform.txtcari.value) lacak=thisform.txtcari.value select barang locate for upper(alltrim(substr(barang,1,len(barang))))=upper(alltrim(lacak)) if found() thisform.ambildata() set filter to upper(alltrim(substr(barang,1,len(lacak))))=upper(alltrim(lacak)) thisform.grid1.refresh() else messagebox("Data tidak ada/tidak ditemukan..!",0+64,"Informasi") endif thisform.txtcari.visible=.f. endif thisform.txtcari.value=""

21) Prosedure Keluar Clik


select barang set filter to if delete() pack endif thisform.release()

5.

FORM BARANG MASUK

Untuk memulai membuat Form Barang Masuk langkah yang dilakukan sama seperti membuat Form lainnya. Desainglah form hingga seperti gambar dibawah ini :

Gambar 4.8 Tampilan Form Barang Masuk

A. Nama Object Form

PROPERTI OBJECT Propertis Caption Name Auto Center MDIForm ShowWindows Windowstate Caption Caption Caption Caption Name Maxlength Name Maxlength Name Name Name Name Name Maxlength Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Nilai Transaksi Barang Masuk Masuk .T. .T. 1-In Top-Level 0-Normal No Nota Masuk Tanggal Kode Petugas Kode Supplier txtnonmsk 10 Txttglmsk 8 Txtkdptgs txtkdsup txtnmsup Txtnmptgs Txtcari 20 Baru \<Baru Simpan \<Simpan Batal \<Batal Rubah \<Rubah Hapus \<Hapus Atas |< Mundur < Maju > Bawah >|

Label1 Label2 Label3 Label4 Text1 Text2 Combo1 Combo2 Text4 Text3 Text5 Command1 Command2 Command3 Command4 Command5 Command6 Cammand7 Command8 Command9

Command10 Grid1

Name Caption Name ReadOnly RecordSource PENULISAN CODE PROGRAM

Cari \<Cari Grid1 .T. rincimsk

B.

Untuk penulisan Code program sama seperti code program form yang lainnya, namun pada form ini kita menggunakan metode procedure 1) Prosedure Matiisian
thisform.txttglmsk.enabled=.f. thisform.txtkdptgs.enabled=.f. thisform.txtnmptgs.enabled=.f. thisform.txtkdsup.enabled=.f. thisform.txtnmsup.enabled=.f.

2)

Prosedure Hidupisian

thisform.txttglmsk.enabled=.t. thisform.txtkdptgs.enabled=.t. thisform.txtnmptgs.enabled=.t. thisform.txtkdsup.enabled=.t. thisform.txtnmsup.enabled=.t.

3)

Prosedure Matitombol

thisform.baru.enabled=.f. thisform.simpan.enabled=.f. thisform.batal.enabled=.f. thisform.rubah.enabled=.f. thisform.hapus.enabled=.f. thisform.cari.enabled=.f. thisform.keluar.enabled=.f. thisform.maju.enabled=.f. thisform.mundur.enabled=.f.

4)

Prosedure Hiduptombol

thisform.baru.enabled=.t. thisform.simpan.enabled=.t. thisform.batal.enabled=.t. thisform.rubah.enabled=.t. thisform.hapus.enabled=.t. thisform.cari.enabled=.t. thisform.keluar.enabled=.t. thisform.maju.enabled=.t. thisform.mundur.enabled=.t.

5)

Prosedure Bersihlayar

thisform.txtnonmsk.value=" " thisform. txttglmsk.value=ctod("../../..") thisform.txtkdptgs.value=" " thisform. txtnmptgs.value=" " thisform.txtkdsup.value=" "

thisform.txtnmsup.value=" "

6)

Prosedure ambildata

select petugas set filter to set order to kdptgs mkdptgs=thisform.txtkdptgs.value seek mkdptgs if found() thisform.txtnmptgs.value=nmptgs else thisform.txtnmptgs.value="" endif select suplier set filter to set order to kdsup mkdsup=thisform.txtkdsup.value seek mkdsup if found() thisform.txtnmsup.value=nmsup else thisform.txtnmsup.value="" endif select masuk thisform.txtnonmsk.value=nonmsk thisform.txttglmsk.value=tglmsk thisform.txtkdptgs.value=kdPTGS thisform.txtkdsup.value=kdsup

7)

Prosedure No

select masuk set order to nonmsk goto bottom if nonmsk=space(10) mnonmsk="MSK-000001" else mno=val(right(nonmsk,6))+1 do case case mno<10 mnonmsk="MSK-00000"+ltrim(str(mno)) case mno<100 mnonmsk="MSK-0000"+ltrim(str(mno)) case mno<1000 mnonmsk="msk-000"+ltrim(str(mno)) case mno<10000 mnonmsk="MSK-00"+ltrim(str(mno)) case mno<100000 mnonmsk="MSK-0"+ltrim(str(mno)) case mno<1000000 mnonmsk="MSK-"+ltrim(str(mno)) endcase endif thisform.tXTnonmsk.value=mnonmsk

8)

Prosedure Simpandata

replace nonmsk with thisform.txtnonmsk.value

replace kdptgs with thisform.txtkdptgs.value replace tglmsk with thisform.txttglmsk.value replace kdsup with thisform.txtkdsup.value

9)

Prosedure Active Form

set delete on select masuk set order to nonmsk count to ada if ada >0 goto top thisform.ambildata() thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. else thisform.bersihlayar() thisform.matitombol() thisform.baru.enabled=.t. thisform.keluar.enabled=.t. endif thisform.matiisian() thisform.txtcari.visible=.f.

10)

Prosedure Tombol Baru Clik

posisi=recno() thisform.hidupisian() thisform.bersihlayar() thisform.matitombol() thisform.batal.enabled=.t. thisform.simpan.enabled=.t. thisform.no() thisform.txttglmsk.value=date() thisform. txtkdptgs.setfocus()

11)

Prosedure Simpan Clik

set delete off if empty(thisform. txtnonmsk.value) messagebox("no nota masuk harus diisi !",0+64,"informasi") else vnonmsk=thisform. txtnonmsk.value select masuk set order to nonmsk set filter to seek vnonmsk if found() p=messagebox("data sudah ada,apakah mau diperbaharui ?",4+64,"info") if p=6 recall thisform.simpandata() endif else append blank thisform.simpandata() endif thisform.hiduptombol()

thisform.simpan.enabled=.f. thisform.batal.enabled=.f. set delete on thisform.matiisian() thisform. grid1.refresh() endif qbersih=2 mnonmsk=thisform.txtnonmsk.value mtglmsk=thisform.txttglmsk.value mkdptgs=thisform.txtkdptgs.value mkdsup=thisform.txtkdsup.value if empty(mnonmsk).or. empty(mtglmsk) messagebox("data harus diisi !",0+64,"info") else do form rincimasuk endif thisform.ambildata()

12)

Prosedure Batal Clik

thisform.bersihlayar() select masuk set order to nonmsk count to ada if ada > 0 goto TOP thisform.ambildata() thisform.hiduptombol() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. else thisform.bersihlayar() thisform.matiisian() thisform.baru.enabled=.t. thisform.keluar.enabled=.t. endif thisform.matiisian() thisform.simpan.enabled=.f. thisform.batal.enabled=.f. thisform.txtcari.visible=.f.

13)

Prosedure Rubah Clik

posisi=recno() thisform.hidupisian() thisform.matitombol() thisform.simpan.enabled=.t. thisform.batal.enabled=.t. thisform. txtnonmsk.enabled=.f. thisform. txttxtnmptgs.setfocus()

14)

Prosedure Hapus Clik

tanya=messagebox("Yakin menghapus data ini..!",4+32,"Konfirmasi") if tanya=6 select rincimsk delete

cek=thisform.txtnonmsk.value select masuk delete all for nonmsk=cek select rincimsk endif thisform.bersihlayar() if .not. eof skip if eof() goto bottom endif else goto bottom endif thisform.grid1.refresh() thisform.grid1.setfocus() thisform.grid2.refresh() thisform.ambildata()

15)

Prosedure Atas Clik

select masuk goto top thisform.ambildata()

16)

Prosedure Mundur Clik

select masuk if bof() messagebox("Posisi sudah di awal file...!",0+64,"Informasi") goto top else skip -1 endif thisform.ambildata()

17)

Prosedure Maju Clik

select masuk if .not. eof() skip else messagebox("Posisi sudah di akhir file...!",0+64,"Informasi") goto bottom endif thisform.ambildata()

18)

Prosedure Bawah Clik

select masuk goto bottom thisform.ambildata()

19)

Prosedure cari Clik

thisform.txtcari.visible=.t. thisform.txtcari.setfocus()

20)

Prosedure Set Focus txtcari

if .not. empty(thisform.txtcari.value) lacak=thisform.txtcari.value

select masuk locate for upper(alltrim(substr(nonmsk,1,len(nonmsk))))=upper(alltrim(lacak)) if found() thisform.ambildata() set filter to upper(alltrim(substr(nonmsk,1,len(lacak))))=upper(alltrim(lacak)) thisform.grid1.refresh() else messagebox("Data tidak ada/tidak ditemukan..!",0+64,"Informasi") endif thisform.txtcari.visible=.f. endif thisform.txtcari.value=""

21)

Prosedure Keluar Clik

select masuk set filter to if delete() pack endif

thisform.release()

6.

FORM BARANG RINCI BARANG MASUK

Untuk memulai membuat Form Rinci Barang Masuk langkah yang dilakukan sama seperti membuat Form lainnya. Desainglah form hingga seperti gambar dibawah ini :

Gambar 4.9 Tampilan Form Rinci Barang Masuk A. Nama Object Form PROPERTI OBJECT Propertis Caption Name Auto Center MDIForm ShowWindows Nilai Transaksi Rinci Barang Masuk Rinci Barang Masuk .T. .T. 1-In Top-Level

Label1 Combo1 Label3 Label4 Text1 Combo1 Text2 Text3 Text4 Text5 Command1 Command2 Command3 Command4 Command5 Command6 Cammand7 Command8 Command9 Command10 Grid1

Windowstate Caption Caption Caption Caption Name Maxlength Name Name Maxlength Name Maxlength Name Name Maxlength Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name Caption Name ReadOnly RecordSource

0-Normal No Nota Masuk Kode Barang Harga Jumlah txtnonmsk 10 TxtKdbrg Txthrgmsk 10 Txtjumlah 10 Txtnmbarang Txtcari 10 Baru \<Baru Simpan \<Simpan Batal \<Batal Rubah \<Rubah Hapus \<Hapus Atas |< Mundur < Maju > Bawah >| Cari \<Cari Grid1 .T. rincimsk

B.

PENULISAN CODE PROGRAM

Untuk penulisan Code program sama seperti code program form yang lainnya, namun pada form ini kita menggunakan metode procedure 1) Prosedure Active Form
select barang thisform.txtnonmsk.value=mnonmsk thisform.txthrgmsk.value=0 thisform.txtjmlmsk.value=0

2)

Prosedure Form Init

public mnonmsk,mhrgmsk,mkdkayu,mqtymsk balik=0

3)

Prosedure Ok Clik

balik=1 mkdbrg=thisform.txtkdbrg.value mnonmsk=thisform.txtnonmsk.value mjmlmsk=thisform.txtjmlmsk.value mhrgmsk=thisform.txthrgmsk.value select barang set filter to seek mkodebrg if found() replace jmlstok with jmlstok + mjmlmsk replace hrgjual with mhrgmsk endif select rincimsk set filter to set order to nonmsk locate for nonmsk=mnonmsk .and. kodebrg=mkdbrg if found() replace nonmsk with mnonmsk replace jmlmsk with mjmlmsk replace kodebrg with mkdbrg replace hrgmsk with mhrgmsk else append blank replace nonmsk with mnonmsk replace jmlmsk with mjmlmsk replace kodebrg with mkdbrg replace hrgmsk with mhrgmsk endif thisform.txthrgmsk.value=0 thisform.txtjmlmsk.value=0 thisform.txtkdbrg.value="" thisform.txtkdbrg.setfocus()

4)

Prosedure keluar Clik

select rincimsk set filter to thisform.release()

5)

Prosedure txtkodebrg Lost Focus Clik

mkdbrg=thisform.txtkdbrg.value select barang set filter to set order to kodebrg seek mkdbrg if found() thisform.txtnmbarang.value=nmbarang thisform.txthrgmsk.value=hrgbeli else thisform.txtnmbarang.value="" thisform.txthrgmsk.value=0 endif

Anda mungkin juga menyukai