Rabu, 22 Desember 2010

Penjualan Kueee

 Latihan kali ini membuat Form Transaksi Penjualan sederhana dengan menampilkan struk penjualan pada saat menyimpan. 


Langkah pertama, 
Buat project : PrjKue
Buat database : dbKue
Buat table       : 





1. Table : kue.dbf

 


1. Table : penjualan.dbf
























 3. Kemudian membuat buat design form sederhana :

 


















 :: Lisiting ::

Form__________Awal
thisform.SetAll("enabled",.F.,"textbox")
thisform.combo1.Enabled= .F.
thisform.cmdadd.Enabled= .T.
thisform.cmdbrow.Enabled= .T.
thisform.cmdexit.Enabled= .T.
thisform.cmdsave.Enabled= .F.
thisform.cmdundo.Enabled= .F.
 


Form__________Bersih
thisform.combo1.Value=""
thisform.txtnotrans.Value=""
thisform.txttgltrans.Value=""
thisform.txtnmkue.Value=0
thisform.txtharga.Value=""
thisform.txtjumbel.Value=0
thisform.txtbayar.Value=0



Form__________Activate
thisform.awal()


Form__________Load
CLOSE TABLES ALL

SET DEFAULT TO C:\Materi_VFP\UAS

SELECT 1
USE kue.dbf
SET ORDER TO tag kdkue

SELECT 2
USE penjualan.dbf
SET ORDER TO tag notrans


Timer1________Timer
thisform.txttgltrans.Value=DATE()


CmdAdd______Click
thisform.bersih
SELECT 2
    IF  RECCOUNT() = 0
        no="001"
    ELSE
        GO BOTTOM 
        urut=VAL(RIGHT(notrans,3))+1   
        DO CASE
            CASE urut < 10
                no="00"+ALLTRIM(STR(urut))
            CASE urut < 100
                no="0"+ALLTRIM(STR(urut))
            OTHERWISE 
                no=ALLTRIM(STR(urut))
        ENDCASE        
    ENDIF
thisform.txtnotrans.Value="F-"+no
thisform.combo1.Enabled= .T.
thisform.txtjumbel.Enabled= .T.    
thisform.cmdsave.Enabled= .T.
thisform.cmdundo.Enabled= .T.
thisform.cmdadd.Enabled= .F.
thisform.cmdbrow.Enabled= .F.
thisform.cmdexit.Enabled= .F.



CmdSave______Click
SELECT 2
APPEND BLANK
REPLACE notrans WITH thisform.txtnotrans.Value
REPLACE tgltrans WITH thisform.txttgltrans.Value
REPLACE kdkue WITH thisform.combo1.Value
REPLACE jumbel WITH thisform.txtjumbel.Value
REPLACE bayar WITH thisform.txtbayar.Value
*utk membuat listing ini harus dibuatkan local view dan report
*struk adl nama report
*utk membuat localview & report lihat langkahnya
REPORT FORM "c:\Materi_Vfp\UAS\struk.frx" PREVIEW FOR notrans=thisform.txtnotrans.Value

thisform.bersih()
thisform.awal()
 


CmdUndo______Click
thisform.awal()
thisform.bersih() 


CmdBrowse______Click
SELECT 2
BROWSE




CmdExit_________Click
p=MESSAGEBOX("Yakin mau keluar",36,"Perhatian")
IF p=6
    thisform.Release()
ENDIF

 
Combo1__________ClickSELECT 1
thisform.txtnmkue.Value=nmkue
thisform.txtharga.Value=harga
thisform.txtjumbel.SetFocus() 
 






txtJumbel_________Keypress
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nkeycode=13
thisform.txtbayar.Value=thisform.txtjumbel.value*thisform.txtharga.Value
ENDIF





Setelah Selesai membuat form dan listing, aga pada saat penyimpanan menampilkan struk, maka kita buatkan struk dengan menggunakan local view (untuk memanipulasi table)


langkah ::
1. di Project Manager >> Tab Data >> Pilih Local View >> Klik New
2. Muncul jendela "Table or View" lalu add table kue dan penjualan
3. Maka tampil jendela join condition : pilih yg inner join





4. Masukkan Field-filed yang ingin ditampilkan pada struk dari "Available filed" ke "Selected field"

KLik tanda seru  "!"  untuk running (melihat hasil). Jika belum diisi pada tabel kue dan belum ada transaksi dalam tabel penjualan maka hasilnya tidak bisa dilihat.

