BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat...

91
1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1 Membuat Project File INVENTORY 1. Buka Program Microsoft Visual FoxPro 9.0 2. Klik Menu File pada Menu Bar 3. Pilih New pada Sub Menu File 4. Pilih Type File Project 5. Klik Tombol New File 6. Pada kotak dialog Save in Pindahkan folder ke Forder PRG di Folder Anda, Jika belum ada silahkan anda buatkan dulu: O:\FOXPRO\NamaAnda\PRG 7. Isi baris Enter Project File dengan INVENTORY (Nama File Project) 8. Klik tombol Save 1.2 Membuat Menu Program 1. Klik Page Other pada Project File INVENTORY 2. Pilih Menu 3. Klik tombol New

Transcript of BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat...

Page 1: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

1

AMIK Al Ma’soem

BAGIAN I Tujuan :

1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program

A. BAHAN PRAKTEK I 1.1 Membuat Project File INVENTORY

1. Buka Program Microsoft Visual FoxPro 9.0 2. Klik Menu File pada Menu Bar 3. Pilih New pada Sub Menu File

4. Pilih Type File Project 5. Klik Tombol New File

6. Pada kotak dialog Save in Pindahkan folder ke Forder PRG di Folder Anda, Jika belum ada silahkan anda buatkan dulu: O:\FOXPRO\NamaAnda\PRG

7. Isi baris Enter Project File dengan INVENTORY (Nama File Project) 8. Klik tombol Save

1.2 Membuat Menu Program

1. Klik Page Other pada Project File INVENTORY 2. Pilih Menu 3. Klik tombol New

Page 2: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

2

AMIK Al Ma’soem

4. Klik Tombol Menu

1.3 Membuat Menu Bar

Ketik Menu Bar di atas seperti berikut ini :

1.4 Sub Menu File

1. Klik pada prompt File 2. Pilih Result Submenu, kemudian Klik tombol Create sebelah kanan Submenu 3. Ketik submenu berikut :

4. Untuk memasukan perintah CTRL+W, klik pada tombol Option, kemudian klik pada textbox (press

the key) tekan CTRL+W. Lalu tekan tombol Ok untuk mengakhiri. 5. Pada prompt Logout, ganti result dengan Procedure, kemudian ketik prosedur berikut :

IF TYPE("FORMLOGIN")#"0"

Page 3: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

3

AMIK Al Ma’soem

DO FORM o:\FOXPRO\NAMA\prg\FORMLOGIN.SCX

ENDIF

1.5 Sub Menu Master

1. Pindahkan Menu Level ke Menu Bar 2. Klik Prompt Master 3. Pilih Result Submenu, kemudian klik tombol Create sebelah kanan Submenu 4. Ketik submenu berikut :

1.6 Sub Menu Transaksi Lakukan perintah seperti di atas, untuk membuat submenu dari Transaksi berikut ini :

1.7 Sub Menu Laporan Buatkan lagi submenu Laporan berikut dengan cara seperti membuat submenu Master.

Page 4: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

4

AMIK Al Ma’soem

1.8 Sub Menu BackUp

Lakukan perintan yang sama untuk membuat submenu Backup berikut :

1.9 Sub Menu Utility

Lakukan pula perintah seperti di atas untuk membuat submenu Utility berikut :

1.10 Menyimpan Menu Program

1. Klik Menu File pada Menu Bar 2. Pilih Save

3. Pada kotak dialog Save in, pindahkan ke folder PRG di folder Anda 4. Ketik nama file MenuLogin pada baris Save Menu As, kemudian Klik tombol Save

1.11 Menguji Menu Program

1. Klik tanda + di sebelah kiri Menus pada page Other 2. Klik File MenuLogin, kemudian Klik tombol Run

B. LATIHAN I Buatkan Menu Program Beikut, dan simpan dengan nama MenuUser : 1. Sub menu File

Page 5: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

5

AMIK Al Ma’soem

2. Sub menu Master

3. Sub menu Transaksi

4. Sub menu Laporan

5. Sub menu BackUp

Page 6: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

6

AMIK Al Ma’soem

6. Sub menu Utility

C. TUGASI Buatkan Menu Program berikut, dan simpan dengen nama MenuAdmin: 1. Sub menu File dan BackUp sama dengan MenuUser 2. Sub menu Master adalah sbb :

3. Sub menu Transaksi adalah sbb :

4. Sub menu Laporan adalah sbb :

5. Sub menu Utility adalah sbb :

Page 7: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

7

AMIK Al Ma’soem

Page 8: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

8

AMIK Al Ma’soem

BAGIAN II

Tujuan :

1. Membuat Database DINVENTORY 2. Membuat Tabel USERS 3. Membuat Free Table TMPUSERS 4. Membuat Form Login 5. Connection File Form 6. Menguji Form dan Menu Program

A. BAHAN PRAKTEK II 2.1 Membuat Database DINVENTORY dan Tabel USERS, serta Free Tabel TMPUSERS 1. Buatkan Databse DINVENTORY pada folder O:\FOXPRO\DATA 2. Buatkan Tabel USERS pada database DINVENTORY dengan struktur sbb :

3. Berikan Primary Key pada field NMID 4. Simpan dengan nama file USERS pada folder O:\FOXPRO\DATA 5. Buatkan lagi Tabel TMPUSERS pada Free Tabel dengan struktur file yang sama dengan Tabel USERS dan

simpan pada folder O:\FOXPRO\NAMA\DATA 2.2 Membuat Form LOGIN 1. Buatkan Form Login sbb :

2. Isikan Procedure berikut pada form Login a. Object Form1 Procedure ACTIVATE

set exact on

SET MULTILOCKS ON

SET EXCLUSIVE OFF

set defa to O:\FOXPRO\DATA

OPEN DATABASE DINVENTORY SHARED

if ! used('users')

Page 9: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

9

AMIK Al Ma’soem

use users IN 0 SHARED

endif

if used('tmpusers')

use IN tmpusers

ENDIF

SELECT 10

USE O:\foxpro\ceps\data\tmpusers EXCLUSIVE

set order to tag nmid

set order to tag pswd

thisform.nmid.value=""

thisform.pswd.value=""

RETURN

b. Object Form1 Procedure UNLOAD close data

RETURN

c. Object LOGIN Procedure CLICK

IF EMPTY(thisform.nmid.value)

messagebox("User Id tidak boleh kosong...!",0,"Perhatian...")

thisform.nmid.setfocus

RETURN

ELSE

IF EMPTY(thisform.PSWD.value)

messagebox("Password tidak boleh kosong...!",0,"Perhatian...")

thisform.pswd.setfocus

RETURN

else

SELECT users

set order to tag nmid

LOCATE FOR NMID=TRIM(thisform.nmid.value)

if ! found()

messagebox("Maaf User Id Anda Belum Terdaftar...!",0,"Perhatian...")

thisform.nmid.setfocus

retu

else

set order to tag pswd LOCATE for nmid=TRIM(thisform.nmid.value) .and. pswd=TRIM(thisform.pswd.value)

if ! found()

messagebox("Maaf Password Tidak Dikenal...!",0,"Perhatian...")

thisform.pswd.setfocus()

retu

ELSE

SELECT tmpusers

DELETE ALL

SET DELETED OFF

PACK

APPEND FROM USERS FOR NMID=TRIM(THISFORM.NMID.Value)

IF users.jabat=1

DO e:\foxpro\ceps\prg\MENUUSER.MPR

ELSE

IF users.jabat=2

DO e:\foxpro\ceps\prg\MENUADMIN.MPR

ENDIF

ENDIF

Page 10: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

10

AMIK Al Ma’soem

thisform.release

endif

endif

ENDIF

ENDIF

d. Object BATAL Procedure CLICK

thisform.release

retu 2.3 Connection Form LOGIN ke MenuLogin 1. Buka Menu Program MenuLogin 2. Klik Prompt File pada Menu Level MenuBar 3. Pilih Result Submenu, kemudian Klik Edit 4. Klik Prompt Login pada Submenu File 5. Pilih Result Procedure, kemudian klik Create 6. Isikan procedure berikut :

IF TYPE("FORMLOGIN")#"0"

DO FORM o:\FOXPRO\nama\prg\FormLogin.SCX

ENDIF 7. Simpan MenuLogin 8. Klik Tombol RUN, untuk menguji MenuLogin

B. LATIHAN II 1. Buatkan Form Kelola Data USER dengan LayOut sbb :

2. Procedure Form Kelola Data USER : a. Object Form1 Procedure LOAD

SET MULTILOCKS ON

SET EXCLUSIVE OFF

Page 11: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

11

AMIK Al Ma’soem

set exact on

CLOSE DATABASES

set defa to O:\FOXPRO\DATA

OPEN DATABASE DINVENTORY SHARED

if ! USED("users")

USE users IN 0 SHARED

endif

if used('tmpusers')

use IN tmpusers

ENDIF

SELECT 10

USE O:\foxpro\ceps\data\tmpusers EXCLUSIVE

RETURN

b. Object Form1 Procedure UNLOAD CLOSE DATABASES

RETURN

c. Object Form1 Procedure NonNmid PARAMETERS x

thisform.namauser.Enabled=x

thisform.pswd.Enabled=x

thisform.jabat.Enabled=x

RETURN

d. Object Form1 Procedure Kendali PARAMETERS y

thisform.pertama.Enabled=y

thisform.sebelumnya.Enabled=y

thisform.berikutnya.Enabled=y

thisform.terakhir.Enabled=y

RETURN

e. Object Form1 Procedure Kosongkan thisform.nmid.value=""

thisform.pswd.value="”

thisform.namauser.value=""

thisform.jabat.value=0

retu f. Object Form1 Procedure Tampilkan

thisform.nmid.value=tmpusers.nmid

thisform.namauser.value=tmpusers.namauser

thisform.pswd.value=tmpusers.pswd

thisform.jabat.value=tmpusers.jabat

retu

g. Object Form1 Procedure Activate SELECT TMPUSERS DELETE ALL SET DELETE ON

Page 12: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

12

AMIK Al Ma’soem

APPEND FROM USERS Thisform.refresh

thisform.nmid.enabled=.f.

thisform.nonnmid(.f.)

thisform.kendali(.t.)

thisform.baru.enabled=.t.

thisform.keluar.enabled=.t.

thisform.hapus.enabled=.f.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.f.

thisform.kosongkan

thisform.baru.setfocus

thisform.grid1.readonly=.t.

thisform.grid1.enabled=.t.

return

h. Object NMID Procedure LOSTFOCUS if empty(thisform.nmid.value)

messagebox("Nama Id Harus Diisi !",0,"Perhatian...!")

thisform.nmid.setfocus

return

endif

IF len(trim(thisform.nmid.Value))<4

messagebox("User Id tidak boleh kurang dari 5 digit !",;

0,"Perhatian...")

thisform.nmid.setfocus

RETURN

ENDIF

SELECT users

SET ORDER TO TAG nmid

SET EXACT ON

LOCATE FOR nmid=trim(thisform.nmid.value)

IF FOUND()

thisform.grid1.setfocus

thisform.refresh

MESSAGEBOX("Data tersebut sudah ada..",0+48,"Perhatian...")

else

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.f.

thisform.batal.enabled=.t.

thisform.baru.enabled=.f.

thisform.simpan.enabled=.t.

thisform.keluar.enabled=.f.

thisform.hapus.enabled=.f.

thisform.nmid.enabled=.f.

thisform.nonnmid(.t.)

thisform.kendali(.f.)

thisform.kosongkan

thisform.pswd.setfocus

thisform.grid1.readonly=.t.

thisform.grid1.enabled=.f.

endif

return

Page 13: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

13

AMIK Al Ma’soem

i. Oject PSWD Procedure LOSTFOCUS IF len(trim(thisform.pswd.Value))<4

messagebox("Password tidak boleh kurang dari 4 digit !",;

0,"Perhatian...")

thisform.pswd.setfocus

RETURN

ENDIF

j. Oject CARI Procedure CLICK if empty(thisform.nmid.value)

messagebox("Nama Id Harus Diisi !",0,"Perhatian...!")

thisform.nmid.setfocus

return

endif

SELECT users

SET ORDER TO TAG nmid

SET EXACT OFF

LOCATE FOR nmid=TRIM(thisform.nmid.value)

if FOUND()

thisform.grid1.setfocus

thisform.refresh

ELSE

MESSAGEBOX("Data tidak ditemukan...",0,"Perhatian...")

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.f.

thisform.batal.enabled=.t.

thisform.baru.enabled=.f.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.f.

thisform.hapus.enabled=.f.

thisform.nmid.enabled=.f.

thisform.nonnmid(.f.)

thisform.kendali(.f.)

thisform.kosongkan

thisform.pswd.enabled=.t.

thisform.nmid.value=""

thisform.pswd.setfocus

thisform.grid1.readonly=.t.

thisform.grid1.enabled=.f.

endif

return

k. Oject CARI Procedure RIGHTCLICK thisform.nmid.Enabled=.t.

thisform.nmid.setfocus

return

l. Oject TAMBAH Procedure CLICK thisform.nmid.enabled=.t.

thisform.nonnmid(.f.)

thisform.kendali(.f.)

thisform.baru.enabled=.f.

thisform.keluar.enabled=.f.

thisform.hapus.enabled=.f.

Page 14: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

14

AMIK Al Ma’soem

thisform.simpan.enabled=.f.

thisform.batal.enabled=.t.

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.f.

thisform.grid1.readonly=.t.

thisform.grid1.enabled=.f.

thisform.kosongkan

thisform.nmid.setfocus

return

m. Oject SIMPAN Procedure CLICK IF EMPTY(thisform.nmid.value)

messagebox("Isi dulu Nama Id-nya !",0,"Perhatian...")

thisform.nmid.setfocus

RETURN

ELSE

IF EMPTY(thisform.namauser.value)

messagebox("Isi dulu Nama User-nya !",0,"Perhatian...")

thisform.namauser.setfocus

RETURN

ELSE

IF EMPTY(thisform.pswd.value)

messagebox("Isi dulu Password-nya !",0,"Perhatian...")

thisform.pswd.setfocus

RETURN

ELSE

IF EMPTY(thisform.jabat.value)

messagebox("Isi dulu Jabatan-nya !",0,"Perhatian...")

thisform.jabat.setfocus

RETURN

ELSE

IF len(thisform.NMID.value)<4

messagebox("Nama Id minimal 4 Character...!",0,"Perhatian...")

thisform.nmid.setfocus

RETURN

ELSE

IF len(thisform.PSWD.value)<4

messagebox("Password minimal 4 Character...!",0,"Perhatian...")

thisform.pswd.setfocus

RETURN

ELSE

SELECT users

locate for nmid=trim(thisform.nmid.value)

if found()

messagebox("Nama Id ada yang sama !",0,;

"Penyimpanan tidak bisa dilakukan")

thisform.nmid.setfocus

RETURN

endif

locate for pswd=trim(thisform.pswd.value)

Page 15: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

15

