Selasa, 26 Oktober 2010

Membuat Program Rekening Akuntansi Dengan Visual Foxpro


Kali ini, kita membuat program sederhana untuk Master Rekening, yaitu akun-akun yang  akan dipakai untuk penjurnalan

Sebelumnya buat terlebih dahulu Project dan database.Kemudian buat table dalam database tsb dengan nama TBakun.dbf dengan struktur sbb :











jangan lupa, jadikan koderek sebagai Primary Key

Lalu Design form seperti berikut


















Objek yang digunakan dan properties yang di ubah





Ketentuan dan Logika jalannya Program
1. Pada saat form pertama kali tampil, maka semua objek textbox,combo box dan option button nonaktif
    tombol simpan nonaktif dan grid hanya bisa dilihat (Read Only)
2. Klik tambah untuk menambah data
    maka semua objek textbox, combo dan option menjadi aktif
    tombol tambah dan hapus menjadi nonaktif
    tombol simpan menjadi aktif
    tombol "keluar" berubah menjadi "batal"
    a. Pilih ComboBox, maka tampil nama kelompok sesuai dengan kode rekening
    b. Masukkan nama rekening
    c. Pilih posisi
    d. Masukkan Saldo
    e. Klik Simpan
        Jika kode rekening sudah ada dalam tabel maka tampil pesan bahwa kode sudah ada
        Jika kode rekening belum ada dalam tabel maka data tersimpan dan kondisi kembali ke awal
3. Klik tombol Hapus
    maka tampil pesan InputBox seperti berikut :







4. Klik tombol Batal, maka akan kembal;i ke kondisi awal
    Klik tombol Keluar, maka akan keluar dari program



:: Listing ::
Form                    Nonaktif
thisform.combo1.Enabled= .F.
thisform.txtkelompok.Enabled= .F.
thisform.txtnamarek.Enabled= .F.
thisform.optiongroup1.Enabled = .F.
thisform.txtsaldo.Enabled= .F.
thisform.cmdsimpan.Enabled= .F.


Form                          Aktif
thisform.combo1.Enabled= .T.
thisform.txtkelompok.Enabled= .T.
thisform.txtnamarek.Enabled= .T.
thisform.optiongroup1.Enabled = .T.
thisform.txtsaldo.Enabled= .T.

Form                          bersih
thisform.combo1.value= ""
thisform.txtkelompok.value= ""
thisform.txtnamarek.value=""
thisform.optiongroup1.value= 0
thisform.txtsaldo.value= 0

KET : untuk aktif, nonaktif dan bersih buatkan prosedur dengan cara
         Buka jendela code
         Menu Form >> New Method 
         buat untuk aktif, nonaktif, bersih 

form                          Activate
thisform.nonaktif()
thisform.bersih()

FOR a=11101 TO 11106
      thisform.combo1.AddItem (ALLTRIM(STR(a)))
ENDFOR

FOR k=21101 TO 21104
      thisform.combo1.AddItem (ALLTRIM(STR(k)))
ENDFOR

FOR m=31101 TO 31102
      thisform.combo1.AddItem (ALLTRIM(STR(m)))
ENDFOR

FOR p=41101 TO 41102
      thisform.combo1.AddItem (ALLTRIM(STR(p)))
ENDFOR

FOR b=51101 TO 51106
      thisform.combo1.AddItem (ALLTRIM(STR(b)))
ENDFOR


cmdTambah                           Click
thisform.aktif()
thisform.bersih()
thisform.cmdsimpan.Enabled= .T.
thisform.cmdtambah.Enabled= .F.
thisform.cmdhapus.Enabled= .F.
thisform.cmdkeluar.Caption="Batal"
thisform.combo1.SetFocus()

cmdSimpan                           Click
SELECT tbakun
SET ORDER TO koderek

LOCATE FOR koderek=ALLTRIM(thisform.combo1.Value)
IF FOUND()
      MESSAGEBOX("Rekening Sudah Ada",48,"Info")