Simpan dengan nama : vfaktur


5. baru setelah itu membuat report untuk struk,, langkah ::
# di project manager >> Tab Documents >> Report >> Klik New
# Klik kanan pada page >> Data Environment
# Klik kanan >> Add
# Muncul jendela  "Add Table or View" lalu pilih vfaktur pada 'Select Views'



# Lalu close
# Klik & Drag pada 'fields' ke detail page

# Atur Page tersebut dengan klk kanan page >> Properties >> Page Setup (pilih ukurannya)
# Untuk menambahkan Label judul, maka tampilkan dulu tool report
   View >> Report Control Toolbar

# Untuk menampilkan tanggan dengan format Long mis : 23 Desember 2010
   Double Klik pada field  "tgltrans"
   Pilih tab Format 
   ceklist : "SET DATE Format" dan  "Use Long Date Setting"



setelah itu OK dan jalankan form




» Read more → Penjualan Kueee

Minggu, 19 Desember 2010

Membuat Program Klinik dengan NetBeans

::Program Klinik::


Berhubung sedang belajar pemrograman java dan mendapat tugas dari dosen, rasanya ingin mencoba berbagi meskipun hanya sedikit. Berikut soal latihan + langkah-langkah jawaban.






1. Buat form baru dengan nama : klinik.java
2. Design form sbb :


3. Ketentuan Soal
a. Jenis Poli



b. Data Ruangan 






c. Jika lama inap diatas 4 hari maka mendapat potongan 10% untuk semua orang
d. Data Pasien







e. Perincian Biaya :
    Administrasi        = 10.000
    konsultasi dokter = 100.000
    Obat                  = 150.000
f. Total Bayar ... ?


dari data-data diatas, langkah untuk membuatnya :
1. Membuat Project baru di NetBeans :
    a. File > New Project > Pilih Java Application > Next
        
    b. Tentukan lokasi terlebih dahulu baru Name

   c.  KLik Finisih

2. Membuat form
    a. Tampil project latihan pada  jendela project





     b. Klik kanan pada project latihan, lalu pilih new > JFrame Form

    
      c. Simpan dengan nama : Klinik

     d. Setelah itu kita atur form tsb agar bebas dalam merancang,
         Klik kanan pada form > Set layout > Null Layout




      e. Untuk menyesuaikan ukuran form, ubah properties pada tab Code
     Form size Policy : Generate resize Code 

 3. Objek-objek yang dibutuhkan


4. Menampilkan judl untuk panel :
    a. Aktifkan  panel
    b. Lalu di properties pilih > Klik border, lalu tampil jendela sbb
        Available Border : Titled Border
        Properties         : Title diisi


5. Membuat radio button hanya terisi(True) pada radio yang terpilih saja, sedangkan yang lain kosong

1.    Membuat radio button hanya terisi(True) pada radio yang terpilih saja, sedangkan yang lain kosong
    a. klik & Drag objek Button Group ke FORM
    b. Lihat di jendela inspector
   
    c. kanan ButtonGroup1 > Change variable Name
    d. Ubah menjadi rpoli
    e. Aktifkan ketiga radio button yg ada di form, lalu ubah propertiesnya :
        buttonGroup : rpoli 

 6. Untuk mengisi combobox :
    a. Aktifkan combobox
    b. Di properties isi Model : -Pilih-,Kenanga,Melati,Mawar 
   



7. Untuk membuat Form Activate
    KLik kanan pada form, lalu pilih :



::Berikut listingnya::


private void rUmumActionPerformed(java.awt.event.ActionEvent evt) {                                      
 // TODO add your handling code here:
 if (rUmum.isSelected())
            {tnmdok.setText("dr Wawan");
            twaktu.setText("Pagi");}
}

private void rGigiActionPerformed(java.awt.event.ActionEvent evt) {                                      
        // TODO add your handling code here:
       if (rGigi.isSelected())
        {tnmdok.setText("dr Wati");
         twaktu.setText("Pagi");}
    }



private void rsarafActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        if (rsaraf.isSelected())
            {tnmdok.setText("dr Sudro");
            twaktu.setText("Pagi");}
}            