AMIK Al Ma’soem

if found()

messagebox("Password ada yang sama !",0,;

"Penyimpanan tidak bisa dilakukan")

thisform.pswd.setfocus

return

ENDIF

IF ! EMPTY(thisform.jabat.Value)

locate for nmid=space(14)

if ! found()

append blank

endif

WITH thisform

REPLACE users.nmid with .nmid.value,users.pswd with .pswd.value,;

users.namauser with .namauser.value,users.jabat with .jabat.value

IN [users]

ENDWITH

SELECT TMPUSERS

APPEND BLANK

WITH thisform

REPLACE tmpusers.nmid with .nmid.value,tmpusers.pswd with .pswd.value,;

tmpusers.namauser with .namauser.value,;

tmpusers.jabat with .jabat.value IN [tmpusers]

ENDWITH

thisform.grid1.setfocus

thisform.Refresh

messagebox("Penyimpanan data sudah dilakukan !",0,"Perhatian...")

thisform.perbaiki.enabled=.t.

thisform.ud.enabled=.f.

thisform.batal.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.t.

thisform.hapus.enabled=.t.

thisform.nmid.enabled=.f.

thisform.nonnmid(.f.)

thisform.kendali(.t.)

thisform.grid1.readonly=.t.

thisform.grid1.enabled=.t.

return

ELSE

messagebox("Isi dulu Jabatan-nya !",0,"Perhatian...")

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

n. Oject BATAL Procedure CLICK thisform.nmid.enabled=.f.

Page 16: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

16

AMIK Al Ma’soem

thisform.nonnmid(.f.)

thisform.kendali(.t.)

thisform.baru.enabled=.t.

thisform.keluar.enabled=.t.

thisform.hapus.enabled=.f.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.f.

thisform.grid1.readonly=.t.

thisform.grid1.enabled=.t.

thisform.kosongkan

thisform.nmid.setfocus

return

o. Oject HAPUS Procedure CLICK SELECT users

LOCATE FOR nmid=TRIM(THISFORM.nmid.Value)

ln=RECNO()

ljawab=messagebox("Anda Yakin ?",4+32+256,"Record ini mau dihapus !")

if ljawab=6

DELETE FOR nmid=TRIM(THISFORM.nmid.Value)

set dele on

ENDIF

goto ln

thisform.grid1.setfocus

thisform.refresh

thisform.perbaiki.enabled=.t.

thisform.ud.enabled=.f.

thisform.batal.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.t.

thisform.hapus.enabled=.t.

thisform.nmid.enabled=.f.

thisform.nonnmid(.f.)

thisform.kendali(.t.)

thisform.grid1.readonly=.t.

thisform.grid1.enabled=.t.

return

p. Oject KELUAR Procedure CLICK thisform.release return

q. Oject PERBAIKI Procedure CLICK thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.t.

thisform.batal.enabled=.t.

thisform.baru.enabled=.f.

thisform.simpan.enabled=.f.

Page 17: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

17

AMIK Al Ma’soem

thisform.keluar.enabled=.f.

thisform.hapus.enabled=.f.

thisform.nonnmid(.t.)

thisform.kendali(.f.)

thisform.nmid.enabled=.f.

thisform.pswd.setfocus

thisform.grid1.readonly=.t.

thisform.grid1.enabled=.f.

return

r. Oject UD Procedure CLICK IF EMPTY(thisform.nmid.value)

messagebox("Isi dulu Nama Id-nya !",0,"Perhatian...")

thisform.nmid.setfocus

RETURN

ENDIF

IF EMPTY(thisform.namauser.value)

messagebox("Isi dulu Nama User-nya !",0,"Perhatian...")

thisform.namauser.setfocus

RETURN

ENDIF

IF EMPTY(thisform.pswd.value)

messagebox("Isi dulu Password-nya !",0,"Perhatian...")

thisform.pswd.setfocus

RETURN

ENDIF

IF EMPTY(thisform.jabat.value)

messagebox("Isi dulu Jabatan-nya !",0,"Perhatian...")

thisform.jabat.setfocus

RETURN

ENDIF

IF len(thisform.NMID.value)<4

messagebox("Nama Id minimal 4 Character...!",0,"Perhatian...")

thisform.nmid.setfocus

RETURN

ENDIF

IF len(thisform.PSWD.value)<4

messagebox("Password minimal 4 Character...!",0,"Perhatian...")

thisform.pswd.setfocus

RETURN

ENDIF

JAWAB=MESSAGEBOX("Anda yakin mau memperbaiki data sebelumnya?",;

4+32,"Perhatian...")

IF jawab=6

Select users

WITH thisform

REPLACE users.nmid with .nmid.value,users.pswd with .pswd.value,;

users.namauser with .namauser.value,users.jabat with .jabat.value IN [users]

ENDWITH

SELECT TMPUSERS

WITH thisform

Page 18: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

18

AMIK Al Ma’soem

REPLACE tmpusers.nmid with .nmid.value,tmpusers.pswd with .pswd.value,;

tmpusers.namauser with .namauser.value,;

tmpusers.jabat with .jabat.value IN [tmpusers]

ENDWITH

thisform.Refresh

ENDIF

thisform.perbaiki.enabled=.t.

thisform.ud.enabled=.f.

thisform.batal.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.t.

thisform.hapus.enabled=.t.

thisform.nmid.enabled=.f.

thisform.nonnmid(.f.)

thisform.kendali(.t.)

thisform.grid1.readonly=.t.

thisform.grid1.enabled=.t.

return

s. Oject PERTAMA Procedure CLICK SELECT users

go top

if eof()

messagebox("Tidak ada record...",0,"Perhatian...!")

return

ENDIF

thisform.grid1.setfocus

thisform.refresh

return

t. Oject SEBELUMNYA Procedure CLICK SELECT users

skip -1

if bof()

go top

ENDIF

thisform.grid1.setfocus

thisform.refresh

return

u. Oject BERIKUTNYA Procedure CLICK SELECT users

skip

if bof()

go bottom

ENDIF

thisform.grid1.setfocus

thisform.refresh

return

v. Oject TERAKHIR Procedure CLICK

Page 19: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

19

AMIK Al Ma’soem

SELECT users

go bottom

if eof()

messagebox("Tidak ada record...",0,"Perhatian...!")

return

ENDIF

thisform.grid1.setfocus

thisform.refresh

return

w. Oject GRID1 Procedure AfterRowColChange LPARAMETERS nColIndex

thisform.perbaiki.enabled=.t.

thisform.hapus.enabled=.t.

thisform.batal.enabled=.f.

thisform.nmid.enabled=.f.

thisform.nonnmid(.f.)

thisform.kendali(.t.)

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.t.

thisform.grid1.enabled=.t.

thisform.grid1.readonly=.t.

thisform.tampilkan

retu

C. TUGAS II Buatkan Form Mengganti Password dengan LayOut sbb :

Page 20: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

20

AMIK Al Ma’soem

BAGIAN III

Tujuan :

1. Membuat Table Barang 2. Membuat Table Supplier 3. Membuat Table Pelanggan 4. Membuat Table Pembelian 5. Membuat Table Faktur Pembelian (FakturB) 6. Membuat Table Penjualan 7. Membuat Table Faktur Penjualan (Faktur) 8. Membuat Form untuk mengelola data Barang

A. BAHAN PRAKTEK III

3.1 Table Barang Nama Table : Barang Primary Key : KodeBrg

3.2 Table Supplier Nama Table : Supplier Primary Key : NoSup

Page 21: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

21

AMIK Al Ma’soem

3.3 Table Pelanggan Nama Table : Pelanggan Primary Key : NoPel

3.4 Table Pembelian Nama Table : Pembelian Primary Key : -

3.5 Table Faktur Pembelian Nama Table : FakturB Primary Key : NofakB

3.6 Table Penjualan Nama Table : Penjualan Primary Key : -

Page 22: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

22

AMIK Al Ma’soem

3.7 Table Faktur Penjualan Nama Table : Faktur Primary Key : NoFak

3.8 Form Kelola Data Barang Nama Form : OlahBrg

3.9 Procedure Program

*Object FORM1 Procedure LOAD SET MULTILOCKS ON

SET EXCLUSIVE OFF

SET EXACT ON

SET CENTURY ON

CLOSE DATABASES

Page 23: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

23

AMIK Al Ma’soem

SET DEFAULT TO E:\FOXPRO\data

* Menutup semua file yang tidak diperlukan

OPEN DATABASE DINVENTORY SHARED

if ! USED("BARANG")

USE BARANG IN 0 SHARED

ENDIF

if ! USED("PENJUALAN")

USE PENJUALAN IN 0 SHARED

ENDIF

if ! USED("PEMBELIAN")

USE PEMBELIAN IN 0 SHARED

ENDIF

if USED("TMPBRGA")

USE IN TMPBRGA

ENDIF

SELECT 10

USE E:\FOXPRO\CEPS\DATA\TMPBRGA EXCLUSIVE

RETURN

*Object FORM1 Procedure NonKode

PARAMETERS keadaan

thisform.namabrg.enabled=keadaan

thisform.stock.enabled=keadaan

thisform.stockmin.enabled=keadaan

thisform.stockmax.enabled=keadaan

thisform.loker.enabled=keadaan

thisform.hargabeli.enabled=keadaan

thisform.hargajual.enabled=keadaan

thisform.disk.enabled=keadaan

RETURN

*Object FORM1 Procedure KENDALI

parameter x

thisform.pertama.enabled=x

thisform.sebelumnya.enabled=x

thisform.berikutnya.enabled=x

thisform.terakhir.enabled=x

RETURN

*Object FORM1 Procedure KOSONGKAN

thisform.namabrg.value=""

thisform.stock.value=0

thisform.stockmin.value=0

thisform.stockmax.value=0

thisform.loker.value=""

thisform.hargabeli.value=0

thisform.hargajual.value=0

thisform.disk.value=0

RETURN

*Object FORM1 Procedure TAMPILKAN

thisform.kodebrg.value=tmpbrga.kodebrg

thisform.namabrg.value=tmpbrga.namabrg

thisform.stock.value=tmpbrga.stock

thisform.stockmin.value=tmpbrga.stockmin

Page 24: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

24

AMIK Al Ma’soem

thisform.stockmax.value=tmpbrga.stockmax

thisform.loker.value=tmpbrga.loker

thisform.hargabeli.value=tmpbrga.hargabeli

thisform.hargajual.value=tmpbrga.hargajual

thisform.disk.value=tmpbrga.disk

RETURN

*Object FORM1 Procedure ACTIVATE SELECT TMPBRGA

SET DELETED ON

DELETE ALL

APPEND FROM BARANG

THISFORM.REFRESH

thisform.kodebrg.enabled=.f.

thisform.nonkode(.f.)

thisform.kendali(.t.)

thisform.baru.enabled=.t.

thisform.keluar.enabled=.t.

thisform.hapus.enabled=.f.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.lihat.enabled=.f.

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.f.

thisform.kosongkan

thisform.kodebrg.setfocus

thisform.grid1.enabled=.t.

RETURN

*Object KODEBRG Procedure LostFocus

if empty(thisform.kodebrg.value)

messagebox("Kode Barang Harus Diisi !",0,"Perhatian...!")

thisform.kodebrg.setfocus

return

endif

if empty(thisform.KODEBRG.value)

messagebox("Kode Barang Harus Diisi !",0,"Perhatian...!")

thisform.KODEBRG.setfocus

return

endif

if left(thisform.KODEBRG.value,1)#"B" .and.

left(thisform.KODEBRG.value,1)#"S"

messagebox("Kode Barang harus diawali hurup B untuk barang bubutan ";

+CHR(13)+"dan Hurup S untuk barang sparepart !",0,"Perhatian...!")

thisform.KODEBRG.setfocus

return

ENDIF

IF VAL(SUBSTR(TRIM(thisform.KODEBRG.Value),2,5))<1

messagebox("Mulai karakter ke 2 hrs diisi dengan no urut !",;

0+48,"Perhatian...")

thisform.KODEBRG.setfocus

RETURN

ENDIF

IF LEN(TRIM(thisform.KODEBRG.Value))<6

messagebox("Jumlah Kode harus 6 character !",0+32,"Perhatian...")

Page 25: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

25

AMIK Al Ma’soem

thisform.KODEBRG.setfocus

RETURN

ENDIF

SELECT BARANG

SET ORDER TO TAG KODEBRG

LOCATE FOR KODEBRG=TRIM(thisform.kodebrg.value)

if FOUND()

SELECT TMPBRGA

SET ORDER TO TAG KODEBRG

LOCATE FOR KODEBRG=TRIM(thisform.kodebrg.value)

thisform.grid1.setfocus

thisform.refresh

messagebox("Data barang tersebut sudah ada !",0,;

"Perhatian...")

return

else

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.f.

thisform.batal.enabled=.t.

thisform.baru.enabled=.f.

thisform.simpan.enabled=.t.

thisform.keluar.enabled=.f.

thisform.hapus.enabled=.f.

thisform.kodebrg.enabled=.f.

thisform.lihat.enabled=.f.

thisform.nonkode(.t.)

thisform.kendali(.f.)

thisform.kosongkan

thisform.namabrg.setfocus

thisform.grid1.enabled=.f.

endif

RETURN

*Object CARI Procedure RIGHTCLICK

thisform.namabrg.Enabled=.t.

thisform.namabrg.SetFocus

RETURN

*Object CARI Procedure CLICK

if empty(thisform.namabrg.value)

messagebox("Kode Barang Harus Diisi !",0,"Perhatian...!")

thisform.namabrg.setfocus

return

endif

SELECT BARANG

SET EXACT OFF

SET ORDER TO NAMABRG && NAMABRG

LOCATE FOR UPPER(namabrg)=UPPER(TRIM(thisform.namabrg.value))

if FOUND()

SELECT TMPBRGA

SET ORDER TO TAG KODEBRG

Page 26: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

26

AMIK Al Ma’soem

LOCATE FOR KODEBRG=TRIM(thisform.kodebrg.value)

thisform.grid1.setfocus

thisform.refresh

thisform.grid1.enabled=.t.

ELSE

messagebox("Data barang yang diminta tidak ditemukan?",;

0,"Perhatian...")

thisform.nonkode(.f.)

thisform.kosongkan

thisform.kodebrg.value=""

thisform.namabrg.enabled=.t.

thisform.namabrg.setfocus

thisform.grid1.enabled=.f.

ENDIF

RETURN

*Object TAMBAH Procedure CLICK

thisform.kodebrg.enabled=.t.

thisform.nonkode(.f.)

thisform.kendali(.f.)

thisform.baru.enabled=.f.

thisform.keluar.enabled=.f.

thisform.hapus.enabled=.f.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.t.

thisform.lihat.enabled=.f.

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.f.

thisform.grid1.enabled=.f.

thisform.kosongkan

thisform.kodebrg.value=""

thisform.kodebrg.setfocus

RETURN

*Object SIMPAN Procedure CLICK