ELSE
      APPEND BLANK
      REPLACE koderek WITH thisform.combo1.Value
      REPLACE kelompok WITH thisform.txtkelompok.Value
      REPLACE namarek WITH thisform.txtnamarek.Value
      IF thisform.optiongroup1.opD.Value=1
            REPLACE posisi WITH "D"
      ELSE
      IF thisform.optiongroup1.opD.Value=1
            REPLACE posisi WITH "K"
      ENDIF
      ENDIF
     
      REPLACE saldo WITH thisform.txtsaldo.Value
      thisform.cmdtambah.Enabled= .T.
      thisform.cmdhapus.Enabled= .T.
      thisform.cmdkeluar.Caption="Keluar"
      thisform.nonaktif()
ENDIF
thisform.grdTbakun.Refresh() 

cmdHapus                            Click
y=INPUTBOX("Kode yang ingin dihapus?","Info","")

LOCATE FOR tbakun.koderek=y
IF FOUND()
      DELETE 
      PACK
      GO TOP
ENDIF
thisform.Refresh()

cmdKeluar                           click
IF thisform.cmdkeluar.Caption="Batal"
      thisform.cmdkeluar.Caption="Keluar"
      thisform.nonaktif()
      thisform.cmdtambah.Enabled= .T.
      thisform.cmdhapus.Enabled= .T.
      thisform.bersih()
ELSE
IF thisform.cmdkeluar.Caption="Keluar"
      thisform.Release()
ENDIF
ENDIF

Combo1                              Click
no=LEFT(thisform.combo1.Value,1)

IF no="1"
      thisform.txtKelompok.Value="Aktiva"
ELSE
IF no="2"
      thisform.txtKelompok.Value="Kewajiban"
ELSE
IF no="3"
      thisform.txtKelompok.Value="Modal"
ELSE
IF no="4"
      thisform.txtKelompok.Value="Pendapatan"
ELSE
IF no="5"
      thisform.txtKelompok.Value="Beban" 
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
thisform.Refresh()
thisform.txtNamarek.SetFocus()

Option1                 Click
thisform.txtsaldo.SetFocus()

Option2                 Click
thisform.txtsaldo.SetFocus()


» Read more → Membuat Program Rekening Akuntansi Dengan Visual Foxpro

Rabu, 20 Oktober 2010

Tips membuat program sederhana Visual Foxpro

Dalam membuat program perhitungan sederhana di visual foxpro memerlukan sebuah konversi agar bisa dilakukan perhitungan. Karna setiap objek yang ada di dalam form bertipe data string.

Contoh Soal Program:

























Dari Form diatas kita dapat mengetahui bahwa form tersebut untuk menghitung berat ideal.
  1. Masukkan tinggi badan
  2. Masukkan berat badan
  3. Klik hitung, maka didapat berat ideal dan tampilan kategori (pada label 4) 
     

Contoh Program saat Running

























Untuk listing diatas perhitungannya antara lain
  1. 110 dikurang tinggi badan, maka didapatkan berat ideal
  2. Berat badan – berat ideal
a.  Jika Berat badan < berat ideal, maka termasuk kategori Kurus
b.  Jika Berat badan = berat ideal, maka termasuk kategori Ideal
c.  Jika Berat badan > berat ideal, maka termasuk kategori Gemuk

Ada 2 cara dalam membuat perhitungan tsb antara lain :
1.  Dengan Cara Mengkonversi ke VAL melalui listing

Jika mengkonversi dengan cara ini, yang harus diperhatikan adalah perhitungannya. Tidak semua textbox menggunakan VAL.

Pertama, untuk textbox berat dan textbox tinggi di konversi maka secara otomatis kedua textbox tersebut bertipe numeric

Lalu untuk mencari berat ideal didapat dari 110 – berat, hasil tersebut diberikan ke textbox berat ideal (text3) secara otomatis menjadi numeric juga.



Untuk pencarian keterangan pada label4, dibuatkan listing :







Text3 tersebut adalah text berat ideal. Mengapa text tsb tidak dikonversi?? Jawabannya adalah karena pada saat perhitungan 110-berat akan menghasilkan nilai yang numeric. Oleh karena itu pada saat pemberian syarat tidak di konversi lagi.


2.  Dengan cara Mengkonversi melalui Builder

a.klik kanan pada textbox => pilih builder















b. Data type pilih numeric
       

Perhatikan untuk setiap textbox yang di ubah menjadi numeric. Posisinya berada di sebelah kanan, dan hal ini yang membuat perhitungan tidak perlu di konversi lagi

» Read more → Tips membuat program sederhana Visual Foxpro