private void cbNamaActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        if (cbNama.getSelectedItem().equals("Kenanga"))
            tharga.setText("150000");
        else if (cbNama.getSelectedItem().equals("Melati"))
            tharga.setText("200000");
        else if (cbNama.getSelectedItem().equals("Mawar"))
            tharga.setText("300000");

        int lama,harga,diskon;
        lama=Integer.parseInt(tlama.getText());
        harga=Integer.parseInt(tharga.getText());
        if (lama>4)
            diskon=(int) (lama * harga * 0.1);
        else
            diskon=0;
        tdiskon.setText(Integer.toString(diskon));
    }       


 
private void tnoActionPerformed(java.awt.event.ActionEvent evt) {                                    
        // TODO add your handling code here:
        if (tno.getText().equals("abd001"))
            tnmpas.setText("Abdul Kadir");
        else if (tno.getText().equals("ftm001"))
            tnmpas.setText("Fatimah");
}



private void cAActionPerformed(java.awt.event.ActionEvent evt) {                                  
        // TODO add your handling code here:
        if (cA.isSelected())
            tadm.setText("10000");
        else
            tadm.setText("0");
        double adm=0,kon=0,obat=0,total;
        adm=Double.parseDouble(tadm.getText());
        kon=Double.parseDouble(tkon.getText());
        obat=Double.parseDouble(tobat.getText()); 
        total=adm+kon+obat;
        ttotal.setText(Double.toString(total));
}  


 private void cKActionPerformed(java.awt.event.ActionEvent evt) {                                  
        // TODO add your handling code here:

        if (cK.isSelected())
            tkon.setText("100000");
        else
            tkon.setText("0");

        double adm=0,kon=0,obat=0,total;
        adm=Double.parseDouble(tadm.getText());
        kon=Double.parseDouble(tkon.getText());
        obat=Double.parseDouble(tobat.getText());

        total=adm+kon+obat;
        ttotal.setText(Double.toString(total));
    }


 
private void cOActionPerformed(java.awt.event.ActionEvent evt) {                                  
        // TODO add your handling code here:
        if (cO.isSelected())
            tobat.setText("150000");
        else
            tobat.setText("0");
        double adm=0,kon=0,obat=0,total;
        adm=Double.parseDouble(tadm.getText());
        kon=Double.parseDouble(tkon.getText());
        obat=Double.parseDouble(tobat.getText());
        total=adm+kon+obat;
        ttotal.setText(Double.toString(total));
    }


 
private void cmdbersihActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        rpoli.clearSelection();
        tnmdok.setText("");
        twaktu.setText("");
        tno.setText("");
        tnmpas.setText("");
        tlama.setText("0");
        tharga.setText("0");
        tdiskon.setText("0");
        tadm.setText("0");
        tkon.setText("0");
        tobat.setText("0");
        cA.setText("false");
        cK.setText("false");
        cO.setText("false");
}


private void formWindowActivated(java.awt.event.WindowEvent evt) {                                    
        // TODO add your handling code here:
        tadm.setText("0");
        tkon.setText("0");
        tobat.setText("0");
    } 

» Read more → Membuat Program Klinik dengan NetBeans

Senin, 13 Desember 2010

Membuat Logo dari Freehand


Langkah – Langkah Membuat Logo

1.       Logo BSI

a.       Buat lingkaran dengan ukuran kecil dan tulisan BINA SARANA dengan menggunakan tool text
b.      Aktifkan 2 objek tersebut dan pilih Attach To Path (adanya di toolbar text  => Window > Toolbar > Text)

 













c.       Buat 2 buah lingkaran kemudian bentuk seperti dibawah ini, lalu aktifkan keduanya dan pilih punch (pada tool Xtra Operation)



 

d.      Buat text INFORMATIKA, lalu aktifkan text tsb dengan Lingkaran yg ke 2. Klik Attach To Path


e.      Buatlah 2 buah bintang dengan tool polygon
Double klik tool tsb lalu isi sbb :

f.        Buat lingkaran yang sama dengan ukuran kecil.
g.       Gabungkan objek-objek tsb hingga seperti ini




h.      Buat 2 buah Lingkaran  dengan ukuran Besar  dan yang satu lebih kecil menggunakan ellips tool
i.         Berikan warna  untuk lingkaran yang besar BIRU untuk Stroke dan  HIJAU TOSCA  untuk Fill di jendela panel




j.        Kemudian gabungkan gambar-gambar tersebut

k.       Buat tulisan BSI ditengah bundaran dengan huruf B dan I menggunakan tool text (ukuran disesuaikan, misal : 80)
Buat huruf “S “ dengan tool pen
 