IF EMPTY(thisform.namabrg.value)

thisform.simpan.Enabled=.f.

messagebox("Nama barang tidak boleh kosong!",0,"Perhatian...")

thisform.namabrg.setfocus

thisform.simpan.Enabled=.t.

RETURN

else

IF EMPTY(thisform.hargabeli.value)

thisform.simpan.Enabled=.f.

messagebox("Harga beli tidak boleh kosong!",0,"Perhatian...")

thisform.hargabeli.setfocus

thisform.simpan.Enabled=.t.

RETURN

else

IF EMPTY(thisform.hargajual.value)

thisform.simpan.Enabled=.f.

Page 27: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

27

AMIK Al Ma’soem

messagebox("Harga jual tidak boleh kosong!",0,"Perhatian...")

thisform.hargajual.setfocus

thisform.simpan.Enabled=.t.

RETURN

else

IF thisform.hargajual.Value<thisform.hargabeli.Value

thisform.simpan.Enabled=.f.

MESSAGEBOX("Input harga dengan benar !",0,"Perhatian...")

thisform.hargabeli.SetFocus

thisform.simpan.Enabled=.t.

RETURN

else

SELECT BARANG

locate for namabrg=trim(thisform.namabrg.value)

if found()

messagebox("Nama Barang Ada Yang Sama !",0,;

"Penyimpanan tidak bisa dilakukan")

thisform.namabrg.setfocus

return

else

locate for kodebrg=space(6)

if ! found()

append blank

endif

WITH THISFORM

REPLACE barang.kodebrg with .kodebrg.value,;

barang.namabrg with .namabrg.value,barang.stock with .stock.value,;

barang.stockmin with .stockmin.value,barang.stockmax with .stockmax.value,;

barang.loker with .loker.value,barang.hargabeli with .hargabeli.value,;

barang.hargajual with .hargajual.value,barang.disk with .disk.value IN [BARANG]

ENDWITH

SELECT TMPBRGA

APPEND BLANK

WITH THISFORM

REPLACE tmpbrga.kodebrg with .kodebrg.value,;

tmpbrga.namabrg with .namabrg.value,tmpbrga.stock with .stock.value,;

tmpbrga.stockmin with .stockmin.value,tmpbrga.stockmax with .stockmax.value,;

tmpbrga.loker with .loker.value,tmpbrga.hargabeli with .hargabeli.value,;

tmpbrga.hargajual with .hargajual.value,tmpbrga.disk with .disk.value IN [tmpbrga]

ENDWITH

thisform.simpan.Enabled=.t.

thisform.grid1.setfocus

thisform.Refresh

messagebox("Penyimpanan data sudah dilakukan !",0,"Perhatian...")

thisform.perbaiki.enabled=.t.

thisform.ud.enabled=.f.

thisform.batal.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.t.

thisform.hapus.enabled=.t.

thisform.kodebrg.enabled=.f.

thisform.lihat.enabled=.t.

thisform.nonkode(.f.)

Page 28: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

28

AMIK Al Ma’soem

thisform.kendali(.t.)

thisform.grid1.enabled=.t.

thisform.baru.setfocus

RETURN

ENDIF

ENDIF

ENDIF

ENDIF

ENDIF

*Object BATAL Procedure CLICK

thisform.grid1.SetFocus

thisform.Refresh

SELECT TMPBRGA

LOCATE FOR kodebrg=TRIM(thisform.kodebrg.value)

IF FOUND()

vstock=tmpbrga.stock

vhargabeli=tmpbrga.hargabeli

ELSE

vstock=0

vhargabeli=0

ENDIF

thisform.kodebrg.enabled=.f.

thisform.nonkode(.f.)

thisform.kendali(.t.)

thisform.baru.enabled=.t.

thisform.keluar.enabled=.t.

thisform.hapus.enabled=.f.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.f.

thisform.grid1.enabled=.t.

thisform.kosongkan

thisform.kodebrg.setfocus

RETURN

*Object HAPUS Procedure CLICK

SELECT PENJUALAN

LOCATE FOR KODEBRG=TRIM(THISFORM.kodebrg.Value)

IF FOUND()

messagebox("Maaf Record ini tidak bisa dihapus ?",0,;

"Barang tsb sudah digunakan dalam transaksi... ")

RETURN

ENDIF

SELECT PEMBELIAN

LOCATE FOR KODEBRG=TRIM(THISFORM.kodebrg.Value)

IF FOUND()

messagebox("Maaf Record ini tidak bisa dihapus ?",0,;

"Barang tsb sudah digunakan dalam transaksi... ")

RETURN

Page 29: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

29

AMIK Al Ma’soem

ENDIF

ln=RECNO()

ljawab=messagebox("Anda Yakin ?",4+32+512,"Record ini mau dihapus !")

if ljawab=6

SELECT barang

LOCATE FOR KODEBRG=TRIM(THISFORM.kodebrg.Value)

DELETE

set dele on

SELECT TMPBRGA

LOCATE FOR KODEBRG=TRIM(THISFORM.kodebrg.Value)

DELETE

ENDIF

goto ln

thisform.grid1.setfocus

thisform.refresh

RETURN

*Object KELUAR Procedure CLICK SET EXCLUSIVE ON

SET DELETED OFF

SELECT TMPBRGA

DELETE ALL

PACK

SET DELETED ON

SET EXCLUSIVE OFF

thisform.release

RETURN

*Object CETAK Procedure CLICK

REPORT FORM E:\FOXPRO\CEPS\PRG\DAFTARBRG PREVIEW

RETURN

*Object PERBAIKI Procedure CLICK thisform.nonkode(.t.)

thisform.perbaiki.enabled=.f.

thisform.ud.enabled=.t.

thisform.batal.enabled=.t.

thisform.baru.enabled=.f.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.f.

thisform.hapus.enabled=.f.

thisform.kodebrg.enabled=.f.

thisform.kendali(.f.)

thisform.namabrg.setfocus

thisform.grid1.enabled=.f.

RETURN

*Object UD Procedure CLICK IF EMPTY(thisform.namabrg.value)

thisform.simpan.Enabled=.f.

messagebox("Nama barang tidak boleh kosong!",0,"Perhatian...")

thisform.namabrg.setfocus

thisform.simpan.Enabled=.t.

RETURN

ENDIF

Page 30: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

30

AMIK Al Ma’soem

IF EMPTY(thisform.hargabeli.value)

thisform.simpan.Enabled=.f.

messagebox("Harga beli tidak boleh kosong!",0,"Perhatian...")

thisform.hargabeli.setfocus

thisform.simpan.Enabled=.t.

RETURN

ENDIF

IF EMPTY(thisform.hargajual.value)

thisform.simpan.Enabled=.f.

messagebox("Harga jual tidak boleh kosong!",0,"Perhatian...")

thisform.hargajual.setfocus

thisform.simpan.Enabled=.t.

RETURN

ENDIF

IF thisform.hargajual.Value<thisform.hargabeli.Value

thisform.simpan.Enabled=.f.

MESSAGEBOX("Input harga dengan benar !",0,"Perhatian...")

thisform.hargabeli.SetFocus

thisform.simpan.Enabled=.t.

RETURN

ENDIF

jawab=messagebox("Mau Memperbaiki Data Sebelumnya ?",4+32,"Perhatian...!")

if jawab=6

SELECT BARANG

LOCATE FOR kodebrg=TRIM(thisform.kodebrg.value)

IF FOUND()

WITH THISFORM REPLACE BARANG.namabrg with .namabrg.value,;

barang.stock with .stock.value,barang.stockmin with .stockmin.value,;

barang.stockmax with .stockmax.value,barang.loker with .loker.value,;

barang.hargabeli with .hargabeli.value,barang.disk with .disk.value,;

barang.hargajual with .hargajual.value IN [barang]

ENDWITH

WITH THISFORM

REPLACE tmpbrga.kodebrg with .kodebrg.value,; tmpbrga.namabrg with .namabrg.value,tmpbrga.stock with .stock.value,;

tmpbrga.stockmin with .stockmin.value,tmpbrga.stockmax with .stockmax.value,;

tmpbrga.loker with .loker.value,tmpbrga.hargabeli with .hargabeli.value,;

tmpbrga.hargajual with .hargajual.value,tmpbrga.disk with .disk.value IN [tmpbrga]

ENDWITH

ENDIF

ELSE

thisform.grid1.SetFocus

thisform.Refresh

SELECT barang

LOCATE FOR kodebrg=TRIM(thisform.kodebrg.value)

IF FOUND()

vstock=barang.stock

vhargabeli=barang.hargabeli

ENDIF

ENDIF

thisform.perbaiki.enabled=.t.

thisform.ud.enabled=.f.

thisform.batal.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.t.

thisform.hapus.enabled=.t.

thisform.kodebrg.enabled=.f.

Page 31: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

31

AMIK Al Ma’soem

thisform.nonkode(.f.)

thisform.kendali(.t.)

thisform.kodebrg.setfocus()

thisform.grid1.enabled=.t.

RETURN

*Object PERTAMA Procedure CLICK

SELECT TMPBRGA

set order to

go top

if eof()

messagebox("Tidak ada record...!",0,"Perhatian...!")

thisform.refresh()

return

ENDIF

set order to tag kodebrg

thisform.grid1.setfocus

thisform.refresh

RETURN

*Object SEBELUMNYA Procedure CLICK SELECT TMPBRGA

set order to

skip -1

if bof()

go top

endif

set order to tag kodebrg

thisform.grid1.setfocus

thisform.refresh

RETURN

*Object BERIKUTNYA Procedure CLICK SELECT TMPBRGA

set order to

skip

if bof()

go bottom

endif

set order to tag kodebrg

thisform.grid1.setfocus

thisform.refresh

RETURN

*Object TERAKHIR Procedure CLICK SELECT TMPBRGA

set order to

go bottom

if eof()

messagebox("Tidak ada record...!",0,"Perhatian...!")

thisform.refresh()

return

ENDIF

set order to tag kodebrg

thisform.grid1.setfocus

thisform.refresh

RETURN

Page 32: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

32

AMIK Al Ma’soem

*Object GRID1 Procedure AfterRowCollChenge

LPARAMETERS nColIndex

thisform.perbaiki.enabled=.t.

thisform.hapus.enabled=.t.

thisform.batal.enabled=.f.

thisform.kodebrg.enabled=.f.

thisform.nonkode(.f.)

thisform.kendali(.t.)

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.t.

thisform.grid1.enabled=.t.

thisform.lihat.enabled=.t.

thisform.grid1.readonly=.t.

thisform.tampilkan

RETURN

B. TUGAS III : Buatkan Form KELOLA DATA PELANGGAN

Page 33: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

33

AMIK Al Ma’soem

BAGIAN IV

Tujuan : 1. Membuat ReportDaftar Persediaan Barang 2. Filter 3. Grouping

A. BAHAN PRAKTEK IV 1. Membuat Report DAFTAR PERSEDIAAN BARANG

2. Simpan Report dengan nama DAFTARBRG 3. Memanggil Report dari Form Kelola Barang a. Buka Form Kelola Data Barang b. Double Click pada tombol Cetak c. Ketik procedure berikut : REPORT FORM E:\FOXPRO\CEPS\PRG\DAFTARBRG PREVIEW

RETURN

Page 34: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

34

AMIK Al Ma’soem

B. TUGAS IV Buatkan Form Kelola data Supplier

Page 35: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

35

AMIK Al Ma’soem

BAGIAN V

Tujuan :

1. Transaksi Penjualan 2. Link File 3. Relasi File

A. BAHAN PRAKTEK V: 5.1 Free Table Temporary TMPJUALA Nama Free Table : TMPJUALA Primary Key : -

5.2 Free Table Temporary LAPJUALA Copy file Table TMPJUALA ke LAPJUALA, kemudian indeks sesuai table TMPJUALA

5.3 Form Transaksi PENJUALAN

Page 36: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

36

AMIK Al Ma’soem

* Object FORM1 Procedure LOAD set date british

set cent on

CLOSE DATABASES

SET MULTILOCKS ON

SET EXCLUSIVE OFF

set defa to E:\FOXPRO\DATA

OPEN DATABASE DINVENTORY SHARED

if ! used("barang")

use barang IN 0 SHARED

endif

if ! used("pelanggan")

use pelanggan IN 0 SHARED

endif

if ! used("faktur")

use faktur IN 0 SHARED

endif

if ! used("penjualan")

use penjualan IN 0 SHARED

endif

if ! used("pembelian")

use pembelian IN 0 SHARED

endif

if used("tmpjuala")

use in tmpjuala

ENDIF

select 9

USE e:\foxpro\ceps\data\tmpjuala EXCLUSIVE

select 10

USE e:\foxpro\ceps\data\tmpusers EXCLUSIVE

RETURN

Page 37: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

37

AMIK Al Ma’soem

* Object FORM1 Procedure UNLOAD CLOSE DATABASES

USE IN TMPJUALA

RETURN

* Object FORM1 Procedure AKTIF PARAMETERS x

thisform.nopel.Enabled=x

thisform.namapel.Enabled=x

RETURN

* Object FORM1 Procedure AKTIF1 PARAMETERS y

thisform.nofak.Enabled=y

thisform.tgljual.Enabled=y

RETURN

* Object FORM1 Procedure AKTIF2 PARAMETERS Z

thisform.namabrg.Enabled=z

thisform.kodebrg.Enabled=z

thisform.qty.Enabled=z

thisform.hargajual.Enabled=z

thisform.diskon.Enabled=z

RETURN

* Object FORM1 Procedure AKTIF3 PARAMETERS r

thisform.totdiskon.Enabled=r

thisform.jmlbayar.Enabled=r

thisform.piutang.Enabled=r

RETURN

* Object FORM1 Procedure KENDALI PARAMETERS s

thisform.pertama.Enabled=s

thisform.sebelumnya.Enabled=s

thisform.berikutnya.Enabled=s

thisform.terakhir.Enabled=s

RETURN

* Object FORM1 Procedure KOSONGKAN thisform.namabrg.value=""

thisform.qty.value=0

thisform.kodebrg.value=""

thisform.hargabeli.value=0

thisform.hargajual.value=0

thisform.totjual.value=0

thisform.nopel.value=""

thisform.namapel.value=""

thisform.diskon.value=0

thisform.totdiskon.value=0

thisform.jmlbayar.value=0

thisform.piutang.value=0

thisform.totlaba.value=0

RETURN

Page 38: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

38

AMIK Al Ma’soem

* Object FORM1 Procedure TAMPILKAN select faktur

SET ORDER TO TGLTRAN

thisform.nofak.value=faktur.nofak

thisform.tgljual.value=faktur.tgltran

thisform.totjual.value=faktur.totjual

thisform.totdiskon.value=faktur.totdiskon

thisform.jmlbayar.value=faktur.jmlbayar

thisform.piutang.value=faktur.piutang

thisform.nopel.value=faktur.nopel

thisform.totlaba.value=faktur.totlaba

thisform.namauser.value=faktur.namauser

