Membuat Program Master Data
Yang di maksud program master data di sini adalah program yang mengelola mulai dari menambah, mengubah, maupun menghapus data-data yang utama. Nah, mari kita praktekkan yang di bawah ini.
# INCLUDE "INKEY.CH"
# INCLUDE "SETCURS.CH"
IF ! FILE("barang.DBF")
dbcreate("barang.dbf",{{"KD_brg","C",5,0},;
{"nama_brg","C",20,0},;
{"satuan","C",10,0},;
{"merk","C",15,0},;
{"harga","n",7,0},;
{"stok","N",2,0}})
use barang
index on kd_brg to barang
ENDIF
use barang index barang
CLEAR
LABEL()
TUNJUK()
DO WHILE .T.
X:=inkey(0)
do Case
Case X=K_ESC
kunci= .F.
exit
Case X=K_INS
TAMBAH()
Case X=K_F2
UBAH()
Case X=K_F4
CARI()
Case X=K_DEL
HAPUS()
endcase
ENDDO
FUNCTION TAMBAH()
layar:=savescreen(0,0,24,79)
do while.t.
pil=space(1)
mkd_brg=SPACE(5)
@9,34 get MKD_BRG
read
if MKD_BRG=SPAC(5)
EXIT
endif
seek (mkd_brg)
if found()
Alert('Perhatian Kode Barang Tersebut Sudah Ada')
loop
else
APPE BLANK
REPL KD_BRG WITH MKD_BRG
@10,34 GET NAMA_BRG
@11,34 GET SATUAN
@12,34 get MERK
@13,34 GET HARGA
@14,34 GET STOK
read
endif
exit
enddo
setcursor(1)
restscreen(0,0,24,79,layar)
retu
FUNCTION UBAH()
RESTSCREEN(0,0,24,79,LAYAR)
MKD_BRG=SPACE(5)
DO WHILE.T.
@9,34 GET MKD_BRG PICT '@!'
READ
IF MKD_BRG=SPACE(5)
EXIT
ENDIF
SEEK (MKD_BRG)
IF ! FOUND()
ALERT('MAAF KODE BARANG TIDAK DITEMUKAN ......!')
LOOP
ENDIF
MKD_BRG=KD_BRG
MNM_BRG=NM_BRG
MSATUAN=SATUAN
MMERK=MERK
MHARGA=HARGA
MSTOK=STOK
@10,34 GET MNM_BRG PICT '@!'
@11,34 GET MSATUAN PICT '@!'
@12,34 GET MMERK PICT '@!'
@13,34 GET MHARGA PICT '9,999,999'
@14,34 GET MSTOK PICT '9,999'
READ
REPL KD_BRG WITH MKD_BRG
REPL NM_BRG WITH MNM_BRG
REPL SATUAN WITH MSATUAN
REPL MERK WITH MMERK
REPL HARGA WITH MHARGA
REPL STOK WITH MSTOK
retu
ENDDO
FUNCTION CARI()
RESTSCREEN(0,0,24,79,LAYAR)
DO WHILE.T.
@9,34 GET MKD_BRG PICT '@!'
READ
IF MKD_BRG=SPACE(5)
EXIT
ENDIF
SEEK (MKD_BRG)
IF ! FOUND()
ALERT('MAAF KODE BARANG TIDAK DITEMUKAN ......!')
LOOP
ENDIF
@10,34 say NM_BRG PICT '@!'
@11,34 say SATUAN PICT '@!'
@12,34 say MERK PICT '@!'
@13,34 say HARGA PICT '9,999,999'
@14,34 say STOK PICT '9,999'
retu
ENDDO
func HAPUS()
SETCOLOR('B/W,W+*/B')
pilih:=alert('Konfirmasi',{'Hapus','Batal'})
do case
case pilih=1
dele for KD_BRG=MKD_BRG
pack
case pilih=2
return
endcase
return
Func LABEL()
clea
set colo to w+/bg
@5,15 clea to 20,72
@5,15 to 20,72 DOUB
@7,33 say " DATA BARANG"
@09,18 SAY"KODE BARANG : "
@10,18 SAY"NAMA BARANG : "
@11,18 SAY"SATUAN : "
@12,18 SAY"MERK : "
@13,18 SAY"HARGA : "
@14,18 SAY"STOK : "
return
Func Tunjuk()
set colo to w+/bg
@18,18 clea to 16,63
@18,18 say '[INS]TAMBAH [F2]UBAH [DEL]HAPUS [F4]CARI [ESC]KELUAR'
set colo to Gr+/bg
@18,19 say 'INS'
@18,31 SAY 'F2'
@18,40 SAY 'DEL'
@18,51 SAY 'F4'
@18,60 SAY 'ESC'
Return