l.         Bentuk objek tersebut hingga menyerupai huruf “S” dengan tool subselect 

m.    Gabungkan huruf “B” “S” dan “I” dan beri warna merah untuk fill dan stroke, hingga seperti dibawah

n.      Buat garus untuk huruf gabungan BSI menggunakan pen tool dan berikan stroke hingga ketebalan 2 pt. Beri warna merah pada stroke dan warna putih pada fill


Agar mudah dipindah maka aktifkan kedua objek tsb è klik kanan è group

o.      Lalu gabungkan objek tersebut hingga menjadi hasil akhir seperti ini





» Read more → Membuat Logo dari Freehand

Minggu, 12 Desember 2010

Structure Query Language

Fungsi Aggregate adalah fungsi yang digunakan untuk memanipulasi query dalam perhitungan (kalkulasi) data.

Ada beberapa macam fungsi
1. Fungsi Rata-rata (AVG)
    Syntax : SELECT  AVG(Nama_Kolom)  FROM  Nama_Tabel;

2. Fungsi Rata-rata (COUNT)
    Syntax : SELECT  COUNT(Nama_Kolom)  FROM  Nama_Tabel;


3. Fungsi Rata-rata (MAX)
    Syntax : SELECT  MAX(Nama_Kolom)  FROM  Nama_Tabel;

4. Fungsi Rata-rata (MIN)
    Syntax : SELECT  MIN(Nama_Kolom)  FROM  Nama_Tabel;

5. Fungsi Rata-rata (AVG)
    Syntax : SELECT  AVG(Nama_Kolom)  FROM  Nama_Tabel;

Untuk lebih jelasnya mari kita lihat latihan soal dengan bentuk Rancangan Form:




 Dari rancangan form diatas, bisa kita buatkan relasinya sbb :

:: Soal Latihan ::
= = = = = = = = = = =



1.      Buatlah database dari form diatas dengan nama : Koperasi
C:\ Document Setting\Mahasiswa > mysql
Mysql>CREATE DATABASE koperasi;
Mysql>USE koperasi;


2.   Buatlah tabel berdasarkan data di atas dengan nama : Anggota
Mysql>CREATE TABLE anggota(no_anggota varchar(5),
          nm_anggota varchar(20),alamat varchar(30),
          simp_pokok float, simp_wajib float,
          Primary key(no_anggota));

3.    Isi tabel anggota sebanyak 3 record
A0001
Nisa
Jakarta
200.000
25.000
A0002
Fitria
Bekasi
250.000
25.000
A0003
Fajri
Jakarta
300.000
25.000

      Mysql>INSERT INTO anggota VALUES(‘A0001’,’Nisa’,’Jakarta’,200000,25000);
     Mysql>INSERT INTO anggota VALUES(‘A0002’,’Fitria’,’Bekasi’,250000,25000);
      Mysql>INSERT INTO anggota VALUES(‘A0003’,’Fajri’,’Jakarta’,300000,25000);

4.   Tampilkan semua record dari tabel anggota
Mysql>SELECT*FROM anggota;

5.    Tampilkan record ‘A0001’ untuk no anggota, nama anggota dan alamatnya saja
Mysql>SELECT no_anggota, nm_anggota, alamat FROM anggota WHERE no_anggota=’A001’;

6.    Tampilkan seluruh anggota dimana simpanan pokoknya diatas 200.000
Mysql>SELECT*FROM anggota WHERE simp_pokok > 200000;

7.    Tampilkan seluruh anggota yang huruf  belakang dari nama anggotanya  ‘a’
Mysql>SELECT*FROM anggota WHERE nm_anggota LIKE ‘a%’

8.    Tampilkan seluruh record dimana nama anggotanya ada kata ‘ri’
Mysql>SELECT*FROM anggota WHERE nm_anggota LIKE ‘%ri%’

9.     Ubah simpanan wajib menjadi 30.000 dimana nama anggotanya diawali dengan huruf  ‘F’
Mysql>UPDATE anggota set simp_wajib=30000 WHERE nm_anggota LIKE ‘%F’

10.  Tampilkan total simpanan wajib
 Mysql>SELECT sum(simp_wajib) FROM anggota

11.  Tampilkan simpanan pokok paling rendah
 Mysql>SELECT min(simp_wajib) FROM anggota