select pelanggan

locate for nopel=thisform.nopel.value

thisform.namapel.value=pelanggan.namapel

select tmpjuala

dele all

set dele on

appe from penjualan for nofak=thisform.nofak.value

go top

do while ! eof()

select barang

locate for kodebrg=tmpjuala.kodebrg

IF FOUND()

vnamabrg=barang.namabrg

vhargabeli=barang.hargabeli

ELSE

vnamabrg=""

vhargabeli=0

endif

select tmpjuala

REPLACE namabrg with vnamabrg

REPLACE hargabeli with vhargabeli

REPLACE hargajual WITH jumlah/qty

skip

enddo

REPLACE ALL NoFak WITH thisform.Nofak.Value

REPLACE ALL tgltran WITH thisform.tgljual.Value

REPLACE ALL Nopel WITH thisform.Nopel.Value

REPLACE ALL namauser with thisform.namauser.value

GO BOTTOM

REPLACE totjual with thisform.totjual.value

REPLACE totdiskon with thisform.totdiskon.value

REPLACE jmlbayar with thisform.jmlbayar.value

REPLACE Piutang with thisform.piutang.value

thisform.kodebrg.value=tmpjuala.kodebrg

thisform.namabrg.value=tmpjuala.namabrg

thisform.hargajual.value=tmpjuala.hargajual

thisform.hargabeli.value=tmpjuala.hargabeli

thisform.qty.value=tmpjuala.qty

GO TOP

thisform.refresh

thisform.kembalian.enabled=.t.

thisform.hitung.enabled=.f.

thisform.batal.enabled=.f.

thisform.simpan.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

Page 39: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

39

AMIK Al Ma’soem

thisform.cetak.enabled=.t.

thisform.keluar.enabled=.t.

thisform.kendali(.t.)

thisform.aktif(.f.)

thisform.aktif1(.f.)

thisform.aktif2(.f.)

thisform.aktif3(.f.)

thisform.cari.enabled=.f.

RETURN

* Object FORM1 Procedure DBLCLICK thisform.keluar.Enabled=.t.

RETURN

* Object FORM1 Procedure ACTIVATE thisform.kembalian.enabled=.f.

thisform.hitung.enabled=.f.

thisform.batal.enabled=.f.

thisform.simpan.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.cetak.enabled=.f.

thisform.keluar.enabled=.t.

thisform.kendali(.t.)

thisform.aktif(.f.)

thisform.aktif1(.f.)

thisform.aktif2(.f.)

thisform.aktif3(.f.)

RETURN

* Object CARI Procedure CLICK SELECT pelanggan

LOCATE FOR nopel=RTRIM(thisform.nopel.Value)

IF ! FOUND()

MESSAGEBOX("Data tidak ditemukan !",0,"Perhatian...")

thisform.nopel.setFocus

RETURN

endif

thisform.namapel.value=pelanggan.namapel

thisform.aktif2(.t.)

return

* Object NAMAPEL Procedure InteractiveChange SELECT pelanggan

LOCATE FOR namapel=TRIM(thisform.namapel.Value)

thisform.nopel.value=pelanggan.nopel

thisform.aktif2(.t.)

return

* Object NAMAPEL Procedure LostFocus thisform.aktif2(.t.)

* Object KODEBRG Procedure LostFocus IF EMPTY(thisform.kodebrg.value)

thisform.namabrg.value=""

thisform.hargabeli.value=""

thisform.hargajual.value=""

Page 40: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

40

AMIK Al Ma’soem

thisform.kodebrg.setfocus

return

ENDIF

SELECT BARANG

LOCATE FOR KODEBRG=TRIM(thisform.kodebrg.value)

IF FOUND()

thisform.namabrg.value=barang.Namabrg

thisform.hargabeli.value=barang.hargabeli

thisform.hargajual.value=barang.hargajual

thisform.diskon.value=barang.hargajual*barang.disk

thisform.qty.value=1

ELSE

thisform.namabrg.value=""

thisform.hargabeli.value=""

thisform.hargajual.value=""

thisform.diskon.value=0

thisform.kodebrg.setfocus

ENDIF

thisform.aktif(.f.)

thisform.cari.Enabled=.f.

thisform.hitung.Enabled=.t.

thisform.simpan.Enabled=.f.

thisform.baru.Enabled=.f.

thisform.batal.Enabled=.f.

thisform.keluar.Enabled=.f.

thisform.cetak.Enabled=.f.

thisform.kendali(.f.)

thisform.hitung.setfocus

return

* Object NAMABRG Procedure InteractiveChange thisform.kodebrg.value=barang.kodebrg

thisform.hargabeli.value=barang.hargabeli

thisform.hargajual.value=barang.hargajual

thisform.diskon.value=barang.hargajual*barang.disk

thisform.qty.value=1

thisform.aktif(.f.)

thisform.cari.Enabled=.f.

thisform.hitung.Enabled=.t.

thisform.simpan.Enabled=.f.

thisform.baru.Enabled=.f.

thisform.batal.Enabled=.f.

thisform.keluar.Enabled=.f.

thisform.cetak.Enabled=.f.

thisform.kendali(.f.)

return

* Object BARU Procedure CLICK public lnofak

thisform.kosongkan

select barang

set order to tag namabrg

hh=LEFT(time(),2)

mm=SUBSTR(time(),4,2)

ss=RIGHT(time(),2)

d=day(date())

m=month(date())

y=year(date())

Page 41: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

41

AMIK Al Ma’soem

IF d<10

tgl="0"+STR(d,1)

ELSE

tgl=STR(d,2)

ENDIF

IF m<10

bln="0"+STR(m,1)

ELSE

bln=STR(m,2)

ENDIF

th=RIGHT(STR(y,4),2)

thisform.nofak.value=tgl+bln+th+hh+mm+ss

sele tmpjuala

SET DELETED on

DELETE all

thisform.refresh

thisform.tgljual.value=date()

thisform.kembalian.enabled=.f.

thisform.hitung.enabled=.f.

thisform.batal.enabled=.t.

thisform.simpan.enabled=.f.

thisform.baru.enabled=.f.

thisform.simpan.enabled=.f.

thisform.cetak.enabled=.f.

thisform.keluar.enabled=.f.

thisform.kendali(.F.)

thisform.aktif(.t.)

thisform.aktif1(.t.)

thisform.aktif2(.f.)

thisform.aktif3(.f.)

thisform.cari.enabled=.t.

SELECT pelanggan

LOCATE FOR UPPER(namapel)="KONSUMEN UMUM"

thisform.nopel.Value=pelanggan.nopel

thisform.namapel.Value=pelanggan.namapel

thisform.namapel.setfocus

SELECT tmpusers

thisform.namauser.Value=tmpusers.namauser

RETURN

* Object HITUNG Procedure Click if EMPTY(thisform.nofak.Value)