12.   Tampilkan seluruh record dimana simpanan pokoknya antara 250000 sampai 300000
 Mysql>SELECT*FROM anggota WHERE simp_pokok BETWEEN 250000 AND 300000

13.    Berapa rata-rata simpanan pokok
 Mysql>SELECT avg(simp_pokok) FROM anggota

14.   Hitung berapa jumlah anggota yang ada pada tabel anggota
 Mysql>SELECT count(no_anggota) FROM anggota
 
15.  Buatlah tabel berdasarkan data di atas dengan nama : Pinjaman
 Mysql>CREATE TABLE pinjaman(no_pinjam varchar(3) PRIMARY KEY,
              tanggal date, jml_pinjaman float,
          jgk_pelunasan int, cicilan_bulanan float,
          noangg varchar(5),
     FOREIGN KEY (noangg) REFERENCES anggota(no_anggota) 
          ON DELETE CASCADE ON UPDATE CASCADE );
» Read more → Structure Query Language

Sabtu, 20 November 2010

Membuat Aplikasi pembelian dengan Visual FoxPro

     Untuk membuat program pembelian, hal ini adalah hal yang biasa dan sering banyak dibahas di banyak artikel. Tapi untuk kali ini, tetap membahas pembelian tapi dengan cara yang berbeda.

     Pengertian Pembelian :
     Pembelian dapat diartikan sebagai urutan kerja atau salah satu proses yang berkaitan dengan pengadaan barang dagangan.


 Persiapan untuk membuat program transaksi pembelian sbb :
1.  Buat project : PjPembelian
2.  Dabatase :dbPembelian
3.  Buat beberapa tabel, berikut struktur sbb:
Tabel Souvenir
kdbrg : Primary key







Isi record pada tabel souvenir sbb :













Tabel Supplier
kdsup : Primary key 







Tabel Pembelian
nofak : Primary Key
kdbrg : Foreign Key (Regular)









Tabel dtBeli
nofak : Foreign Key (Regular)
kdbrg : Foreign Key (Regular)









Design Form pembelian : 




     

Keterangan :
1,2,4,5, 11  : textbox
9                : Listbox
6,7,12        :  CommandButton

1  :  txtNoFak
2  :  txtTglFak
3  :  Combo1
4  :  txtNmSup
5  :  txtQty
6  :  CInput
7  :  cmdFirst, cmdBack, cmdNext, cmdLast
8  :  Text1
9  :  List1
10 : Grid1
11 : txtTotal, txtUbay, txtKembali
12 : cTambah, cSimpan, cKeluar



Untuk setiap textbox yang menampilkan angka, maka akan diubah tipe datanya menjadi numerik melalui builder











Untuk combobox
Klik kanan pada combo
Pilih Builder, lalu masukkan kdsup ke “selected field”






Untuk ListBox, sama seperti combo
KLik kanan pada List
Pilih Builder, lalu masukkan semua field ke "Selected Field"










:: Listing :: 


Form  Aktif
thisform.combo1.Enabled= .T.
thisform.txtNmsup.Enabled= .T.
thisform.text1.Enabled= .T.
thisform.list1.Enabled= .T.
thisform.txtQty.Enabled= .T.
thisform.cinput.Enabled= .T.
thisform.cmdfirst.Enabled= .T.
thisform.cmdback.Enabled= .T.
thisform.cmdnext.Enabled= .T.
thisform.cmdlast.Enabled= .T.


Form  Aturgrid
SELECT Tmpbeli
thisform.grid1.Enabled= .F.
thisform.grid1.RecordSource='Tmpbeli'
thisform.grid1.RecordSourceType= 1
*Atur Grid   
thisform.grid1.column1.Width=85
thisform.grid1.column2.Width=160
thisform.grid1.column3.Width=70
thisform.grid1.column4.Width=50
thisform.grid1.column5.Width=70
           
thisform.grid1.column1.header1.Caption="Kode Barang"
thisform.grid1.column2.header1.Caption="Nama Barang"
thisform.grid1.column3.header1.Caption="Harga"
thisform.grid1.column4.header1.Caption="Qty"
thisform.grid1.column5.header1.Caption="Subtotal"

     
Form  Auto
SELECT pembelian

IF  RECCOUNT() = 0
      no="001"
ELSE
      GO BOTTOM 
      urut=VAL(RIGHT(nofak,3))+1
      DO CASE
      CASE urut > 10
            no="00"+(LTRIM(STR(urut,1)))
      CASE urut > 100
            no="0"+(LTRIM(STR(urut,2)))
      OTHERWISE 
            no=LTRIM(STR(urut,3))
      ENDCASE          
ENDIF

*Menghitung bulan
bl=LTRIM(STR(MONTH(DATE())))
IF VAL(bl) > 10
      bulan="0"+bl
ELSE
      bulan=bl
ENDIF

*Menghitung tahun
th=RIGHT(STR(YEAR(DATE())),2)

*menghitung tanggal
tgl=LEFT(DTOC(DATE()),2)

thisform.txtNoFak.Value="NF"+th+bulan+tgl+no
thisform.Refresh()


Form  Awal
thisform.combo1.Enabled= .F.
thisform.list1.Enabled= .F.
thisform.txtQty.Enabled= .F.
thisform.cinput.Enabled= .F.
thisform.cmdfirst.Enabled= .F.
thisform.cmdback.Enabled= .F.
thisform.cmdnext.Enabled= .F.
thisform.cmdlast.Enabled= .F.
thisform.SetAll("Enabled",.F.,"TextBox")
thisform.SetAll("Value",0,"TextBox")
thisform.text1.Value=""
thisform.txtnmsup.Value=""
thisform.txttotal.Value=0
thisform.txtNmsup.Value=""
thisform.aturgrid()
thisform.ctambah.Enabled= .T.
thisform.csimpan.Caption="Simpan"
thisform.ckeluar.Caption= "Keluar"



Form  Load
CLOSE TABLES ALL
SET DEFAULT TO "C:\Materi_VFP\PraUAS" 
USE pembelian EXCLUSIVE IN 0
USE dtbeli EXCLUSIVE IN 0
USE souvenir EXCLUSIVE IN 0
USE supplier EXCLUSIVE IN 0

CREATE TABLE Tmpbeli(kodebrg char(9),namabrg char(20),;
                   hrg numeric, Tqty byte, Tsubtotal numeric);
        
SELECT Tmpbeli
USE Tmpbeli


Form  Unload
IF USED("pembelian")
      USE IN pembelian
ENDIF

IF USED("dtbeli")
      USE IN dtbeli
ENDIF

IF USED("souvenir")
      USE IN souvenir
ENDIF

IF USED("supplier")
      USE IN supplier
ENDIF


DROP TABLE Tmpbeli



Form  Activate
thisform.awal()


Ctambah     Click
thisform.auto()
thisform.aktif()
thisform.ckeluar.caption= "Batal"
thisform.csimpan.Caption="Hapus Item"
thisform.ctambah.Enabled= .F.




Combo1               Click
SELECT supplier
SET ORDER TO kdsup

IF SEEK(thisform.combo1.Value)
      thisform.txtnmsup.Value=nmsup
      thisform.text1.SetFocus()
ENDIF


Text1        InterActiveChange
cari=TRIM(thisform.text1.Value) + ' % '
thisform.list1.RowSource=''
     
SELECT kdbrg,nmbrg,harga,stok ORDER BY kdbrg;
FROM Souvenir WHERE nmbrg LIKE ?cari INTO CURSOR tmpCari
     
thisform.list1.RowSource='tmpCari'
thisform.Refresh()


List1  dblClick
SELECT Tmpbeli
APPEND BLANK
thisform.grid1.Enabled= .T.
thisform.grid1.RecordSource='Tmpbeli'
thisform.grid1.RecordSourceType= 1

SELECT souvenir
SET ORDER TO TAG kdbrg
SEEK(TRIM(this.Value))
IF FOUND()
      thisform.grid1.column1.text1.Value=souvenir-> kdbrg
      thisform.grid1.column2.text1.Value=souvenir-> nmbrg
      thisform.grid1.column3.text1.Value=souvenir-> harga
      thisform.text1.Value=""
      thisform.list1.Refresh()
      thisform.txtQty.SetFocus()
ENDIF
thisform.list1.RowSource="souvenir"


List1 GotFocus
thisform.list1.ListIndex=1
txtQty      Lostfocus
SELECT Tmpbeli
thisform.grid1.RecordSource='Tmpbeli'
thisform.grid1.RecordSourceType= 1

thisform.grid1.column4.text1.Value=thisform.txtqty.Value
thisform.grid1.column5.text1.Value=thisform.grid1.column4.text1.Value*thisform.grid1.column3.text1.Value
thisform.txttotal.Value=thisform.txttotal.Value+ thisform.grid1.column5.text1.Value