messagebox("Anda Harus klik dulu tombol tambah [ + ], ;

sebelum memulai transaksi!",0,"Perhatian...")

thisform.hitung.enabled=.f.

thisform.keluar.enabled=.t.

thisform.baru.enabled=.t.

thisform.baru.setfocus

RETURN

ENDIF

if EMPTY(thisform.qty.value) .or. EMPTY(thisform.hargajual.value)

MESSAGEBOX("Ops Sory Quantity Pembelian dan Harga Jual"+CHR(13)+;

"tidak boleh kosong...",0+48,"Perhatian...")

thisform.qty.SetFocus

RETURN

ENDIF

sele barang

locate for namabrg=TRIM(thisform.namabrg.value)

if barang.STOCK<thisform.qty.value

messagebox("Stock Barang Kurang",0+64,"Periksa Stock Barang")

thisform.qty.value=barang.stock

Page 42: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

42

AMIK Al Ma’soem

thisform.qty.setfocus()

return

endif

jml=thisform.hargajual.value*thisform.qty.value

thisform.totjual.value=thisform.totjual.value+jml

vselhrg=thisform.hargajual.value-thisform.hargabeli.value-thisform.diskon.value

vlabakotor=vselhrg*thisform.qty.value

thisform.totlaba.value=thisform.totlaba.value+vlabakotor

thisform.totdiskon.value=thisform.totdiskon.value+thisform.diskon.value

thisform.jmlbayar.value=thisform.totjual.value-thisform.totdiskon.value

select tmpjuala

if thisform.qty.value>0 .and. thisform.hargajual.value>0

append blank

REPLACE nofak with thisform.Nofak.value

REPLACE tgltran with thisform.tgljual.value

REPLACE nopel with thisform.nopel.value

REPLACE kodebrg with thisform.kodebrg.value

REPLACE namabrg with thisform.namabrg.value

REPLACE qty with thisform.qty.value

REPLACE hargajual with thisform.hargajual.value

REPLACE diskon with thisform.diskon.value

REPLACE jumlah with jml

REPLACE labakotor with vlabakotor

REPLACE namauser with thisform.namauser.value

SET DELETED on

thisform.refresh

sele penjualan

appe blank

WITH THISFORM

REPLACE penjualan.Nofak with .Nofak.value,penjualan.kodebrg with .kodebrg.value,;

penjualan.qty with .qty.value,penjualan.jumlah with jml,penjualan.diskon with .diskon.value,;

penjualan.labakotor with vlabakotor IN [penjualan]

ENDWITH

SELECT FAKTUR

LOCATE FOR nofak=TRIM(thisform.nofak.value)

IF ! FOUND()

APPEND BLANK

ENDIF

WITH thisform

REPLACE faktur.nofak WITH .nofak.value,faktur.tgltran WITH .tgljual.value,;

faktur.nopel WITH .nopel.value,faktur.totjual WITH .totjual.value,;

faktur.totdiskon WITH .totdiskon.value,faktur.jmlbayar WITH .jmlbayar.value,;

faktur.piutang WITH .piutang.value,faktur.totlaba with .totlaba.value,;

faktur.namauser with .namauser.value IN [faktur]

ENDWITH

sele barang

locate for kodebrg=TRIM(thisform.kodebrg.value)

qty1=barang.stock

qty1=qty1-thisform.qty.value

REPLACE barang.stock with qty1

endif

select tmpjuala

thisform.namabrg.value=""

thisform.kodebrg.value=""

thisform.qty.value=0

thisform.hargajual.value=0

thisform.aktif(.f.)

thisform.aktif3(.t.)

thisform.cari.Enabled=.f.

thisform.hitung.Enabled=.f.

thisform.simpan.Enabled=.t.

thisform.baru.Enabled=.f.

thisform.batal.Enabled=.f.

thisform.keluar.Enabled=.f.

thisform.cetak.Enabled=.f.

thisform.kendali(.f.)

IF TRIM(UPPER(thisform.namapel.value))="KONSUMEN UMUM"

thisform.piutang.enabled= .F.

ELSE

Page 43: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

43

AMIK Al Ma’soem

thisform.piutang.enabled= .t.

endif

thisform.kodebrg.setfocus

RETURN

* Object TotDiskon Procedure LostFocus thisform.bayar.value=thisform.totjualsp.value-thisform.diskon.value

thisform.simpan.enabled=.t.

return

* Object TotDiskon Procedure Click thisform.bayar.value=thisform.totjualsp.value-thisform.diskon.value

thisform.simpan.enabled=.t.

return

* Object JmlBayar Procedure LostFocus thisform.piutang.value=thisform.totjualsp.value-thisform.diskon.value-thisform.bayar.value

thisform.simpan.enabled=.t.

thisform.simpan.setfocus

return

* Object JmlBayar Procedure Click thisform.piutang.value=thisform.totjualsp.value-thisform.diskon.value-thisform.bayar.value

thisform.simpan.enabled=.t.

thisform.simpan.setfocus

return

* Object Piutang Procedure LostFocus thisform.bayar.value=thisform.totjualsp.value-thisform.diskon.value-thisform.piutang.value

return

* Object Simpan Procedure Click if thisform.jmlbayar.value>(thisform.totjual.value-thisform.totdiskon.value)

messagebox("Maaf Anda Keliru Memasukan Jumlah Bayar...",0,"Perhatian...")

thisform.jmlbayar.setfocus

retu

ENDIF

IF TRIM(UPPER(thisform.namapel.value))="KONSUMEN UMUM" .and. thisform.piutang.value>0

messagebox("Konsumen Umum harus kontan...",0,"Perhatian...")

thisform.jmlbayar.setfocus

RETURN

ENDIF

if thisform.totjual.value>0

select faktur

locate for nofak=trim(thisform.nofak.value)

if ! found()

append blank

ENDIF

WITH THISFORM REPLACE faktur.nofak with .nofak.value,faktur.totjual with .totjual.value,;

faktur.tgltran with .tgljual.value,faktur.nopel with .nopel.value,;

faktur.totdiskon with .totdiskon.value,faktur.jmlbayar with .jmlbayar.value,;

faktur.piutang with .piutang.value,faktur.totlaba with .totlaba.value,;

faktur.namauser with .namauser.value IN [Faktur]

ENDWITH

select tmpjuala

go bottom

repl nofak with thisform.nofak.value

repl totjual with thisform.totjual.value

repl tgltran with thisform.tgljual.value

repl nopel with thisform.nopel.value

repl totdiskon with thisform.totdiskon.value

repl jmlbayar with thisform.jmlbayar.value

Page 44: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

44

AMIK Al Ma’soem

repl piutang with thisform.piutang.value

repl totlaba with thisform.totlaba.value

REPLACE namauser with thisform.namauser.value

IF thisform.piutang.value>0

select pelanggan

locate for nopel=trim(thisform.nopel.value)

if found()

REPLACE pelanggan.saldop with pelanggan.saldop+thisform.piutang.value

ENDIF

ENDIF

ENDIF

thisform.refresh

thisform.kembalian.enabled=.t.

thisform.hitung.enabled=.f.

thisform.batal.enabled=.f.

thisform.simpan.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.keluar.enabled=.t.

thisform.kendali(.t.)

thisform.aktif(.f.)

thisform.aktif1(.f.)

thisform.aktif2(.f.)

thisform.aktif3(.f.)

thisform.cari.enabled=.f.

thisform.cetak.enabled=.t.

thisform.baru.setfocus

return

* Object Simpan Procedure RightClick thisform.aktif3(.t.)

retu

* Object BATAL Procedure Click IF EMPTY(THISFORM.kodebrg.Value) .OR. EMPTY(THISFORM.namabrg.Value) .OR. ;

EMPTY(THISFORM.QTY.Value)

MESSAGEBOX("Click dulu Record di Grid yang akan dibatalkan",0,"Perhatian...")

thisform.grid1.SetFocus

RETURN

ENDIF

jawab=messagebox("Anda mau membatalkan transaksi ?",4+32+256,"Perhatian...")

if jawab=6

SELECT barang

LOCATE FOR kodebrg=TRIM(thisform.kodebrg.Value)

IF FOUND()

if thisform.qty.value>0

qty1=barang.stock

qty1=qty1+thisform.qty.value

repl barang.stock with qty1

endif

ENDIF

sele penjualan

loca for penjualan.kodebrg=TRIM(thisform.kodebrg.value) .and. ;

nofak=TRIM(thisform.nofak.Value)

IF FOUND()

ljml=thisform.hargajual.value*thisform.qty.value

dele FOR penjualan.kodebrg=TRIM(thisform.kodebrg.value) .and. ;

nofak=TRIM(thisform.nofak.Value)

ELSE

ljml=0

ENDIF

thisform.totjualsp.value=thisform.totjualsp.value-ljml

thisform.bayar.value=thisform.totjualsp.value

sele tmpjuala

SET DELETED ON

DELETE

Page 45: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

45

AMIK Al Ma’soem

thisform.refresh

thisform.qty.value=0

ENDIF

IF thisform.totjualsp.Value=0

thisform.aktif(.f.)

thisform.aktif2(.t.)

thisform.aktif3(.f.)

thisform.hitung.Enabled=.f.

thisform.simpan.Enabled=.f.

thisform.baru.Enabled=.t.

thisform.batal.Enabled=.f.

thisform.keluar.Enabled=.t.

thisform.cetak.Enabled=.f.

thisform.kendali(.t.)

thisform.refresh

else

thisform.aktif(.f.)

thisform.aktif2(.t.)

thisform.aktif3(.t.)

thisform.cari.Enabled=.f.

thisform.hitung.Enabled=.f.

thisform.simpan.Enabled=.t.

thisform.baru.Enabled=.f.

thisform.batal.Enabled=.f.

thisform.keluar.Enabled=.f.

thisform.cetak.Enabled=.f.

thisform.kendali(.f.)

thisform.refresh

endif

RETURN

* Object CETAK Procedure Click SELECT pelanggan

SET ORDER TO TAG NOPEL

select tmpjuala

SET RELATION TO Nopel INTO Pelanggan

REPORT form e:\foxpro\ceps\prg\kw PREVIEW

thisform.kembalian.enabled=.t.

thisform.hitung.enabled=.f.

thisform.batal.enabled=.f.

thisform.simpan.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.cetak.enabled=.f.

thisform.keluar.enabled=.t.

thisform.kendali(.t.)

thisform.aktif(.f.)

thisform.aktif1(.f.)

thisform.aktif2(.f.)

thisform.aktif3(.f.)

thisform.cari.enabled=.f.

RETURN

* Object KELUAR Procedure Click SET EXCLUSIVE ON

sele tmpjuala

dele all

set dele off

pack

SET EXCLUSIVE OFF

thisform.release

RETURN

Page 46: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

46

AMIK Al Ma’soem

* Object KEMBALIAN Procedure Click do form E:\FOXPRO\CEPS\prg\hitungkembalian.scx

thisform.kembalian.enabled=.f.

thisform.hitung.enabled=.f.

thisform.batal.enabled=.f.

thisform.simpan.enabled=.f.

thisform.baru.enabled=.t.

thisform.simpan.enabled=.f.

thisform.cetak.enabled=.f.

thisform.keluar.enabled=.t.

thisform.kendali(.t.)

thisform.aktif(.f.)

thisform.aktif1(.f.)

thisform.aktif2(.f.)

thisform.aktif3(.f.)

thisform.cari.enabled=.t.

RETURN

* Object PERTAMA Procedure Click select faktur

SET ORDER TO TGLTRAN

go top

if eof()

messagebox("Tidak ada record",0,"Perhatian...!")

thisform.release()

return

endif

thisform.tampilkan

thisform.refresh

RETURN

* Object SEBELUMNYA Procedure Click select faktur

SET ORDER TO TGLTRAN

skip -1

if bof()

go top

endif

thisform.tampilkan

thisform.refresh

RETURN

* Object BERIKUTNYA Procedure Click select faktur

SET ORDER TO TGLTRAN

skip

if eof()

go bottom

endif

thisform.tampilkan

thisform.refresh

RETURN

* Object TERAKHIR Procedure Click select faktur

SET ORDER TO TGLTRAN

go bottom

if eof()

Page 47: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

47

AMIK Al Ma’soem

messagebox("Tidak ada record",0,"Perhatian...!")

thisform.release()

return

endif

thisform.tampilkan

thisform.refresh

RETURN

* Object GRID1 Procedure AfterRowCollChenge LPARAMETERS nColIndex

thisform.kodebrg.value=tmpjuala.kodebrg

thisform.namabrg.value=tmpjuala.namabrg

thisform.qty.value=tmpjuala.qty

thisform.hargajual.value=tmpjuala.hargajual

SELECT barang

LOCATE FOR kodebrg=TRIM(thisform.kodebrg.value)

IF FOUND()

thisform.hargabeli.value=barang.hargabeli

ELSE

thisform.hargabeli.value=0

endif

thisform.batal.Enabled=.t.

RETURN

B. TUGAS V: 1. Buatkan Free Table TMPBELIA pada Forder Data Anda

2. Buatkan Free Table LAPBELIA pada Forder Data Anda

Page 48: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

48

AMIK Al Ma’soem

3. Buatkan Form Kelola Transaksi PEMBELIAN

Page 49: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

49

AMIK Al Ma’soem

BAGIAN VI Tujuan :

1. Membuat Report Faktur Penjualan 2. Grouping

A. BAHAN PRAKTEK VI Membuat Report Faktur Penjualan

B. TUGAS VI Buatkan Report Faktur Pembelian Barang

Page 50: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

50

AMIK Al Ma’soem

BAGIAN VII

Tujuan :

1. Membuat Report Penjualan Harian 2. Grouping

A. BAHAN PRAKTEK VII 1. Membuat Report Penjualan Harian

2. Simpan dengan nama LAPJUALHARIAN 3. Buatkan Form Kelola Laporan Harian berikut :

4. Simpan dengan nama LAPJUALHARIAN * Object Form1 Procedure ACTIVATE CLOSE DATABASES

Page 51: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

51

AMIK Al Ma’soem

SET EXCLUSIVE OFF SET MULTILOCKS ON

set date british

set cent on

set defa to e:\foxpro\data

OPEN DATABASE DINVENTORY SHARED

if ! used("barang")

use barang IN 0 SHARED

endif

if ! used("faktur")

use faktur IN 0 SHARED

endif

if ! used("penjualan")

use penjualan IN 0 SHARED

endif

if ! used("pelanggan")

use pelanggan IN 0 SHARED

endif

if used("lapjuala")

use in lapjuala

endif

if used("tmpjuala")

use in tmpjuala

endif

select 8

use e:\foxpro\ceps\data\tmpusers EXCLUSIVE

select 9

use e:\foxpro\ceps\data\lapjuala EXCLUSIVE

set order to tag nofak

SELECT 10

use e:\foxpro\ceps\data\tmpjuala EXCLUSIVE

thisform.tgl1.day=DAY(DATE())

thisform.tgl1.month=MONTH(DATE())

thisform.tgl1.year=YEAR(DATE())

thisform.tgl1.setfocus()

return

* Object Form1 Procedure UNLOAD

close data

close index

return * Object CETAK Procedure CLICK

tgl1=thisform.tgl1.day

bln1=thisform.tgl1.month

thn1=thisform.tgl1.year

tgl1a=TRIM(str(tgl1,2))+"/"+TRIM(str(bln1,2))+"/"+str(thn1,4)

tgla=ctod(tgl1a)

select tmpjuala

dele all

set dele off

pack

appe from penjualan

go top

do while ! eof()

select faktur

locate for nofak=tmpjuala.nofak

IF FOUND()

vnopel=faktur.nopel

vtgltran=faktur.tgltran

ELSE

vnopel=""

vtgltran=CTOD(" / / ")

ENDIF

SELECT tmpjuala

REPLACE nopel WITH vnopel

Page 52: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

52

AMIK Al Ma’soem

REPLACE tgltran with vtgltran

skip

ENDDO

SELECT lapjuala

DELETE ALL

PACK

APPEND FROM e:\foxpro\ceps\data\tmpjuala FOR tgltran=tgla

SELECT faktur

GO top

do while ! eof()

select LAPJUALA

locate for nofak=FAKTUR.nofak

IF FOUND()

vtotjual=faktur.totjual

vtotdiskon=faktur.totdiskon

vjmlbayar=faktur.jmlbayar

vtotlaba=faktur.totlaba

ELSE

vtotjualsp=0

vtotdiskon=0

vjmlbayar=0

vtotlaba=0

ENDIF

REPLACE totjual WITH vtotjual

REPLACE totdiskon WITH vtotdiskon

REPLACE jmlbayar WITH vjmlbayar

REPLACE totlaba WITH vtotlaba

SELECT FAKTUR

skip

ENDDO

SELECT lAPJUALA

GO top

do while .not. eof()

select barang

locate for kodebrg=lapjuala.kodebrg

IF FOUND()

vnamabrg=barang.namabrg

ELSE

vnamabrg=""

ENDIF

select lapjuala

repl namabrg with vnamabrg

REPLACE hargajual WITH jumlah/qty

skip

enddo

SELECT lapjuala

SET ORDER TO tag tgltran

SELECT pelanggan

SET ORDER TO TAG NOPEL

SELECT LAPJUALA

SET RELATION TO NOPEL INTO PELANGGAN

repo form E:\FOXPRO\CEPS\prg\lapjualharian preview

return

* Object KELUAR Procedure CLICK

thisform.release

return B. TUGAS VII 1. Buatkan Report Laporan Penjualan Bulanan

Page 53: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

53

AMIK Al Ma’soem

3. Buatkan Form Kelola Laporan Bulanan

Page 54: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

54

AMIK Al Ma’soem

BAGIAN VIII

Tujuan :

1. Report Penjualan Tahunan 2. Grouping 3. Grafik Penjualan

A. BAHAN PRAKTEK VIII 1. Membuat Free Tabel dan Simpan dengan Nama GrafikA pada Folder data Anda

2. Membuat Report Penjualan Tahunan

3. Membuat Form Kelola Penjualan Tahunan

Page 55: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

55

AMIK Al Ma’soem

* Object FORM1 Procedure ACTIVATE

SET TALK OFF

close data

SET EXCLUSIVE OFF

SET MULTILOCKS ON

set date british

set cent on

set defa to e:\foxpro\data

OPEN DATABASE DINVENTORY SHARED

if ! used("faktur")

use faktur IN 0 SHARED

endif

if used("GrafikA")

use IN GrafikA

endif

if used("lapjuala")

use in lapjuala

endif

SELECT faktur

set order to tag nofak

set order to tag tgltran

select 8

USE e:\foxpro\ceps\data\tmpusers EXCLUSIVE

select 9

USE e:\foxpro\ceps\data\grafika EXCLUSIVE

select 10

USE e:\foxpro\ceps\data\lapjuala EXCLUSIVE

thisform.tgl.day=DAY(DATE())

thisform.tgl.month=MONTH(DATE())

thisform.tgl.year=YEAR(DATE())

thisform.tgl.setfocus()

return

* Object FORM1 Procedure UNLOAD

close data

close index

return

* Object Cetak Procedure Click

thn=thisform.tgl.year

select lapjuala

dele all

set dele off

pack

appe from faktur for YEAR(tgltran)=thn

SET ORDER to tag TGLTRAN

repo form e:\foxpro\ceps\prg\LapJualThn preview

return

* Object Grafik Procedure Click thn=thisform.tgl.year

select lapjuala

dele all

set dele off

pack

appe from faktur for YEAR(tgltran)=thn

Page 56: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

56

AMIK Al Ma’soem

SET ORDER to tag TGLTRAN

SUM totjual FOR MONTH(tgltran)=1 TO tot1

SUM totjual FOR MONTH(tgltran)=2 TO tot2

SUM totjual FOR MONTH(tgltran)=3 TO tot3

SUM totjual FOR MONTH(tgltran)=4 TO tot4

SUM totjual FOR MONTH(tgltran)=5 TO tot5

SUM totjual FOR MONTH(tgltran)=6 TO tot6

SUM totjual FOR MONTH(tgltran)=7 TO tot7

SUM totjual FOR MONTH(tgltran)=8 TO tot8

SUM totjual FOR MONTH(tgltran)=9 TO tot9

SUM totjual FOR MONTH(tgltran)=10 TO tot10

SUM totjual FOR MONTH(tgltran)=11 TO tot11

SUM totjual FOR MONTH(tgltran)=12 TO tot12

SUM totlaba FOR MONTH(tgltran)=1 TO totlb1

SUM totlaba FOR MONTH(tgltran)=2 TO totlb2

SUM totlaba FOR MONTH(tgltran)=3 TO totlb3

SUM totlaba FOR MONTH(tgltran)=4 TO totlb4

SUM totlaba FOR MONTH(tgltran)=5 TO totlb5

SUM totlaba FOR MONTH(tgltran)=6 TO totlb6

SUM totlaba FOR MONTH(tgltran)=7 TO totlb7

SUM totlaba FOR MONTH(tgltran)=8 TO totlb8

SUM totlaba FOR MONTH(tgltran)=9 TO totlb9

SUM totlaba FOR MONTH(tgltran)=10 TO totlb10

SUM totlaba FOR MONTH(tgltran)=11 TO totlb11

SUM totlaba FOR MONTH(tgltran)=12 TO totlb12

SELECT GRAFIKA

DELETE ALL

PACK

bln=1

DO WHILE bln<=12

APPEND blank

DO case

CASE BLN=1

vt=TOT1

vl=totlb1

CASE BLN=2

vt=TOT2

vl=totlb2

CASE BLN=3

vt=TOT3

vl=totlb3

CASE BLN=4

vt=TOT4

vl=totlb4

CASE BLN=5

vt=TOT5

vl=totlb5

CASE BLN=6

vt=TOT6

vl=totlb6

CASE BLN=7

vt=TOT7

vl=totlb7

CASE BLN=8

vt=TOT8

vl=totlb8

CASE BLN=9

vt=TOT9

vl=totlb9

CASE BLN=10

vt=TOT10

vl=totlb10

CASE BLN=11

vt=TOT11

vl=totlb11

CASE BLN=12

vt=TOT12

vl=totlb12

Page 57: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

57

AMIK Al Ma’soem

ENDCASe

REPLACE bulan WITH BLN

REPLACE tahun WITH thisform.tgl.year

REPLACE totjual WITH VT

REPLACE totlaba WITH vl

bln=bln+1

enddo

DO FORM e:\foxpro\ceps\prg\grafik.SCX

return

* Object Keluar Procedure Click

thisform.release

return

4. Membuat Grafik Penjualan Tahunan

* Object FORM1 Procedure ACTIVATE SELECT GRAFIKA

GO top

do WHILE ! eof()

thisform.Grafika.row=GRAFIKA.BULAN

thisform.grafika.rowlabel=GRAFIKA.BULAN

thisform.Grafika.column=1

thisform.Grafika.data=grafika.totjual

thisform.Grafika.column=2

thisform.Grafika.data=grafika.totlaba

skip

ENDDO

GO top

thisform.text1.value="TAHUN "+STR(grafika.TAHUN,4)

thisform.command1.setfocus

return

* Object Keluar Procedure Click thisform.release

Page 58: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

58

AMIK Al Ma’soem

B. TUGAS VIII 1. Buatkan Laporan Bulanan Pembelian Barang

2. Buatkan Form Kelola Laporan Bulanan Pembelian Barang

Page 59: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

59

AMIK Al Ma’soem

BAGIAN IX Tujuan : Membuat Form Transaksi Retur Jual Barang

A. BAHAN PRAKTEK IX: Membuat Form Transaksi Retur Jual dengan LayOut sbb. :

* Object FORM1 Procedure LOAD CLOSE DATABASES

SET DATE BRITISH

SET CENTURY ON

SET MULTILOCKS ON

SET EXCLUSIVE OFF

SET DEFAULT TO e:\foxpro\data

OPEN DATABASE DINVENTORY SHARED

IF ! USED("barang")

USE barang IN 0 SHARED

ENDIF

IF ! USED("pelanggan")

USE pelanggan IN 0 SHARED

ENDIF

IF ! USED("fakturrj")

USE fakturrj IN 0 SHARED

ENDIF

IF ! USED("returjual")

USE returjual IN 0 SHARED

ENDIF

IF ! USED("penjualan")

USE penjualan IN 0 SHARED

ENDIF

Page 60: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

60

AMIK Al Ma’soem

IF ! USED("FAKTUR")

USE FAKTUR IN 0 SHARED

ENDIF

IF USED("tmpjuala")

use in tmpjuala

ENDIF

SELECT 10

USE e:\foxpro\ceps\data\tmpjuala EXCLUSIVE

RETURN

* Object FORM1 Procedure UNLOAD CLOSE DATABASES

USE IN TMPJUALA

RETURN

* Object FORM1 Procedure Aktif PARAMETERS x

thisform.nopel.Enabled=x

thisform.namapel.Enabled=x

retu

* Object FORM1 Procedure Aktif1 PARAMETERS y

thisform.nofak.Enabled=y

thisform.tgltran.Enabled=y

RETURN

* Object FORM1 Procedure Aktif2 PARAMETERS Z

thisform.kodebrg.Enabled=z

thisform.namabrg.Enabled=z

thisform.qty.Enabled=z

thisform.hargajual.Enabled=z

RETURN

* Object FORM1 Procedure Kendali PARAMETERS s

thisform.pertama.Enabled=s

thisform.sebelumnya.Enabled=s

thisform.berikutnya.Enabled=s

thisform.terakhir.Enabled=s

retu

* Object FORM1 Procedure Kosongkan thisform.kodebrg.value=""

thisform.namabrg.value=""

thisform.qty.value=0

thisform.hargajual.value=0

thisform.totalrj.value=0

thisform.tgltran.value=CTOD(" / / ")

thisform.nofak.value=""

thisform.nofakrj.value=""

thisform.nopel.value=""

thisform.namapel.value=""

return

Page 61: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

61

AMIK Al Ma’soem

* Object FORM1 Procedure Tampilkan select fakturrj

thisform.nofakrj.value=fakturrj.nofakrj

thisform.tgltran.value=fakturrj.tgltran

thisform.totalrj.value=fakturrj.totalrj

thisform.nopel.value=fakturrj.nopel

select pelanggan

locate for nopel=TRIM(thisform.nopel.value)

thisform.namapel.value=pelanggan.namapel

select tmpjuala

dele all

set dele on

appe from returjual for nofakrj=TRIM(thisform.nofakrj.value)

go top

do while ! eof()

select barang

locate for kodebrg=tmpjuala.kodebrg

IF FOUND()

vnamabrg=barang.namabrg

ELSE

vnamabrg=""

endif

select tmpjuala

repl namabrg with vnamabrg

repl hargajual with jumlah/qty

skip

enddo

GO TOP

REPLACE tgltran with thisform.tgltran.value

REPLACE nopel with thisform.nopel.value

thisform.nofak.value=tmpjuala.nofak

thisform.nofakrj.value=tmpjuala.nofakrj

go bottom

REPLACE totalrj with thisform.totalrj.value

thisform.kodebrg.value=tmpjuala.kodebrg

thisform.namabrg.value=tmpjuala.namabrg

thisform.hargajual.value=tmpjuala.hargajual

thisform.qty.value=tmpjuala.qty

GO TOP

thisform.refresh

thisform.hitung.enabled=.f.

thisform.baru.enabled=.t.

thisform.cetak.enabled=.t.

thisform.keluar.enabled=.t.

thisform.kendali(.t.)

thisform.aktif(.f.)

thisform.aktif1(.f.)

thisform.aktif2(.f.)

return

* Object FORM1 Procedure Activate thisform.hitung.enabled=.f.

thisform.baru.enabled=.t.

thisform.cetak.enabled=.f.

Page 62: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

62

AMIK Al Ma’soem

thisform.batal.enabled=.f.

thisform.keluar.enabled=.t.

thisform.kendali(.t.)

thisform.aktif(.f.)

thisform.aktif1(.f.)

thisform.aktif2(.f.)

thisform.grid1.readonly= .T.

thisform.pesan.Visible=.f.

SET DELETED ON

return

* Object FORM1 Procedure DblClick thisform.keluar.enabled=.t.

retu

* Object Cari Procedure Click SELECT pelanggan

LOCATE FOR nopel=RTRIM(thisform.nopel.Value)

IF ! FOUND()

MESSAGEBOX("Data tidak ditemukan !",0,"Perhatian...")

thisform.nopel.SetFocus

RETURN

endif

thisform.namapel.value=pelanggan.namapel

thisform.nopel.value=pelanggan.nopel

thisform.aktif2(.t.)

thisform.kodebrg.setfocus

return

* Object Cari Procedure RightClick thisform.keluar.enabled=.t.

retu

* Object NamaPel Procedure InteractiveChange thisform.nopel.value=pelanggan.nopel

thisform.aktif2(.t.)

Return

* Object KodeBrg Procedure LostFocus SELECT tmpjuala

LOCATE FOR kodebrg=TRIM(thisform.kodebrg.Value)

IF FOUND()

thisform.namabrg.value=tmpjuala.namabrg

thisform.hargajual.value=tmpjuala.hargajual

thisform.qty.Value=1

ELSE

thisform.namabrg.value=""

thisform.hargajual.value=0

thisform.qty.Value=0

ENDIF

thisform.aktif(.f.)

thisform.hitung.Enabled=.t.

thisform.baru.Enabled=.f.

thisform.keluar.Enabled=.f.

thisform.cetak.Enabled=.f.

thisform.kendali(.f.)

Page 63: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

63

AMIK Al Ma’soem

return

* Object NoFak Procedure LostFocus IF EMPTY(THISFORM.NOFAK.Value)

thisform.aktif(.f.)

MESSAGEBOX("Silahkan anda isi dulu Nomor Faktur Penjualannya",;

0+48,"Perhatian...")

THISFORM.NOFAK.setfocus

RETURN

ENDIF

SELECT faktur

LOCATE FOR NOFAK=TRIM(THISFORM.NOFAK.Value)

IF ! FOUND()

MESSAGEBOX("Sorry Nomor Faktur tersebut tidak ditemukan",;

0+48,"Perhatian...")

RETURN

ENDIF

thisform.nopel.value=faktur.nopel

select pelanggan

locate for nopel=thisform.nopel.value

thisform.namapel.value=pelanggan.namapel

select tmpjuala

dele all

set dele on

APPEND FROM penjualan for nofak=TRIM(thisform.nofak.value)

go top

do while ! eof()

select barang

locate for kodebrg=tmpjuala.kodebrg

IF FOUND()

vnamabrg=barang.namabrg

ELSE

vnamabrg=""

endif

select tmpjuala

repl namabrg with vnamabrg

repl hargajual with tmpjuala.jumlah/tmpjuala.qty

skip

enddo

GO TOP

thisform.refresh

thisform.hitung.enabled=.f.

thisform.baru.enabled=.f.

thisform.cetak.enabled=.f.

thisform.keluar.enabled=.f.

thisform.kendali(.f.)

thisform.aktif(.f.)

thisform.aktif1(.f.)

thisform.aktif2(.f.)

thisform.pesan.Visible=.t.

return

* Object Baru Procedure Click thisform.kosongkan

tgl=day(date())

bln=month(date())

th=year(date())

Page 64: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

64

AMIK Al Ma’soem

IF tgl<10

d="0"+STR(tgl,1)

ELSE

d=STR(tgl,2)

ENDIF

IF bln<10

m="0"+STR(bln,1)

ELSE

m=STR(bln,2)

ENDIF

y=RIGHT(STR(th,4),2)

hh=LEFT(TIME(),2)

mm=SUBSTR(TIME(),4,2)

ss=RIGHT(TIME(),2)

thisform.nofakrj.value=d+m+y+hh+mm+ss

sele tmpjuala

SET DELETED on

DELETE all

thisform.refresh

thisform.nofak.value=""

thisform.tgltran.value=date()

thisform.hitung.enabled=.f.

thisform.baru.enabled=.f.

thisform.cetak.enabled=.f.

thisform.keluar.enabled=.t.

thisform.kendali(.F.)

thisform.aktif(.t.)

thisform.aktif1(.t.)

thisform.aktif2(.f.)

thisform.nofak.setfocus

return

* Object Hitung Procedure Click IF EMPTY(thisform.qty.value)

MESSAGEBOX("Ops anda harus mengisi Quantity Retur...",0+48,"perhatian...")

thisform.qty.setfocus

RETURN

ENDIF

IF EMPTY(thisform.nofakrj.value)

MESSAGEBOX("Anda harus meng-klik dulu tombol tambah (+)",0+48,"perhatian...")

thisform.baru.setfocus

RETURN

ENDIF

SELECT returjual

LOCATE FOR kodebrg=TRIM(thisform.kodebrg.value) .and.;

nofak=TRIM(thisform.nofak.Value)

IF FOUND()

MESSAGEBOX("Barang tersebut sudah diretur...",0,"Perhatian...")

thisform.hitung.enabled=.f.

thisform.baru.enabled=.t.

thisform.keluar.enabled=.t.

RETURN

ENDIF

jml=thisform.hargajual.value*thisform.qty.value

thisform.totalrj.value=thisform.totalrj.value+jml

if thisform.qty.value>0 .and. thisform.hargajual.value>0

IF thisform.qty.value>tmpjuala.qty

Page 65: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

65

AMIK Al Ma’soem

MESSAGEBOX("Ops anda salah mengisi Quantity Retur...",0+48,"perhatian...")

thisform.qty.setfocus

RETURN

ENDIF

SELECT returjual

APPEND BLANK

WITH THISFORM

REPLACE returjual.nofakrj with .nofakrj.value,;

returjual.Nofak with .Nofak.value,returjual.kodebrg with .kodebrg.value,;

returjual.qty with .qty.value,returjual.jumlah with jml IN [RETURJUAL]

ENDWITH

sele barang

locate for kodebrg=TRIM(thisform.kodebrg.value)

qty1=barang.stock

qty1=qty1-thisform.qty.value

REPLACE barang.stock with qty1

select fakturrj

locate for nofakrj=trim(thisform.nofakrj.value)

IF ! FOUND()

APPEND BLANK

ENDIF

WITH THISFORM

REPLACE fakturrj.nofakrj with .nofakrj.value,;

fakturrj.totalrj with .totalrj.value,fakturrj.tgltran with .tgltran.value,;

fakturrj.nopel with .nopel.value IN [fakturrj]

ENDWITH

ENDIF

select tmpjuala

DELETE FOR kodebrg=TRIM(thisform.kodebrg.value) .and.;

nofak=TRIM(thisform.nofak.Value)

SET DELETED on

GO TOP

thisform.Refresh

thisform.kodebrg.value=""

thisform.namabrg.value=""

thisform.qty.value=0

thisform.hargajual.value=0

thisform.hitung.Enabled=.f.

thisform.baru.Enabled=.f.

thisform.keluar.Enabled=.t.

thisform.cetak.Enabled=.t.

thisform.batal.Enabled=.f.

thisform.kendali(.f.)

thisform.pesan.Visible=.f.

RETURN

* Object Batal Procedure Click jawab=messagebox("Anda mau membatalkan transaksi ?",4+32+256,"Perhatian...")

if jawab=6

SELECT barang

LOCATE FOR kodebrg=TRIM(thisform.kodebrg.Value)

IF FOUND()

if thisform.qty.value>0

qty1=barang.stock

qty1=qty1-thisform.qty.value

repl barang.stock with qty1

Page 66: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

66

AMIK Al Ma’soem

endif

ENDIF

sele returjual

loca for returjual.kodebrg=TRIM(thisform.kodebrg.value) .and.

nofakrj=TRIM(thisform.nofakrj.Value)

IF FOUND()

ljml=thisform.qty.value*thisform.hargajual.value

DELETE

ELSE

ljml=0

ENDIF

thisform.totalrj.value=thisform.totalrj.value-ljml

sele tmpjuala

dele

set dele on

thisform.refresh()

thisform.qty.value=0

ENDIF

IF thisform.totalrj.Value=0

SELECT fakturrj

LOCATE FOR nofakrj=TRIM(thisform.nofakrj.Value)

IF FOUND()

DELETE

ENDIF

thisform.aktif(.f.)

thisform.aktif2(.t.)

thisform.hitung.Enabled=.f.

thisform.baru.Enabled=.t.

thisform.batal.Enabled=.f.

thisform.keluar.Enabled=.t.

thisform.cetak.Enabled=.f.

thisform.kendali(.t.)

else

thisform.aktif(.f.)

thisform.aktif2(.t.)

thisform.hitung.Enabled=.f.

thisform.baru.Enabled=.f.

thisform.batal.Enabled=.f.

thisform.keluar.Enabled=.f.

thisform.cetak.Enabled=.f.

thisform.kendali(.f.)

endif

return

* Object Cetak Procedure Click thisform.tampilkan

SELECT pelanggan

SET ORDER TO TAG NOPEL

select tmpjuala

SET RELATION TO Nopel INTO Pelanggan

REPORT form E:\FOXPRO\CEPS\prg\kwrj PREVIEW

thisform.hitung.enabled=.f.

thisform.batal.enabled=.f.

thisform.baru.enabled=.t.

thisform.cetak.enabled=.f.

thisform.keluar.enabled=.t.

thisform.kendali(.t.)

Page 67: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

67

AMIK Al Ma’soem

thisform.aktif(.f.)

thisform.aktif1(.f.)

thisform.aktif2(.f.)

return

* Object Keluar Procedure Click SET EXCLUSIVE ON

sele tmpjuala

dele all

set dele off

pack

SET EXCLUSIVE OFF

thisform.release

return

* Object Pertama Procedure Click select fakturrj

set order to

go top

if eof()

messagebox("Tidak ada record",0,"Perhatian...!")

thisform.release()

return

endif

thisform.tampilkan

thisform.refresh

return * Object Sebelumnya Procedure Click select fakturrj

set order to

skip -1

if bof()

go top

endif

thisform.tampilkan

thisform.refresh

return

* Object Berikutnya Procedure Click select fakturrj

set order to

skip

if eof()

go bottom

endif

thisform.tampilkan

thisform.refresh

return

* Object Terakhir Procedure Click select fakturrj

set order to

go bottom

if eof()

messagebox("Tidak ada record",0,"Perhatian...!")

Page 68: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

68

AMIK Al Ma’soem

thisform.release()

return

endif

thisform.tampilkan

thisform.refresh

return

* Object Grid1 Procedure AfterRowCollChange LPARAMETERS nColIndex

thisform.kodebrg.value=tmpjuala.kodebrg

thisform.namabrg.value=tmpjuala.namabrg

thisform.qty.value=tmpjuala.qty

thisform.hargajual.value=tmpjuala.hargajual

thisform.qty.Enabled=.t.

thisform.hitung.enabled=.t.

thisform.batal.Enabled=.t.

return

B. TUGAS IX Buatkan Form Kelola Data Retur Pembelian

Page 69: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

69

AMIK Al Ma’soem

BAGIAN X

Tujuan :

1. Report Saldo Pitang 2. Grouping 3. Grafik Penjualan

A. BAHAN PRAKTEK X 10.1 Membuat Free Table TMPPELA pada Folder Data Anda

10.2 Membuat Report Saldo Pitang

Simpan Report dengan nama file LAPPIUTANG pada folde PRG anda

Page 70: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

70

AMIK Al Ma’soem

10.3 Membuat Procedure untuk menampilkan Saldo Piutang pada menu Program 1. Buka Menu Admin dan atau menu User 2. Pilih Sub Menu Laporan pada Menu Bar 3. Pilih Submenu Laporan Saldo Piutang pada Submenu Laporan 4. Ganti submenu pada result Saldo Piutang menjadi Procedure 5. Click Tombol Create 6. Buatkan Procedure berikut ini :

close data

set date british

set cent on

SET EXCLUSIVE OFF

SET MULTILOCKS ON

set defa to e:\foxpro\data

OPEN DATABASE DINVENTORY SHARED

if ! used("pelanggan")

use pelanggan IN 0 SHARED

endif

if used("tmppela")

use in tmppela

endif

select 10

use e:\foxpro\ceps\data\tmppela EXCLUSIVE

set order to tag nopel

SELECT pelanggan

SET ORDER TO TAG nopel

SELECT tmppela

DELETE ALL

PACK

APPEND FROM pelanggan FOR saldop>0

vn=1

GO top

DO WHILE ! EOF()

REPLACE no with vn

vn=vn+1

SKIP

ENDDO

GO bottom

IF EOF() MESSAGEBOX("Sorry tidak ada data yang dapat ditampilkan !",0,"Perhatian...")

RETURN

ENDIF

SET RELATION TO NOPEL INTO PELANGGAN

repo form e:\foxpro\ceps\prg\lappiutang preview

return

B. TUGAS X Buatkan Report Saldo Utang dan buatkan Procedure untuk menjalankan report Saldo Utang pada Submenu Saldo Utang di MenuAdmin dan atau MenuUser

Page 71: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

71

AMIK Al Ma’soem

BAGIAN XI

Tujuan : 1. Membuat Table Bayar Piutang 2. Membuat Form Bayar Piutang

A. BAHAN PRAKTEK XI 11.1 Membuat Table Bayar Piutang dan TMPPIUTANG

1. Nama Table : ByrPiutang

2. Nama Table : TMPPIUTANG

11.2 Membuat Form Bayar Piutang

Page 72: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

72

AMIK Al Ma’soem

* Object FORM1 Procedure LOAD SET DEFAULT TO e:\foxpro\data

CLOSE DATABASES

SET EXCLUSIVE OFF

SET MULTILOCKS ON

SET DATE BRITISH

SET CENTURY ON

SET EXACT ON

OPEN DATABASE DINVENTORY SHARED

IF ! USED("Pelanggan")

USE Pelanggan IN 0 SHARED

ENDIF

IF ! USED("ByrPIUtang")

USE ByrPIUtang IN 0 SHARED

ENDIF

IF USED("TmpPIUtang")

USE IN TmpPIUtang

ENDIF

SELECT 7

USE e:\foxpro\ceps\data\TmpPIUtang EXCLUSIVE

RETURN

* Object FORM1 Procedure UNLOAD CLOSE DATABASES

USE IN tmppiutang

RETURN

* Object FORM1 Procedure AKTIFKAN PARAMETERS x

thisform.tglbayar.enabled=x

thisform.nopel.enabled=x

thisform.jmlbayar.enabled=x

thisform.namapel.enabled=x

RETURN

* Object FORM1 Procedure KENDALI PARAMETERS Y

thisform.pertama.Enabled=Y

thisform.berikutnya.Enabled=Y

thisform.sebelumnya.Enabled=Y

thisform.terakhir.Enabled=Y

RETURN

* Object FORM1 Procedure KOSONGKAN thisform.nopel.Value=""

thisform.alamat.Value=""

thisform.jmlbayar.Value=0

thisform.saldop.Value=0

thisform.namapel.Value=""

RETURN

* Object FORM1 Procedure TAMPILKAN

Page 73: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

73

AMIK Al Ma’soem

SELECT ByrPIUtang

thisform.nobayar.value=ByrPIUtang.NoBayar

thisform.tglbayar.value=ByrPIUtang.TglBayar

thisform.nopel.value=ByrPIUtang.nopel

thisform.jmlbayar.value=ByrPIUtang.JmlBayar

SELECT pelanggan

LOCATE FOR nopel=TRIM(thisform.nopel.Value)

thisform.namapel.Value=pelanggan.namapel

thisform.alamat.Value=TRIM(pelanggan.alamat)

thisform.saldop.Value=pelanggan.saldop

SELECT tmppiutang

DELETE ALL

SET DELETED ON

APPEND FROM ByrpiUtang FOR Nopel=TRIM(thisform.nopel.Value)

thisform.Refresh

RETURN

* Object FORM1 Procedure ACTIVATE SELECT tmppiutang

SET FILTER TO

thisform.aktifkan(.f.)

thisform.tglbayar.Value=DATE()

thisform.kendali(.t.)

thisform.tambah.enabled=.t.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.keluar.enabled=.t.

thisform.tambah.setfocus

RETURN

* Object FORM1 Procedure DOUBLECLICK thisform.keluar.Enabled=.t.

* Object NOPEL Procedure LostFocus SELECT Pelanggan

LOCATE FOR nopel=TRIM(thisform.nopel.Value)

thisform.namapel.Value=pelanggan.Namapel

thisform.alamat.Value=TRIM(pelanggan.alamat)

thisform.saldop.Value=pelanggan.saldop

SELECT tmppiutang

DELETE ALL

SET DELETED ON

APPEND FROM BYRPIUTANG FOR nopel=TRIM(thisform.nopel.Value)

IF thisform.saldop.Value=0

DELETE ALL

ENDIF

thisform.refresh

RETURN

* Object NAMAPEL Procedure InteractiveChange SELECT Pelanggan

LOCATE FOR namapel=TRIM(thisform.namapel.Value)

Page 74: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

74

AMIK Al Ma’soem

thisform.nopel.Value=pelanggan.Nopel

thisform.alamat.Value=TRIM(pelanggan.alamat)

thisform.saldop.Value=pelanggan.saldop

SELECT tmppiutang

DELETE ALL

SET DELETED ON

APPEND FROM BYRPIUTANG FOR nopel=TRIM(thisform.nopel.Value)

IF thisform.saldop.Value=0

DELETE ALL

ENDIF

thisform.refresh

RETURN

* Object JmlBayar Procedure LostFocus thisform.simpan.setfocus

* Object JmlBayar Procedure InterActiveChange thisform.kendali(.f.)

thisform.tambah.enabled=.f.

thisform.simpan.enabled=.t.

thisform.batal.enabled=.t.

thisform.keluar.enabled=.f.

RETURN

* Object Simpan Procedure Click IF EMPTY(thisform.nopel.value)

MESSAGEBOX("Transaksi Tidak Bisa di Proses"+CHR(13)+CHR(13)+;

"Isi data dengan lengkap !",0,"Perhatian...")

RETURN

ENDIF

IF thisform.jmlbayar.Value>0

SELECT pelanggan

LOCATE FOR Nopel=TRIM(thisform.nopel.value)

IF FOUND()

sisapiutang=pelanggan.saldop - thisform.JmlBayar.Value

REPLACE pelanggan.saldop WITH sisapiutang

ENDIF

SELECT BYRPIUTANG

LOCATE FOR NoBayar=TRIM(thisform.nobayar.value)

IF ! FOUND()

APPEND BLANK

ENDIF

WITH THISFORM REPLACE ByrPIUtang.NoBayar WITH .NoBayar.value,ByrPIUtang.TglBayar WITH .TglBayar.Value,;

ByrPIUtang.nopel WITH .nopel.value,ByrPIUtang.JmlBayar WITH .JmlBayar.value,;

ByrPIUtang.saldop with sisapiutang IN [BYRPIUTANG]

ENDWITH

SELECT tmppiutang

APPEND BLANK

WITH THISFORM REPLACE tmppiutang.NoBayar WITH .NoBayar.value,tmppiutang.TglBayar WITH .TglBayar.Value,; tmppiutang.nopel WITH .nopel.value,tmppiutang.JmlBayar WITH .JmlBayar.value,;

tmppiutang.saldop with sisapiutang IN [tmppiutang]

ENDWITH

thisform.refresh

Page 75: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

75

AMIK Al Ma’soem

ENDIF

thisform.kendali(.t.)

thisform.tambah.enabled=.t.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.keluar.enabled=.t.

thisform.lihat.enabled=.t.

thisform.tambah.setfocus

RETURN

* Object Batal Procedure Click thisform.grid1.setfocus

thisform.refresh

thisform.jmlbayar.Value=0

thisform.kendali(.t.)

thisform.tambah.enabled=.t.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.keluar.enabled=.t.

thisform.refresh

thisform.tambah.setfocus

RETURN

* Object Tambah Procedure Click thisform.kosongkan

tgl=day(date())

bln=month(date())

th=year(date())

IF tgl<10

d="0"+STR(tgl,1)

ELSE

d=STR(tgl,2)

ENDIF

IF bln<10

m="0"+STR(bln,1)

ELSE

m=STR(tgl,2)

ENDIF

y=RIGHT(STR(th,4),2)

hh=LEFT(TIME(),2)

mm=SUBSTR(TIME(),4,2)

ss=RIGHT(TIME(),2)

thisform.nobayar.value=d+m+y+hh+mm+ss

SELECT tmppiutang

DELETE ALL

SET DELETED ON

thisform.refresh

thisform.tglbayar.Value=DATE()

thisform.kendali(.f.)

thisform.aktifkan(.t.)

thisform.tambah.enabled=.f.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.t.

thisform.keluar.enabled=.f.

thisform.lihat.enabled=.f.

thisform.namapel.setfocus

RETURN

Page 76: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

76

AMIK Al Ma’soem

* Object Cetak Procedure Click

SELECT pelanggan

SET ORDER TO tag nopel

SELECT tmppiutang

SET RELATION TO Nopel INTO Pelanggan

SET FILTER TO NoBayar=TRIM(thisform.NoBayar.value)

REPORT FORM e:\foxpro\ceps\prg\kwbp PREVIEW

SET FILTER TO

RETURN

* Object Keluar Procedure Click

SET EXCLUSIVE ON

SELECT tmppiutang

SET DELETED OFF

PACK

SET EXCLUSIVE OFF

thisform.Release

RETURN

* Object Pertama Procedure Click

SELECT ByrPIUtang

GO top

IF EOF()

MESSAGEBOX("Record Kosong...",0,"Perhatian...")

RETURN

ENDIF

thisform.tampilkan

thisform.kendali(.t.)

thisform.tambah.enabled=.t.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.keluar.enabled=.t.

thisform.grid1.SetFocus()

thisform.Refresh

RETURN

* Object TerAkhir Procedure Click

SELECT ByrPIUtang

GO Bottom

IF EOF()

MESSAGEBOX("Record Kosong...",0,"Perhatian...")

RETURN

ENDIF

thisform.tampilkan

thisform.kendali(.t.)

thisform.tambah.enabled=.t.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

Page 77: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

77

AMIK Al Ma’soem

thisform.keluar.enabled=.t.

thisform.grid1.SetFocus()

thisform.Refresh

RETURN

* Object Sebelumnya Procedure Click

SELECT ByrPIUtang

SKIP -1

IF EOF()

GO bottom

ENDIF

thisform.tampilkan

thisform.kendali(.t.)

thisform.tambah.enabled=.t.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.keluar.enabled=.t.

thisform.grid1.SetFocus()

thisform.Refresh

RETURN

* Object Berikutnya Procedure Click

SELECT ByrPIUtang

SKIP

IF EOF()

GO bottom

ENDIF

thisform.tampilkan

thisform.kendali(.t.)

thisform.tambah.enabled=.t.

thisform.simpan.enabled=.f.

thisform.batal.enabled=.f.

thisform.keluar.enabled=.t.

thisform.grid1.SetFocus()

thisform.Refresh

RETURN

* Object GRID1 Procedure AfterRowCollChange LPARAMETERS nColIndex

LPARAMETERS nColIndex

thisform.nobayar.Value=tmppiutang.nobayar

thisform.tglbayar.Value=tmppiutang.tglbayar

thisform.jmlbayar.Value=tmppiutang.jmlbayar

thisform.saldop.Value=tmppiutang.saldop

thisform.nopel.Value=tmppiutang.nopel

SELECT pelanggan

LOCATE FOR Nopel=TRIM(thisform.nopel.Value)

thisform.namapel.Value=TRIM(pelanggan.namapel)

thisform.alamat.Value=TRIM(pelanggan.alamat)

thisform.lihat.enabled=.t.

Page 78: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

78

AMIK Al Ma’soem

B. TUGAS XI Buatkan Form Kelola Utang

Page 79: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

79

AMIK Al Ma’soem

BAGIAN XII

Tujuan :

1. Membuat Form Backup Data Master 2. Membuat Form Backup Data Transaksi

A. BAHAN PRAKTEK XII 12.1 Membuat Procedure BackUp Data Master dari Menu Backup Master set defa to e:\foxpro\data

close data

SET EXCLUSIVE OFF

SET MULTILOCKS ON

OPEN DATABASE DINVENTORY SHARED

if ! used("barang")

use barang IN 0 SHARED

endif

if ! used("pelanggan")

use pelanggan IN 0 SHARED

endif

if ! used("supplier")

use supplier IN 0 SHARED

endif

SELECT barang

set order to tag kodebrg

copy to d:\backup\backbrg.dbf

SELECT pelanggan

set order to tag NOPEL

copy to d:\backup\backpel.dbf

SELECT supplier

set order to tag nosup

copy to d:\backup\backsup.dbf

return

12.2 Membuat Form BackUp Data Transaksi

1. Membuat Form BackUp Penjualan

* Object FORM1 Procedure Activate set defa to e:\foxpro\data

close data

set date BRITISH

set cent on

SET EXCLUSIVE OFF

Page 80: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

80

AMIK Al Ma’soem

SET MULTILOCKS ON

OPEN DATABASE DINVENTORY SHARED

if ! used("penjualan")

use penjualan IN 0 SHARED

endif

if ! used("faktur")

use faktur IN 0 SHARED

endif

a=date()

B=alltrim(left(cmont(a),3))

T=alltrim(right(str(year(a),4),2))

ext=".DBF"

fj="FJ"

pj="PJ"

tjl=pj +b+T+ext

fjl=fj +b+T+ext

thisform.text1.value=tjl

thisform.text2.value=fjl

retu

* Object Form1 Procedure UnLoad

close data

close inde

retu

* Object Proses Procedure Click ntjl=alltrim(thisform.text1.value)

nfjl=alltrim(thisform.text2.value)

select penjualan

copy to d:\backup\&ntjl

select faktur

copy to d:\backup\&nfjl

thisform.release

retu

* Object Keluar Procedure Click

thisform.release

retu

2. Membuat Form BackUp Retur Penjualan

* Object FORM1 Procedure LOAD set defa to e:\foxpro\data

close data

set date british

Page 81: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

81

AMIK Al Ma’soem

set cent on

SET EXCLUSIVE OFF

SET MULTILOCKS ON

OPEN DATABASE DINVENTORY SHARED

if ! used("returjual")

use returjual IN 0 SHARED

endif

if ! used("fakturrj")

use fakturrj IN 0 SHARED

endif

a=date()

b=alltrim(left(cmont(a),3))

t=alltrim(right(str(year(a),4),2))

ext=".DBF"

frj="FRJ"

trj="RJ"

g=trj+b+t+ext

h=frj+b+t+ext

thisform.text1.value=g

thisform.text2.value=h

retu

* Object FORM1 Procedure UNLOAD close data

close inde

retu

* Object PROSES Procedure Click nfp=alltrim(thisform.text1.value)

nff=alltrim(thisform.text2.value)

select returjual

copy to d:\backup\&nfp

select fakturrj

copy to d:\backup\&nff

thisform.release

retu

* Object Keluar Procedure Click

thisform.release

retu

B. TUGAS XII Buatkan BackUp Data Pembelian

Page 82: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

82

AMIK Al Ma’soem

BAGIAN XIII Tujuan :

1. Membuat Form Backup Data Master 2. Membuat Form Backup Data Transaksi

A. BAHAN PRAKTEK XIII 13.1 Membuat Procedure Tutup Buku File pada Menu Tutup Buku jawab=messagebox("Anda sudah membackup semua file ?"+CHR(13)+;

"dan pastikan komputer client yang lain dalam keadaan off/mati !",4+32+512,;

"Perhatian...!")

if jawab=6

ljwb=messagebox("Anda yakin mau mengosongkan semua file ?",4+32+256,;

"Perhatian...!")

if ljwb=6

CLOSE DATABASES

CLOSE INDEXES

SET DELETED OFF

if used("penjualan")

use IN penjualan

ENDIF

if used("faktur")

use IN faktur

ENDIF

if used("pembelian")

use IN pembelian

endif

if used("fakturb")

use IN fakturb

endif

if used("returjual")

use IN returjual

endif

if used("fakturrj ")

use IN fakturrj

endif

if used("returbeli")

use IN returbeli

endif

if used("fakturrb")

use IN fakturrb

endif

if used("BYRPIUTANG")

use IN BYRPIUTANG

endif

if used("BYRUTANG")

use IN BYRUTANG

ENDIF

SET DEFAULT TO E:\FOXPRO\data

use penjualan EXCLUSIVE

dele all

PACK

USE

use faktur EXCLUSIVE

dele all

Page 83: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

83

AMIK Al Ma’soem

PACK

USE

use pembelian EXCLUSIVE

dele all

PACK

USE

use fakturb EXCLUSIVE

dele all

PACK

USE

use returjual EXCLUSIVE

dele all

PACK

USE

use fakturrj EXCLUSIVE

dele all

PACK

USE

use returbeli EXCLUSIVE

dele all

PACK

USE

use fakturrb EXCLUSIVE

dele all

PACK

USE

use BYRPIUTANG EXCLUSIVE

dele all

PACK

USE

use BYRUTANG EXCLUSIVE

dele all

PACK

USE

endif

endif

retur

13.1 Membuat Procedure Restore File pada Menu Restore File SET DEFAULT TO E:\FOXPRO\data

jawab=messagebox("Anda sudah membackup semua file ?",4+32+512,"Perhatian...!")

if jawab=6

close data

set dele off

if used("penjualan")

use in penjualan

ENDIF

if used("faktur")

use in faktur

endif

if used("pembelian")

use in pembelian

endif

if used("fakturb")

use in fakturb

endif

if used("returjual")

use in returjual

Page 84: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

84

AMIK Al Ma’soem

endif

if used("fakturrj ")

use in fakturrj

endif

if used("returbeli")

use in returbeli

endif

if used("fakturrb")

use in fakturrb

endif

if used("BYRPIUTANG")

use in BYRPIUTANG

endif

if used("BYRUTANG")

use in BYRUTANG

ENDIF

use penjualan EXCLUSIVE

dele all

PACK

USE

use faktur EXCLUSIVE

dele all

PACK

USE

use pembelian EXCLUSIVE

dele all

PACK

USE

use fakturb EXCLUSIVE

dele all

PACK

USE

use returjual EXCLUSIVE

dele all

PACK

USE

use fakturrj EXCLUSIVE

dele all

PACK

USE

use returbeli EXCLUSIVE

dele all

PACK

USE

use fakturrb EXCLUSIVE

dele all

PACK

USE

use BYRPIUTANG EXCLUSIVE

dele all

PACK

USE

use BYRUTANG EXCLUSIVE

dele all

PACK

USE

do form e:\foxpro\ceps\prg\restfile.scx

endif

retur

Page 85: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

85

AMIK Al Ma’soem

13.2 Membuat Form Restore File

* Object Form1 Procedure Activate set defa to E:\FOXPRO\data

thisform.tgl.day=DAY(DATE())

thisform.tgl.month=MONTH(DATE())

thisform.tgl.year=year(DATE())

* Object Form1 Procedure UnLoad close data

close inde

retu

* Object Proses Procedure Click tgl =thisform.tgl.day

bulan=thisform.tgl.month

tahun=thisform.tgl.year

do case

case bulan=1

bln="Jan"

case bulan=2

bln="Feb"

case bulan=3

bln="Mar"

case bulan=4

bln="Apr"

case bulan=5

bln="May"

case bulan=6

bln="Jun"

case bulan=7

bln="Jul"

case bulan=8

bln="Aug"

case bulan=9

bln="Sep"

case bulan=10

bln="Oct"

case bulan=11

bln="Nov"

othe

bln="Dec"

endc

thn=right(STR(tahun,4),2)

ext=".DBF"

fj="FJ"

Page 86: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

86

AMIK Al Ma’soem

pj="PJ"

fjs="FJS"

ts="TS"

fb="FB"

pb="PB"

frj="FRJ"

rj="RJ"

frb="FRB"

rb="RB"

bp="BP"

bu="BU"

fakjl=fj +bln+thn+ext

jual =pj +bln+thn+ext

fakjs=fjs+bln+thn+ext

jasa =ts +bln+thn+ext

fakpb=fb +bln+thn+ext

beli =pb +bln+thn+ext

fakrj=frj+bln+thn+ext

rjual=rj +bln+thn+ext

fakrb=frb+bln+thn+ext

rbeli=rb +bln+thn+ext

bpiut=bp +bln+thn+ext

butng=bu +bln+thn+ext

use faktur EXCLUSIVE

appe from d:\backup\&fakjl

use

use penjualan EXCLUSIVE

appe from d:\backup\&jual

USE

use fakturb EXCLUSIVE

appe from d:\backup\&fakpb

USE

use pembelian EXCLUSIVE

appe from d:\backup\&beli

USE

use fakturrj EXCLUSIVE

appe from d:\backup\&fakrj

USE

USE returjual EXCLUSIVE

appe from d:\backup\&rjual

USE

use fakturrb EXCLUSIVE

appe from d:\backup\&fakrb

use

use returbeli EXCLUSIVE

appe from d:\backup\&rbeli

use

use byrpiutang EXCLUSIVE

appe from d:\backup\&bpiut

use

*use byrutang EXCLUSIVE

*appe from d:\backup\&butng

*use

thisform.release

RETURN

Page 87: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

87

AMIK Al Ma’soem

* Object Keluar Procedure Click

thisform.release

retu

B. TUGAS XIII Buatkan Compiler File dari Sistem Informasi Inventory

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

BAGIAN XIV

QUIZ/EVALUASI

Page 88: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

88

AMIK Al Ma’soem

DAFTAR PUSTAKA

Adi Nugroho. (2010). Rekayasa Perangkat Lunak Berorientasi Objek dengan Metode USDP. Yogyakarta : C.V. Andi Offset.

Al-Bahra Bin Ladjamudin. (2005). Analisis dan Desain Sistem Informasi. Yogyakarta : Graha Ilmu.

Al Haryono Jusup, Drs., M.B.A., Ak. (1991). Dasar-dasar Akuntansi. Yogyakarta : Liberti.

Aryanto, S.E., Ak. (2003). “Tip dan Trik Pemrograman Profesional Microsoft Visual FoxPro 6.0”. Jakarta : PT. Elex Media Komputindo.

Aryanto, S.E., Ak. (2002). “Pengolahan Database dengan Microsoft Visual FoxPro 6.0”. Jakarta : PT. Elex Media Komputindo.

Bartee, Thomas. (1975). Introduction to Computer. Kogakusha Ltd.: McGraw-Hill.

Fatansyah. (2001). Basis Data. Bandung : Informatika.

Huni Iskandar Pohan, Kusnassriyanto Saiful Bahri. (1997). Pengantar Sistem, Jakarta : Cetakan I, Erlangga.

Inge Martina, Ir. (2001). “Visual FoxPro 6.0 ; 36 Jam Belajar Komputer”. Jakarta : PT. Elex Media Komputindo.

James Martin, Carma McClure. (1985). Structure Techniques : The Basis for CASE. New Jersey : Prentice

Knuth, Donald, E. (1973). The Art of Computer Programmeing Volume 1. Inc. : Addison-Wesley Company.

Rusidi. (1993). Pedoman Penelitian dan Penulisan Ilmiah, Jatinangor: UPT Penerbitan IKOPIN.

Wahana Komputer. (2007). Panduan Praktis Pemrograman Database dengan Visual FoxPro 9.0. Yogyakarta : Andi Offset.

Yogianto HM. (1999). Analisis & Desain Sistem Informasi, Edisi II. Yogyakarta : Andi

Offset.

Page 89: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

89

AMIK Al Ma’soem

KATA PENGANTAR

Alhamdulillah. Berkat rahmat Allah SWT. penulis dapat menyelesaikan Buku Panduan Praktek

Visual FoxPro Aplikasi “Inventory Model LIFO Berbasis Client Server”. Buku panduan ini penulis buat dengan

harapan dapat menuntun mahasiswa atau pembanaca dalam pembuatan program aplikasi Inventory model

LIFO dengan menggunakan bahsa pemrograman Visual FoxPro 9.0 secara Client Server.

Isi dari buku panduan ini adalah menuntun mahasiswa/pembaca untuk mengetahui bagaimana

cara membuat program aplikasi tentang pengelolaan data master barang, pelanggan, supplier, transaksi

pembelian, transaksi penjualan model Lifo, laporan pembelian, laporan penjualan, laporan rekomendasi

pembelian, laporan stock barang, backup file dan Restore File dengan menggunakan bahasa pemrograman

Visual FoxPro 9.0 secara Client Server.

Terimakasih penulis sampaikan kepada semua pihak yang telah membantu hingga

terselesaikannya buku panduan ini. Semoga amal baiknya mendapat balasan yang berlipat-lipat dari Allah

SWT. Amin.

Akhir kata semoga buku panduan ini ada guna dan manfaatnya baik untuk penulis sendiri maupun

mahasiswa/pembaca.

Jarinangor, September 2013

Penulis

Page 90: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

90

AMIK Al Ma’soem

DAFTAR ISI

KATA PENGANTAR ......................................................................................................... ii

DFTAR ISI ......................................................................................................... iii

I. BAGIAN I

A. BAHAN PRAKTEK I ............................................................................................... 1

B. LATIHAN I ......................................................................................................... 4

C. TUGAS I ......................................................................................................... 6

II. BAGIAN II

A. BAHAN PRAKTEK II .............................................................................................. 8

B. LATIHAN II ......................................................................................................... 10

C. TUGAS II ......................................................................................................... 19

III. BAGIAN III

A. BAHAN PRAKTEK III ............................................................................................. 20

B. TUGAS III ......................................................................................................... 32

IV. BAGIAN IV

A. BAHAN PRAKTEK IV ............................................................................................. 33

B. TUGAS IV ......................................................................................................... 34

V. BAGIAN V

A. BAHAN PRAKTEK V .............................................................................................. 35

B. TUGAS V ......................................................................................................... 47

VI. BAGIAN VI

A. BAHAN PRAKTEK VI ............................................................................................ 49

B. TUGAS VI ......................................................................................................... 49

VII. BAGIAN VII

A. BAHAN PRAKTEK VII ............................................................................................ 50

B. TUGAS VII ......................................................................................................... 52

Page 91: BAGIAN I - encepsupriatna.files.wordpress.com · 1 AMIK Al Ma’soem BAGIAN I Tujuan : 1. Membuat Project File 2. Membuat menu program 3. Menguji Menu Program A. BAHAN PRAKTEK I 1.1

91

AMIK Al Ma’soem

VIII. BAGIAN VIII

A. BAHAN PRAKTEK VIII ........................................................................................... 54

B. TUGAS VIII ......................................................................................................... 58

IX. BAGIAN IX

A. BAHAN PRAKTEK IX ............................................................................................. 59

B. TUGAS IX ......................................................................................................... 68

X. BAGIAN X

A. BAHAN PRAKTEK X ............................................................................................. 69

B. TUGAS X ......................................................................................................... 70

XI. BAGIAN XI

A. BAHAN PRAKTEK XI ............................................................................................ 71

B. TUGAS XI ......................................................................................................... 78

XII. BAGIAN XII

A. BAHAN PRAKTEK XII ........................................................................................... 79

B. TUGAS XII ......................................................................................................... 81

XIII. BAGIAN XIII

A. BAHAN PRAKTEK XIII .......................................................................................... 82

B. TUGAS XIII ......................................................................................................... 87

XIV. BAGIAN XIV

QUIZ / EVALUASI ......................................................................................................... 87