*menambah stok barang

SELECT souvenir
SET ORDER TO kdbrg
LOCATE FOR kdbrg=ALLTRIM(thisform.grid1.column1.text1.Value )
IF FOUND()
      REPLACE stok WITH stok+thisform.txtQty.Value
      thisform.list1.Refresh()
ENDIF
thisform.txtqty.Value =0


Tombol Navigasi
Cmdfirst    Click
SELECT Tmpbeli
GO TOP
thisform.grid1.Refresh()
thisform.grid1.SetFocus


cdmback      Click
SELECT Tmpbeli
SKIP -1
thisform.grid1.SetFocus
IF BOF()
      GO TOP
      thisform.grid1.Refresh()
     
ENDIF


Cmdback     click
SELECT Tmpbeli
SKIP -1
thisform.grid1.SetFocus
IF BOF()
      GO TOP
      thisform.grid1.Refresh()     
ENDIF


Cmdnext     Click
SELECT Tmpbeli
SKIP 1
thisform.grid1.SetFocus
IF EOF()
      GO BOTTOM
      thisform.grid1.Refresh()     
ENDIF


Cmdlast     Click
GO BOTTOM
thisform.grid1.Refresh()
thisform.grid1.SetFocus


cInput      Click
thisform.txtubay.Enabled= .T.
thisform.txtubay.SetFocus()
thisform.csimpan.Caption="Simpan"




txtUbay     KeyPres
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nkeycode=13
      t=thisform.txttotal.Value
      b=thisform.txtubay.Value
      IF bTHEN
            MESSAGEBOX("Uang Bayar kurang!!",48,"Kesalahan")
            b=""
            RETURN
      ELSE
            thisform.txtkembali.Value=b-t
            thisform.csimpan.Caption="Simpan"          
      ENDIF
ENDIF


Csimpan     Click
SELECT pembelian
SET ORDER TO nofak
IF thisform.csimpan.Caption="Hapus Item"
      SELECT Tmpbeli
      SET DELETED ON
      DELETE 
      PACK
      thisform.aturgrid()
ELSE

      SELECT Tmpbeli
      SCAN
      SELECT dtbeli
      APPEND BLANK
      REPLACE nofak WITH thisform.txtnofak.Value
      REPLACE kdbrg WITH Tmpbeli.kodebrg
      REPLACE qty WITH Tmpbeli.Tqty
      REPLACE subtotal WITH Tmpbeli.Tsubtotal
      ENDSCAN

      SELECT pembelian
      SET ORDER TO nofak     
      APPEND BLANK
      REPLACE nofak WITH thisform.txtnofak.Value
      REPLACE tglfak WITH DATE()
      REPLACE kdsup WITH thisform.Combo1.Value
      REPLACE total WITH thisform.txtTotal.Value
      REPLACE ubay WITH thisform.txtUbay.Value
      REPLACE kembali WITH thisform.txtKembali.Value

      SELECT Tmpbeli
      DELETE ALL
      PACK
      thisform.awal()
      thisform.Refresh()
ENDIF




Ckeluar     Click
IF thisform.ckeluar.Caption="Batal"
      thisform.ckeluar.Caption="Keluar"
     
      SELECT Tmpbeli
      IF RECCOUNT() <> 0 THEN
            SELECT souvenir
            SET ORDER TO kdbrg
            LOCATE FOR kdbrg=ALLTRIM(thisform.grid1.column1.text1.Value )
            IF FOUND()
                  REPLACE stok WITH stok-(Tmpbeli.Tqty)
                  thisform.list1.Refresh()
            ENDIF 
          
            SELECT Tmpbeli
            DELETE ALL
            PACK 
            thisform.awal()
      ELSE
            thisform.awal()
      ENDIF
ELSE
IF thisform.ckeluar.Caption="Keluar"
      thisform.Release
ENDIF
ENDIF


Timer1      Timer
*Menghitung tahun
th=LTRIM(STR(YEAR(DATE())))

*Menghitung bulan
bl=CMONTH(DATE())

*menghitung tanggal
tgl=LEFT(DTOC(DATE()),2)

thisform.txttglfak.Value=tgl+"  "+bl+" "+th
» Read more → Membuat Aplikasi pembelian dengan Visual FoxPro