Sunday, May 31, 2015

Aplikasi Persediaan Pemerintah Daerah

  No comments

Sesuai dengan Permendagri No. 17 Tahun 2007 tugas Penyimpan Barang :
a. menerima, menyimpan dan menyalurkan barang milik daerah;
b. meneliti dan menghimpun dokumen pengadaan barang yang diterima;
c. meneliti jumlah dan kualitas barang yang diterima sesuai dengan dokumen pengadaan;
d. mencatat barang milik daerah yang diterima ke dalam buku/kartu barang;
e. mengamankan barang milik daerah yang ada dalam persediaan; dan

f. membuat laporan penerimaan, penyaluran dan stok/ persediaan barang milik daerah kepada Kepala SKPD.
Dalam rangka melaksanakan tugas tersebut, penyimpan barang diwajibkan membuat dokumen- dokumen sebagaimana tercantum dalam Permendagri No. 17 Tahun 2007, di antaranya adalah :
a. Laporan penerimaan, penyaluran dan stok persediaan
b. Berita acara stok sisa barang pakai habis
c. Daftar pengadaan Barang (Lampiran 4)
d. Buku Penerimaan Barang (Lampiran 8)
e. Buku Pengeluaran Barang (Lampiran 9)
f. Buku Barang Pakai Habis (Lampiran 11)
g. Kartu Barang (Lampiran 12)
h. Kartu Persediaan Barang (Lampiran 13)
i. Laporan Semesteran (Lampiran 15)
Karena banyaknya dokumen yang harus dikerjakan, akan menghabiskan waktu yang tidak sedikit jika dikerjakan secara manual.
Disini kami mencoba menawarkan untuk mempermudah pekerjaan penyimpan barang dalam mengadministrasikan pekerjaan barang persediaan dengan  cara menyederhanakan aktifitas penyimpan barang hanya dengan melakukan transaksi input dan output barang maka semua laporan di atas dapat dikerjakan secara keseluruhan.
Untuk lebih jelasnya anda dapat mendownload aplikasi beserta penjelasaannya pada link berikut :
1. Download dan cara Install Aplikasi disini.
2. Cara Impor data awal dari excel disini.
3. Cara menginput data barang masuk dan data barang keluar disini.
4. Penjelasan dokumen dasar yang dibutuhkan disini
5. Fitur aplikasi dapat dilihat disini.
6. Cara mencetak laporan disini.
7. Trouble shooting permasalahan Operating System 64 bit disini.
8. Cara Setting Kertas Folio disini
9. Registrasi Aplikasi disini.
10. Cara mengganti logo Pemerintah Daerah disini.

Friday, May 15, 2015

Tampilan Laporan

  No comments
a. Daftar pengadaan Barang (Lampiran 4)
b. Buku Penerimaan Barang (Lampiran 8)
c. Buku Pengeluaran Barang (Lampiran 9)
d. Buku Barang Pakai Habis (Lampiran 11)
e. Kartu Barang (Lampiran 12)
f. Kartu Persediaan Barang (Lampiran 13)
g. Laporan Semesteran (Lampiran 15)
Berikut contoh tampilan yang dihasilkan dari aplikasi ini :






















Tuesday, May 12, 2015

Sunday, May 3, 2015

Trouble shooting permasalahan Operating System 64 bit

  No comments
Jika pada waktu anda selesai melakukan install aplikasi dan mencoba menjalankan aplikasi kemudian keluar pesan error seperti pada gambar di bawah ini :

kemungkinan yang terjadi adalah pada waktu instal aplikasi tidak menggunakan hak akses sebagai administrator. Maka yang perlu dilakukan adalah melakukan register komponen dengan cara membuka file 64bit.BAT pada folder C:/Program Files/APPBRG/. Buka file 64bit.BAT tersebut dengan cara klik kanan file tersebut dan pilih Run as Administrator.

Jika Operating System yang anda gunakan adalah 32 bit, lakukan hal yang sama pada file 32bit.BAT.

Cara mengganti logo Pemerintah Daerah

  No comments
Untuk mengganti logo Pemerintah Daerah cukup siapkan file logo pemerintah daerah anda dalam format PNG. Ukuran yang diizinkan adalah 256x256 pixel. Kemudian copykan file logo tersebut ke C:/Program Files/APPBRG/Img/. Tekan Yes jika anda diminta untuk melakukan replace. Pastikan anda mempunyai hak akses jika anda diminta sebagai administrator.

Registrasi Aplikasi

  No comments
Untuk dapat menggunakan aplikasi persediaan ini secara penuh, anda haru melakukan registrasi dengan cara memasukkan kode registrasi pada kolom registrasi.
Untuk melakukan registrasi, klik tombol registrasi pada pojok kanan atas aplikasi kemudian akan muncul form berisi Serial dan Kode Registrasi. Atau jika aplikasi telah melewati masa percobaan sebanyak 30 kali maka form ini akan secara otomatis mengharuskan anda mengisi kode registrasi.











Untuk registrasi, silakan isi komentar di bawah ini dengan menyebutkan kode serialnya sekalian informasikan dari mana instansi anda berasal. Jika ada yang perlu ditanyakan, baca dulu penjelasan berikut.
Terima kasih.

Saturday, May 2, 2015

Dokumen Dasar Yang Dibutuhkan

  No comments
Aplikasi persediaan ini dibuat agar penyimpan barang baik itu di SKPD maupun UPTD dapat mudah membuat dokumen-dokumen administrasi yang dipersyaratkan dalam Peraturan Menteri Dalam Negeri Nomor 17 Tahun 2007. Kemudahan yang ditawarkan dalam aplikasi ini adalah penyimpan barang hanya dengan melakukan input barang masuk dan keluar maka semua laporan dapat tersedia.
Kartu barang maupun kartu persediaan barang dapat dibuat secara mudah dan tersimpan dalam aplikasi, Laporan penerimaan, penyaluran dan stok persediaan dapat dicetak sewaktu-waktu, pencarian data barang mudah dilakukan, dan laporan lain dapat dibuat dengan mudah.
Penyimpan barang juga dapat melakukan input pada aplikasi sewaktu-waktu atau non real time asalkan dokumen-dokumen yang dibutuhkan dalam input ke aplikasi ada dam valid. Dokumen-dokumen manual yang dibutuhkan dalam aplikasi ini adalah :

1. Bukti Barang Keluar
Bukti barang keluar dapat diperoleh dari bon permintaan barang keluar, atau buku permintaan barang. Untuk skala kecil disarankan tersedia buku bon barang keluar, seperti contoh berikut dan penerapannya dalam aplikasi.
Bukti Barang Keluar
  Screenshot pada aplikasi






2. Bukti Barang Masuk
Bukti barang masuk diperoleh dari berita acara penerimaan / berita acara pemeriksaan barang yang diperoleh dari bukti SPJ. Data yang dibutuhkan untuk menginput barang masuk dari bukti ini adalah nomor dan tanggal surat pesanan/ kontrtak, nomor dan tanggal berita acara pemeriksaan, nama dan jenis barang, satuan dan harga satuan barang, serta nama rekanan / toko / supplier.
Contoh Bukti Penerimaan beserta penerapannya pada aplikasi.
Bukti Barang Masuk



















Screenshot pada aplikasi






















Thursday, April 30, 2015

Pengetahuan Dasar Penggunaan Button/ Tombol pada Aplikasi

  No comments

Sebelum mengeksplor aplikasi ini, ada baiknya anda mengetahui terlebih dahulu berbagai macam button tombol pada aplikasi ini beserta fungsinya.


  • Tombol �Edit� berfungsi untuk mengubah data yang sudah ada dengan cara mengklik/ memilih terlebih dahulu data yang akan diedit pada tabel.
  • Tombol �Tambah� berfungsi untuk menambah data baru yang belum ada pada tabel. Kemudian mengisi semua kolom yang kosong, menambahkan tanda � (strip) jika isian kolom kosong.
  • Tombol �Simpan� berfungsi untuk menyimpan data yang telah diedit atau ditambahkan.
  • Tombol �Cetak� berfungsi untuk mencetak laporan.
  • Tombol �Batal� berfungsi untuk membatalkan penambahan atau pengeditan data sebelum disimpan.
  • Tombol �Hapus� berfungsi untuk menghapus data. Hapus data bisa dilaksanakan jika data tersebut tidak terkait dengan data lainnya.
  • Tombol �Proses� berfungsi untuk melakukan input data yang sudah ditransaksikan. Tombol ini hanya ada di menu �BARANG>MASUK� dan menu �BARANG>KELUAR�.
  • Tombol �Trans� hanya ada di menu Staf dan menu Rekanan. Pada menu Staf fungsinya adalah jika staf yang telah dipilih (dengan cara mengklik pada tabel nama staf) akan mengambil barang. Jika diklik akan langsung mengarah ke menu Barang Keluar. Pada menu rekanan hampir sama dengan menu staf tapi untuk barang masuk.
  • Kolom �CARI� hampir ada di setiap menu, berfungsi untuk mempermudah pencarian data pada setiap tabel.
  • Tombol 'Set Printer' untuk mengubah default printer (hanya ada di menu 'UTILITY>ID').
  • Tombol 'Set Kertas' untuk mengubah ukuran cetakan Landscape ke dalam kertas Folio (hanya ada di menu 'UTILITY>ID')
  • Tombol 'Awal Tahun' untuk menambahkan stok akhir tahun menjadi awal tahun selanjutnya. Dilakukan saat awal tahun aplikasi ini dibukan (hanya di menu 'UTILITY>STOK')
  • Tombol 'Updat Stok' untuk update sisa stok jika terjadi kesalahan jumlah stok yang seharusnya. (hanya di menu 'UTILITY>STOK').
  • Tombol 'Keluarkan' untuk mengeluarkan semua barang yang masuk pada daftar dalam satu kali transaksi (hanya di menu 'UTILITY>Edit Barang Masuk') 
  • Tombol 'Backup' untuk membackup semua database.
  • Tombol 'Restore; untuk mengembalikan data hasil backup.
  • Tombol 'Registrasi' untuk registrasi kode aplikasi.
  • Grid atau tabel berfungsi untuk menampilkan data. Pemilihan atau klik data pada tabel harus dilakukan untuk pemilihan data baik itu untuk penghapusan atau edit data.

Petunjuk Penggunaan : Login

  No comments
Setelah menginstal aplikasi ini dan untuk menggunakan, selanjutnya pengguna harus terlebih dahulu 'Masuk/Login' pada shortcut aplikasi seperti tampil pada contoh di bawah ini.


Jika Shortcut tidak ada maka ada beberapa kemungkinan :
1. Aplikasi belum diinstall, untuk itu ikuti petunjuk ini
2. Shortcut terhapus, jika demikian temukan dan buat shortcut baru dengan mencari file 'appbrg.exe' pada 'C:/Progam Files/APPBRG/appbrg.exe' dan buatlah shortcut baru di Desktop.

Jika shortcut sudah tersedia maka pengguna tinggal melakukan eksekusi (dobel click) kemudian akan muncul tampilan sebagai berikut :





Jika tampilan seperti di atas maka aplikasi sudah siap untuk dijalankan, username awal adalah 1 password 1.

Jika Indikator Database �Koneksi ke Server Database MySQL gagal� maka menandakan terjadi kesalahan/ database tidak running. Solusi : buka D:\MYSQLKU\ kemudian klik kanan �Run as Administrator� untuk file mysql-install.bat . Jika masih belum bisa, kemungkinan lain IP Database tidak sama dengan database berasal atau file 'param.ini' yang ada di folder 'C:/Progam Files/APPBRG/' tidak ada. Untuk mengembalikan file ini buat saja file baru dengan format notepad kemudian isi dengan 127.0.0.1 simpan dengan nama param.ini pada folder 'C:/Progam Files/APPBRG/'.
Aplikasi ini bisa dijalankan pada komputer lain pada jaringan LAN yang sama jika sudah diinstal dan isi dari file param.ini berupa IP dari database aplikasi. Tetapi penggunaan pada komputer yang berbeda akan mengharuskan anda untuk mengubah kode registrasi yang berbeda.  

Jika login berhasil dan suskes maka akan keluar tampilan awal seperti pada gambar berikut :


Petunjuk Penggunaan : Menu UTILITY

  No comments
1. ID (IDENTITAS KANTOR)


Pada submenu ini pengguna dapat mengatur isian identitas kantor dan penambahan user. Penambahan user tidaklah penting meskipun bisa diakses dari beberapa PC melalui jaringan, aplikasi bisa dibuka bersama-sama dengan menggunakan satu user yang sama. Sedangkan pada identitas kantor, pengguna dapat merubah sesuai dengan kondisi SKPD/UPTD. Data inilah yang nantinya menjadi heder dari setiap laporan yang ditampilkan dari aplikasi ini.
Dalam isian identitas kantor terdapat nama PPKom, P2HP dan singkatan kantor. Nama PPKom dan P2HP digunakan untuk melengkapi pembuatan SPJ pada menu UTILITY>Edit Barang Masuk, sedangkan singkatan kantor untuk memberikan nama depan file backup aplikasi pada menu UTILITY>Operasi Data.
Pada menu ini terdapat pengaturan kertas agar sesuai dengan ukuran kertas Folio / German Legal Fanfold (8,5 X 13 Inch) yaitu pada tombol 'Set Kertas'. Pengaturan lebih lanjut dapat mengikuti petunjuk ini.

2. STOK 
Administrasi Stok Barang APBD


Menu ini berfungsi untuk mengetahui berapa kuota yang ada, barang yang sudah dibeli/ diinput tiap bulan dalam setahun, dan sisa yang belum dibeli.Informasi ini juga bisa dicetak berdasarkan kategori barang pada tombol cetak.
Selain itu terdapat 2 tombol yang berbeda dari menu lainnya :
  • Awal Tahun : hanya diklik setiap awal tahun anggaran. Fungsinya untuk mengubah stok akhir tahun menjadi stok awal tahun amggaran selanjutnya.
  • Updat Stok : dilakukan jika terjadi selisih kuota dan sisa stok. Selisih dapat dilihat pada sisa stok dan laporan kartu barang jika memang terdapat perbedaan karena seringnya melakukan edit barang masuk/ keluar.


3. Edit Brg Keluar 
    Menu ini digunakan untuk melakukan perubahan / edit terhadap transaksi barang keluar, karena suatu hal baik itu kesalahan jumlah input maupun jenis barang.


    Penggunaan :
    1. Pencarian berdasarkan nama staf atau bulan transaksi tersebut terjadi. 
    2. Jika sudah menemukan data yang dimaksud, pilih dengan klik nama staf , kemudian akan keluar nama barang di sisi sebelah kanan.
    3. Pilih / klik nama barang yang akan diedit atau dihapus. 
    4. Tombol Edit, Hapus, atau Batal untuk tiap item barang. 
    5. Tombol Hapus untuk menghapus satu transaksi secara keseluruhan, tombol edit untuk mengubah tanggal transaksi atau nama staf. Tombol Cetak untuk mencetak berita acara serah terima barang dari pengurus barang kepada staf.

    4. Edit Brg Masuk


    Submenu ini berisi rekap barang masuk, dan berfungsi untuk membantu petugas administrasi SPJ dalam membuat kelengkapan SPJ untuk pembelian barang pakai habis (Format SPJ bisa berbeda tiap Pemerintah Daerah). Terdiri atas cetak Surat Pesanan, BA Pemeriksaan (oleh P2HP), dan BA Serah Terima (dari P2HP kepada penyimpan barang).
    Penghapusan transaksi barang masuk juga diizinkan sepanjang barang tersebut belum ditransaksikan / dikeluarkan atau digunakan.



    Ada tombol khusus yang berbeda dari menu lainnya yaitu adanya tombol 'Keluarkan'. Tombol ini berfungsi untuk mengeluarkan semua barang masuk dalam satu transaksi. Fungsi ini dilakukan manakala penyimpan barang memiliki sub atau bagian yang mengharuskan adanya laporan rutin setiap bulan. Sehingga setiap akhir bulan sub atau bagian tersebut melaporakn sisa persediaan kemudian diinput sebagai barang masuk pada aplikasi. Pada awal bulan selanjutnya, data input tadi dipilih dan 'Keluarkan' sehingga akan menjadi transaksi barang keluar. Tujuan dilakukannya aktifitas ini adalah untuk menghitung secara keseluruhan sisa persediaan di semua bagian pada setiap akhir bulan.

    5. Operasi Data

    Operasi data terdiri atas dua bagian yaitu Backup dan Restore Data serta Hapus Tabel Transaksi.
    • Backup berfungsi untuk membuat file data secara keseluruhan dan dapat disimpan untuk sewaktu-waktu dapat dikembalikan (restore) ke dalam aplikasi. Tujuannya untuk menjaga jika terjadi kerusakan PC/Laptop sehingga data dapat diselamatkan tanpa harus mengetik ualng semua data yang sudah ada.
    • Restore berfungsi untuk mengembalikan data dari hasil Backup. Jika data sudah di-Restore maka data yang lama akan tertimpa.
    Hapus Tabel Transaksi berisi fungsi untuk menghapus tabel transaksi barang masuk dan barang keluar serta data barang secara keseluruhan. Data lain seperi Staf, ID, User, Rekanan, dan Registrasi tidak terhapus.
    Hapus Tabel Transaksi dilakukan jika pengguna hendak membersihkan data atau jika terjadi kesalahan impor data awal dari Excel.

    6. Stok Awal

    Penggunaan Submeni ini bisa dilihat pada petunjuk ini. 

      Wednesday, April 29, 2015

      Petunjuk Penggunaan : MENU LAPORAN

        No comments
      Inilah kemudahan yang ditawarkan aplikasi ini. Cukup dengan menginputkan barang masuk dan barang keluar secara teratur dan rutin, semua laporan yang dibutuhkan sebagaimana Permendagri Nomor 17 Tahun 2007 sudah dibuat dan siap cetak.
      Menu laporan terdiri atas laporan yang dicetak bulanan, triwulanan, semesteran, dan tahunan. Laporan tersebut dapat dicetak sewaktu-waktu sesuai kebutuhan.


      Laporan Bulanan 
      Laporan Penerimaan, Penyaluran dan Stok : Berisi laporan penerimaan, pemakaian dan sisa stok barang pakai habis dan persediaan.

      Laporan TriwulananBerita Acara Stok Opname : laporan yang berisi berita acara pemeriksaan antara kuasa pengguna barang dengan penyimpan barang beserta lampirannya.

      Laporan Semesteran Laporan Semesteran (Lamapiran 15) : dicetak setiap akhir semester

      Laporan Tahunan

      1. Kartu Barang (Lampiran 12) dan Kartu Persediaan Barang (Lampiran 13) memiliki format yang hampir sama, laporan dapat dicetak per satuan barang dengan cara memilih barang pada tabel kemudian klik tombol cetak.Selain di menu laporan, kartu barang dapat dicetak di menu BARANG > BARANG dan menu BARANG > KELUAR. 
      2. Daftar Pengadaan Barang (Lampiran 4)
      3. Buku Penerimaan Barang (Lampiran 8)
      4. Buku Pengeluaran Barang (Lampiran 9)
      5. Buku Barang Pakai Habis (Lampiran 11)
      Laporan Tahunan dicetak setiap akhir tahun, kemudian dijadikan buku sebagai bahan pemeriksaan oleh tim pemeriksa jika ada permintaan. Format laporan tersebut dibuat berdasarkan Peraturan Menteri Dalam Negeri Nomor 17 Tahun 2007 tentang Pedoman Teknis Pengelolaan Barang Milik Daerah.

      Laporan / Cetakan Pendukung Lainnya
      •  Permintaan Per Bidang : untuk mengetahui banyaknya barang yang diminta per bidang per bulan.
      • Rincian Barang Masuk : Rincian barang masuk per bulan
      • Rincian Barang Keluar  : Rincian barang keluar per bulan
      • Rekap Setahun : laporan sebagaimana laporan bulanan, namun berisi semua transaksi rekap selama satu tahun.
      • Laporan Barang Kadaluarsa : laporan untuk mengetahui barang yang akan kadaluarsa dalam bulan itu atau setahun (centang �Setahun�).
      • Data Barang Per Lokasi : laporan untuk mengetahui nama dan jenis barang yang ada pada lokasi penyimpanan barang. 
      Laporan lainnya dapat ditemukan di menu UTILITY :
      • Cetak Stok : ada di menu UTILITY > STOK 
      • Cetak SPJ (Surat Pesanan, BA Pemeriksaan, BA Serah Terima ) : ada di menu UTILITY > Edit Barang Masuk. Cetakan ini berfungsi untuk membuat SPJ sederhana sehingga mempermudah pembuat SPJ dalam membuat laporannya.
      • Cetak BA Serah Terima Barang dari Pengurus Barang kepada Staf : ada di menu UTILITY > Edit Barang Keluar
      Laporan cetak stok barang per lokasi dapat ditemukan di menu BARANG>LOKASI.

      Petunjuk Penggunaan : Menu Barang

        No comments
      Pada menu ini, pengguna akan dimudahkan dalam pengoperasionalan aplikasi, disamping itu semua laporan yang dibutuhkan akan dapat dibuat dengan mudah, atau lebih gampangnya semua laporan tidak usah anda buat karena aplikasi ini sudah membuatkan laporan untuk anda. Betul sekali, hanya dengan melakukan transaksi masuk dan transaksi keluar barang semua laporan sudah dapat dibuat saat itu juga. Sehingga menghemat waktu anda dan input ke dalam aplikasi juga dapat dilakukan sewaktu-waktu atau tidak harus saat transaksi terjadi.

      Pada menu BARANG, pengguna akan melihat 4 submenu beserta fungsi-fungsinya antara lain :

      1. Kategori 

      Menu Kategori digunakan untuk menginput/edit nama kategori barang. Kategori ini dimaksudkan untuk memisahkan jenis barang yang ada seperti ATK sendiri, Alat Kebersihan sendiri, dan seterusnya. Untuk penggunaan menu ini, pahami lebih dulu petunjuk ini.


      2. Barang

      Menu ini berfungsi untuk melakukan penambahan atau pengeditan barang. Penambahan barang mutlak dilakukan jika :
              1)    Nama Barang berbeda
              2)    Harga Barang berbeda meskipun nama barang sama
              3)    Tanggal kadaluarsa berbeda meskipun nama maupun harga barang sama
      Ada beberapa pengguna yang kadang kesulitan dalam mengisi isian yang berupa Harga Barang dan Kuota APBD, karena kadang nol nya kurang atau lebih satu digit. Untuk mengatasi ini anda cukup blok dengan mouse pada isian tersebut, mengisi nominal angkanya kemudian enter. 
      Kuota APBD adalah banyaknya jumlah barang yang akan dibeli berdasarkan data dari DPA SKPD. Data ini nantinya dapat dimanfaatkan untuk mengetahui berapa banyak jumlah barang yang sudah dibeli dan sisa yang harus dibeli sehingga mempermudah kontrol dalam belanja barang.
      Lokasi Barang akan mempermudah anda dalam melakukan pelacakan terhadap lokasi dan jumlah barang sehingga mempercepat pencarian barang.
      Untuk penggunaan menu ini, pahami lebih dulu petunjuk ini. 
       

      3. Masuk


      Yang perlu menjadi pemahaman pada menu di atas adalah sebagai berikut :
      1. Data rekanan : adalah nama rekanan yang menyediakan barang untuk dimasukan ke dalam data barang. Diperoleh dengan cara mengklik tombol �Trans� pada menu Rekanan.Untuk mempermudah bisa dilakukan dengan mengetikkan nama rekanan pada kolom nomor 1 kemudian akan muncul pilihan yang sesuai dan pilih salah satu dengan klik pada id rekanan. 
      2. Cari : digunakan untuk mempermudah pencarian nama barang yang akan diinput ke dalam data barang masuk. Hasilnya akan ditampilkan pada tabel di bawahnya (Nomor 3). Tabel tersebut hanya akan menampilkan data barang yang isian kuota nya lebih dari nol.
      3. Klik pada nama barang yang dipilih kemudian akan muncul pada kolom di bawahnya (Nomor 4).
      4. QTY : jumlah barang yang akan diinput ke dalam data. Jumlah ini tidak boleh melebihi sisa kuota barang. Blok dengan mouse kemudian isikan jumlah barang dan enter dua kali untuk mempercepat pengisian.
      5. Tambah : Klik untuk menambahkan ke dalam data barang yang akan ditambahkan kemudian akan masuk ke dalam tabel (Nomor 6).
      6. Tabel ini jika diklik, datanya akan muncul pada kolom di bawahnya.
      7. Berfungsi untuk menghapus item barang yang akan dimasukkan jika prosedur nomor 6 dilakukan.
      8. Jumlah nilai barang yang akan dimasukan ke dalam data barang.
      9. Nomor dan tanggal penyerahan/ barang masuk.
      10. Nomor dan tanggal surat pesanan, jika tidak ada bisa disamakan dengan nomor 9.
      11. Proses : untuk langsung menginput / menyimpan ke dalam tabel barang jika inputan sudah benar (lihat jumlah nilai barang / nomor 8). Batal : membatalkan dan mengosongkan data yang akan diinput ke dalam transaksi barang masuk. Jika barang sudah diinput ke dalam menu BARANG>BARANG tetapi tidak ada di menu BARANG>MASUK, kemungkinan kuota APBD pada menu BARANG>BARANG masih nol, maka perlu dilakukan pengeditan kemudian diisi dengan jumlah kuota sebagaimana tercantum dalam DPA. Jika barang tidak ada pada kuota DPA tetapi barang tersebut ada dan masuk, maka kuota APBD dapat diisikan bebas, contoh 1000000. 
      4. Keluar

       
      Proses barang keluar hampir sama dengan barang masuk. Perbedaannya hanya pada nama staf yang diperoleh dengan cara membuka dahulu menu staf kemudian memilihnya dan menekan tombol �Trans�. Selain itu dapat dilakukan dengan mengetikkan nama staf pada kolom nama staf, kemudian pilih salah satu dengan klik pada id staf. Yang perlu diperhatikan adalah tanggal keluar barang tersebut.
       
      Fitur lain yang dimiliki pada menu ini adalah adanya warna yang berbeda pada daftar barang. Warna ini berfungsi untuk mengetahui batas kadaluarsa suatu barang.
      • Warna coklat menandakan barang tersebut sudah kadaluarsa.
      • Warna merah menandakan barang tersebut akan kadaluarsa dalam jangka waktu 3 bulan.
      • Warna kuning menandakan barang akan kadaluarsa dalam tahun sekarang.
      5. Lokasi

      Menu ini berfungsi untuk menambah dan mengedit nama lokasi barang untuk menyimpan barang. Dengan adanya lokasi dapat diketahui nama dan jenis barang yang ada pada lokasi barang tersebut beserta sisa stoknya. Untuk mengetahui jumlah stok pada suatu lokasi. tinggal pilih nama lokasi dan pilih 'CETAK' untuk mengetahui hasilnya.


      Petunjuk Penggunaan : Menu REKANAN

        No comments
      Menu ini berfungsi menginput data rekanan dari mana barang pakai habis berasal. Rekanan dapat berupa nama toko atau kantor yang mengirim barang atau menyediakan barang atau dari instansi lain yang mengirimkan barang ke dalam sistem. Dengan adanya nama rekanan, dapat diketahui histori barang masuk pada laporan Kartu Barang.
      Menu ini memiliki fungsi hampir sama dengan menu  Staf / Seksi / Bidang. Kecuali untuk tombol Trans yang berfungsi untuk melakukan transaksi penambahan barang. Jika diklik akan langsung mengarah ke menu Barang Masuk.


      Fungsi yang ada di menu ini adalah :
      • Edit : Mengedit nama dan identitas
      • Tambah : Menambah nama / identitas baru yang belum ada
      • Simpan : Menyimpan hasil perubahan(edit) / penambahan. Muncul setelah tombol tambah maupun edit diklik.
      • Trans : Fungsinya adalah jika rekanan yang telah dipilih (dengan cara mengklik pada tabel nama rekanan) akan menambahkan barang. Jika diklik akan langsung mengarah ke menu Barang Masuk.
      • Hapus : untuk menghapus data yang telah dipilih. Tombol hapus dapat digunakan manakala data yang akan dihapus tidak terkait dengan transaksi di tabel lain.

      Petunjuk Penggunaan : Menu STAF / SEKSI / BIDANG

        No comments
      Menu ini berfungsi untuk menginput data staf yang melakukan transaksi atau meminta barang pakai habis. Nantinya nama staf tersebut digunakan pada laporan yang di dalamnya terdapat nama staf yang menggunakan barang pakai habis tersebut yaitu pada laporan Kartu Barang. Sehingga dapat diketahui histori keluarnya barang tersebut ke staf siapa saja.
      Fungsi input bidang maupun seksi digunakan pada menu laporan untuk mengecek permintaan barang per bidang. Dengan data tersebut, dapat diketahui bidang mana saja yang permintaan barangnya banyak atau sedikit.


      Ketiga menu tersebut (Staf/Seksi/Bidang) terdiri atas fungsi /Tombol :

      • Edit : Mengedit nama dan identitas
      • Tambah : Menambah nama / identitas baru yang belum ada
      • Simpan : Menyimpan hasil perubahan(edit) / penambahan. Muncul setelah tombol tambah maupun edit diklik.
      • Trans : Tombol ini hanya ada di menu Staf. Fungsinya adalah jika staf yang telah dipilih (dengan cara mengklik pada tabel nama staf) akan mengambil barang. Jika diklik akan langsung mengarah ke menu Barang Keluar.
      • Hapus : untuk menghapus data yang telah dipilih. Tombol hapus dapat digunakan manakala data yang akan dihapus tidak terkait dengan transaksi di tabel lain.

      Source Code : Main Form

        No comments


      ****************************************************************************
      Thisform.init

      PUBLIC harix,bulanx,tahunx,nm_tgl_inp

      *DECLARE SetWindowLong In Win32Api AS _Sol_SetWindowLong Integer, Integer, Integer
      *DECLARE SetLayeredWindowAttributes In Win32Api AS _Sol_SetLayeredWindowAttributes Integer, String, Integer, Integer

      *_Sol_SetWindowLong(this.hWnd, -20, 0x00080000)
      *_Sol_SetLayeredWindowAttributes(this.hWnd, 0, 255, 2)

      thisform.buatcursor
      thisform.up_bdg
      thisform.up_jns_brg
      thisform.up_kat_brg
      thisform.up_lok
      thisform.up_brg
      thisform.up_sexi
      thisform.up_sup
      thisform.up_inp
      thisform.up_outp
      thisform.up_det_inp
      thisform.up_det_out                                        
      thisform.up_idktr
      thisform.up_staf
      thisform.kliksexi
      thisform.up_user
      thisform.up_brg13
      thisform.up_reg
      *thisform.up_stok

      *----------------------------------------
      thisform.pageframe1.page14.optiongroup1.Click
      thisform.lblid.VALUE=user_id
      thisform.lbluser.VALUE=user_name
      thisform.pageframe1.page2.cbjns_brg.RowSource="cjns_brg.nm_jns_brg"
      thisform.pageframe1.page4.cbjns_brg.RowSource="cjns_brg.nm_jns_brg"
      thisform.pageframe1.page2.cbkat_brg.RowSource="ckat_brg.nm_kat_brg"
      thisform.pageframe1.page9.cbkat_brg.RowSource="ckat_brg.nm_kat_brg"
      thisform.pageframe1.page2.cblok.RowSource="clok.nm_lok"
      thisform.pageframe1.page16.cblok.RowSource="clok.nm_lok"
      thisform.img_logo.Picture= 'C:\PROGRAM FILES\APPBRG\IMG\LOGO.PNG'

      thisform.pageframe1.page4.grid2.RecordSource=''
      thisform.pageframe1.page5.grid2.RecordSource=''
      thisform.labelip.Caption='IP Database '+ALLTRIM(ipdata)

      *----------------------------------------

      bln=MONTH(DATE())
      DO CASE
          CASE bln=1
          bula="Januari"
          CASE bln=2
          bula="Pebruari"
          CASE bln=3
          bula="Maret"
          CASE bln=4
          bula="April"
          CASE bln=5
          bula="Mei"
          CASE bln=6
          bula="Juni"
          CASE bln=7
          bula="Juli"
          CASE bln=8
          bula="Agustus"
          CASE bln=9
          bula="September"
          CASE bln=10
          bula="Oktober"
          CASE bln=11
          bula="Nopember"
          CASE bln=12
          bula="Desember"
      ENDCASE
      DO CASE
          CASE DOW(DATE())=1
               hr_="Minggu"
          CASE DOW(DATE())=2
               hr_="Senin"
          CASE DOW(DATE())=3
               hr_="Selasa"
          CASE DOW(DATE())=4
               hr_="Rabu"
          CASE DOW(DATE())=5
               hr_="Kamis"
          CASE DOW(DATE())=6
               hr_="Jumat"
          CASE DOW(DATE())=7
               hr_="Sabtu"
      ENDCASE

      thisform.txtid_user.Value=user_id
      THISFORM.LABEL6.Caption="Anda Login sebagai "+ALLTRIM(user_name)+"( "+ALLTRIM(user_nama)+" )"
      THISFORM.LABEL3.Caption="Hari ini : "+alltrim(hr_)+", "+ALLTRIM(STR(DAY(DATE())))+" "+bula+" "+ALLTRIM(STR(YEAR(DATE())))


      public loReportListener

      loForm = Createobject('form')
      With loForm
         .Name = 'Pencetakan'
         .Caption = 'Print Preview Aplikasi Persediaan'
         .Visible = .F.
         .WindowType=1
         .WindowState=2
         .MaxButton = .T.
         .MinButton = .F.
         .HEIGHT=600
        .WIDTH=1000
         .BackColor = Rgb(255,255,255)
         lcWndName = .Name
      ENDWITH

      SET CLASSLIB TO ("c:/program files/APPBRG/sys/_ReportListener.VCX") ADDITIVE
      loReportListener = NEWOBJECT("FullJustifyListener", LOCFILE("c:/program files/APPBRG/sys/FJListener.Prg"))

      SELECT * FROM cuser WHERE id_user=123456 INTO CURSOR lapx
      SELECT lapx
      REPORT FORM "C:\PROGRAM FILES\appbrg\rep\lap_rkp_kuitx.frx" OBJECT loReportListener NOCONSOLE PREVIEW WINDOW (lcWndName) TO PRINTER PROMPT NODIALOG

      ***********************************************************************************
      *One of many up_*

      thisform.up_brg

      mtf = namakursor
      msql  = "select * from brg;"
      IF     SQLEXEC(Koneksi, msql, "&mtf") <= 0
             =MESSAGEBOX("Proses Query Ke MySQL Gagal 2", 0+16, "Informasi")
             RETURN
      ENDIF

      IF     USED("&mtf")
            SELECT cbrg
          DELETE ALL
           SELECT &mtf
            GO TOP
             DO     WHILE !EOF()
                SCATTER MEMVAR
                SELECT cbrg
                APPEND BLANK
                GATHER MEMVAR
               SELECT &mtf
                SKIP
             ENDDO
             USE IN &mtf
          ELSE
          =MESSAGEBOX("Gagal Query Ke Data Barang", 0+16, "Informasi")
           RETURN
      ENDIF

      SELECT     cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.sat_brg,cbrg.stok,cbrg.kuo,cbrg.jml_bl,cbrg.id_lok,;
                 cbrg.merk_brg,cbrg.id_jns_brg,cbrg.id_kat_brg,cjns_brg.id_jns_brg,cjns_brg.nm_jns_brg,cbrg.ed,;
              clok.id_lok,clok.nm_lok,ckat_brg.id_kat_brg,ckat_brg.nm_kat_brg FROM cbrg INNER JOIN cjns_brg ;
              ON  cbrg.id_jns_brg = cjns_brg.id_jns_brg INNER JOIN clok ON cbrg.id_lok=clok.id_lok;
              INNER JOIN ckat_brg ON cbrg.id_kat_brg=ckat_brg.id_kat_brg ;       
              INTO CURSOR cbrg1    

      SELECT cbrg1
      GO TOP


      thisform.pageframe1.page2.grid1.RecordSource="cbrg1"
      thisform.aturtabel2

      thisform.pageframe1.page7.grid1.RecordSource="cbrg1"
      thisform.aturtabel7

      SELECT * FROM cbrg1 WHERE id_jns_brg_a=1 AND (kuo>0 OR stok>0) INTO CURSOR cbrg9
      SELECT cbrg9
      GO top
      thisform.pageframe1.page9.grid1.RecordSource="cbrg9"
      thisform.aturtabel9

      SELECT * FROM cbrg1 WHERE stok>0 INTO CURSOR cbrg5
      SELECT cbrg5
      GO top

      thisform.pageframe1.page5.grid1.RecordSource="cbrg5"
      thisform.aturtabel5a

      ********************************************************************************
      *One of many Print Command

      thisform.pageframe1.page7.cmdCetak.Click


      PUBLIC tanggal,bulanx,tahun,tgl

      tanggal=DATE()
      thisform.nm_bln
      tgl=ALLTRIM(cidktr.kt_ktr)+", "+ALLTRIM(STR(DAY(DATE())))+" "+ALLTRIM(bulanx)+" "+alltrim(STR(YEAR(DATE())))
      *----------------------------------------------------------------------------------------------------------------      
      KEYBOARD "{Ctrl+F10}" PLAIN CLEAR
      DO     CASE

          CASE     thisform.pageframe1.page7.Optiongroup2.option1.Value=1 && Lampiran 4 (Daftar Pengadaan Barang)
                  SELECT     cdet_inp.id_inp,cdet_inp.id_brg,cdet_inp.jml_inp,cinp.id_inp,cinp.tgl_inp,cinp.tgl_sp,cinp.no_sp,cinp.no_inp,;
                  cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.sat_brg;
                  FROM cdet_inp INNER JOIN cinp ON cdet_inp.id_inp=cinp.id_inp ;
                  INNER JOIN cbrg ON cdet_inp.id_brg=cbrg.id_brg ;
                  WHERE year(tgl_inp)=thisform.pageframe1.page7.spinner1.Value AND !(MONTH(tgl_inp)=1 AND DAY(tgl_inp)=1) ORDER BY tgl_inp ASC INTO CURSOR lapthn1
                  SELECT lapthn1
                  REPORT FORM "C:/Program Files/APPBRG/REP/Lamp4.frx" TO  PRINTER PREVIEW   
      ****************************************************************************************************************************************************           
                 
          CASE     thisform.pageframe1.page7.Optiongroup2.option2.Value=1 && Lampiran 8 (Buku Penerimaan Barang)
                  SELECT     cdet_inp.id_inp,cdet_inp.id_brg,cdet_inp.jml_inp,cinp.id_inp,cinp.tgl_inp,cinp.tgl_sp,cinp.no_sp,cinp.no_inp,;
                  cinp.id_sup,csup.id_sup,csup.nm_sup,cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.sat_brg;
                  FROM cdet_inp INNER JOIN cinp ON cdet_inp.id_inp=cinp.id_inp ;
                  INNER JOIN cbrg ON cdet_inp.id_brg=cbrg.id_brg ;
                  INNER JOIN csup ON cinp.id_sup=csup.id_sup ;
                  WHERE year(tgl_inp)=thisform.pageframe1.page7.spinner1.Value AND !(MONTH(tgl_inp)=1 AND DAY(tgl_inp)=1) ORDER BY tgl_inp ASC INTO CURSOR lapthn2
                  SELECT lapthn2
                  REPORT FORM "C:/Program Files/APPBRG/REP/Lamp8.frx" TO  PRINTER PREVIEW   
      ****************************************************************************************************************************************************                       
                 
          CASE     thisform.pageframe1.page7.Optiongroup2.option3.Value=1 && Lampiran 9 (Buku Pengeluaran Barang)
                  SELECT     cdet_out.id_out,cdet_out.id_brg,cdet_out.jml_out,coutp.id_out,coutp.tgl_out,coutp.id_staf,;
                  cstaf.id_staf,cstaf.nm_staf,cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.sat_brg;
                  FROM cdet_out INNER JOIN coutp ON cdet_out.id_out=coutp.id_out ;
                  INNER JOIN cbrg ON cdet_out.id_brg=cbrg.id_brg ;
                  INNER JOIN cstaf ON coutp.id_staf=cstaf.id_staf ;
                  WHERE year(tgl_out)=thisform.pageframe1.page7.spinner1.Value ORDER BY tgl_out ASC INTO CURSOR lapthn3
                  SELECT lapthn3
                  REPORT FORM "C:/Program Files/APPBRG/REP/Lamp9.frx" TO  PRINTER PREVIEW   
      ****************************************************************************************************************************************************                       
         
          CASE     thisform.pageframe1.page7.Optiongroup2.option4.Value=1 && Lampiran 11 (Buku Barang Pakai Habis)
                  SELECT     cdet_out.id_out,cdet_out.id_brg,cdet_out.id_brg as id_brg1,cdet_out.jml_out,coutp.id_out,coutp.id_out as no_out,coutp.tgl_out,coutp.id_staf,cstaf.id_staf,cstaf.nm_staf,;
                          cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.merk_brg,cbrg.sat_brg FROM cdet_out INNER JOIN coutp ON cdet_out.id_out=coutp.id_out INNER JOIN cstaf ON coutp.id_staf=cstaf.id_staf;
                          INNER JOIN cbrg ON cdet_out.id_brg=cbrg.id_brg WHERE YEAR(tgl_out)=thisform.pageframe1.page7.spinner1.Value INTO CURSOR cbrg7d
                  SELECT     cdet_inp.id_inp,cdet_inp.id_brg,cdet_inp.id_brg as id_brg1,cdet_inp.jml_inp,cinp.id_inp,cinp.tgl_inp,cinp.id_sup,cinp.no_inp,csup.id_sup,csup.nm_sup,;
                          cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.merk_brg,cbrg.sat_brg FROM cdet_inp INNER JOIN cinp ON cdet_inp.id_inp=cinp.id_inp INNER JOIN csup ON cinp.id_sup=csup.id_sup;
                          INNER JOIN cbrg ON cdet_inp.id_brg=cbrg.id_brg WHERE YEAR(tgl_inp)=thisform.pageframe1.page7.spinner1.Value AND (MONTH(tgl_inp)<>1 AND DAY(tgl_inp)<>1) INTO CURSOR cbrg7e
                  select per_brg       
                  DELETE ALL
                 
                  SELECT cbrg7d
                  GO     TOP
                  DO     WHILE NOT EOF()
                      INSERT INTO  per_brg (id_brg,tgl_inp,nm_brg,merk_brg,thn_brg,jml_inp,sat_brg,no_inp,hrg_brg,tgl_out,nm_staf,jml_out,no_out);
                      VALUES (cbrg7d.id_brg1,cbrg7d.tgl_out,cbrg7d.nm_brg,cbrg7d.merk_brg,thisform.pageframe1.page7.spinner1.Value,0,cbrg7d.sat_brg,"",cbrg7d.hrg_brg,;
                      cbrg7d.tgl_out,cbrg7d.nm_staf,cbrg7d.jml_out,cbrg7d.no_out)
                      SELECT     cbrg7d
                      SKIP 
                      ENDDO

                  SELECT cbrg7e
                  GO     TOP
                  DO     WHILE NOT EOF()
                      INSERT INTO  per_brg (id_brg,tgl_inp,nm_brg,merk_brg,thn_brg,jml_inp,sat_brg,no_inp,hrg_brg,tgl_out,nm_staf,jml_out,no_out);
                      VALUES (cbrg7e.id_brg1,cbrg7e.tgl_inp,cbrg7e.nm_brg,cbrg7e.merk_brg,thisform.pageframe1.page7.spinner1.Value,cbrg7e.jml_inp,cbrg7e.sat_brg,cbrg7e.no_inp,cbrg7e.hrg_brg,;
                      cbrg7e.tgl_inp,"",0,0)
                      SELECT     cbrg7e
                      SKIP 
                      ENDDO
                 

                      SELECT * FROM per_brg ORDER BY id_brg,tgl_inp,tgl_out ASC INTO CURSOR per_brg2
                      SELECT per_brg2
                      REPORT FORM "C:/Program Files/APPBRG/REP/Lamp11.frx" TO  PRINTER PREVIEW   
          
                 
      ****************************************************************************************************************************************************                       

          CASE     thisform.pageframe1.page7.Optiongroup2.option5.Value=1 && Lampiran 15 (Laporan Semester)
                  DO CASE
                  CASE    thisform.pageframe1.page7.cbsmt.ListIndex=1
                          SELECT     cdet_out.id_out,cdet_out.id_brg,cdet_out.id_brg as id_brg1,cdet_out.jml_out,coutp.id_out,coutp.id_out as no_out,coutp.tgl_out,coutp.id_staf,cstaf.id_staf,cstaf.nm_staf,;
                                  cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.sat_brg FROM cdet_out INNER JOIN coutp ON cdet_out.id_out=coutp.id_out INNER JOIN cstaf ON coutp.id_staf=cstaf.id_staf;
                                  INNER JOIN cbrg ON cdet_out.id_brg=cbrg.id_brg WHERE YEAR(tgl_out)=thisform.pageframe1.page7.spinner1.Value AND MONTH(tgl_out)<7 INTO CURSOR cbrg7f
                          SELECT     cdet_inp.id_inp,cdet_inp.id_brg,cdet_inp.id_brg as id_brg1,cdet_inp.jml_inp,cinp.id_inp,cinp.tgl_inp,cinp.id_sup,cinp.no_inp,cinp.no_sp,cinp.tgl_sp,csup.id_sup,csup.nm_sup,;
                                  cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.sat_brg FROM cdet_inp INNER JOIN cinp ON cdet_inp.id_inp=cinp.id_inp INNER JOIN csup ON cinp.id_sup=csup.id_sup;
                                  INNER JOIN cbrg ON cdet_inp.id_brg=cbrg.id_brg WHERE YEAR(tgl_inp)=thisform.pageframe1.page7.spinner1.Value AND (MONTH(tgl_inp)<>1 AND DAY(tgl_inp)<>1) AND MONTH(tgl_inp)<7 INTO CURSOR cbrg7g
                  CASE    thisform.pageframe1.page7.cbsmt.ListIndex=2
                          SELECT     cdet_out.id_out,cdet_out.id_brg,cdet_out.id_brg as id_brg1,cdet_out.jml_out,coutp.id_out,coutp.id_out as no_out,coutp.tgl_out,coutp.id_staf,cstaf.id_staf,cstaf.nm_staf,;
                                  cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.sat_brg FROM cdet_out INNER JOIN coutp ON cdet_out.id_out=coutp.id_out INNER JOIN cstaf ON coutp.id_staf=cstaf.id_staf;
                                  INNER JOIN cbrg ON cdet_out.id_brg=cbrg.id_brg WHERE YEAR(tgl_out)=thisform.pageframe1.page7.spinner1.Value AND MONTH(tgl_out)>6 INTO CURSOR cbrg7f
                          SELECT     cdet_inp.id_inp,cdet_inp.id_brg,cdet_inp.id_brg as id_brg1,cdet_inp.jml_inp,cinp.id_inp,cinp.tgl_inp,cinp.id_sup,cinp.no_inp,cinp.no_sp,cinp.tgl_sp,csup.id_sup,csup.nm_sup,;
                                  cbrg.id_brg,cbrg.nm_brg,cbrg.hrg_brg,cbrg.sat_brg FROM cdet_inp INNER JOIN cinp ON cdet_inp.id_inp=cinp.id_inp INNER JOIN csup ON cinp.id_sup=csup.id_sup;
                                  INNER JOIN cbrg ON cdet_inp.id_brg=cbrg.id_brg WHERE YEAR(tgl_inp)=thisform.pageframe1.page7.spinner1.Value AND (MONTH(tgl_inp)<>1 AND DAY(tgl_inp)<>1) AND MONTH(tgl_inp)>6 INTO CURSOR cbrg7g
                  ENDCASE
                 
                  SELECT smt_brg       
                  DELETE ALL
                 
                  SELECT cbrg7f
                  GO     TOP
                  DO     WHILE NOT EOF()
                      INSERT INTO  smt_brg (id_brg,tgl_inp,nm_brg,jml_inp,sat_brg,no_inp,hrg_brg,tgl_out,no_sp,tgl_sp,nm_sup,nm_staf,jml_out,no_out);
                      VALUES (cbrg7f.id_brg1,cbrg7f.tgl_out,cbrg7f.nm_brg,0,cbrg7f.sat_brg,"",cbrg7f.hrg_brg,cbrg7f.tgl_out,"",;
                      cbrg7f.tgl_out,"",cbrg7f.nm_staf,cbrg7f.jml_out,cbrg7f.no_out)
                      SELECT     cbrg7f
                      SKIP 
                      ENDDO

                  SELECT cbrg7g
                  GO     TOP
                  DO     WHILE NOT EOF()
                      INSERT INTO  smt_brg (id_brg,tgl_inp,nm_brg,jml_inp,sat_brg,no_inp,hrg_brg,tgl_out,no_sp,tgl_sp,nm_sup,nm_staf,jml_out,no_out);
                      VALUES (cbrg7g.id_brg1,cbrg7g.tgl_inp,cbrg7g.nm_brg,cbrg7g.jml_inp,cbrg7g.sat_brg,cbrg7g.no_inp,cbrg7g.hrg_brg,;
                      cbrg7g.tgl_inp,cbrg7g.no_sp,cbrg7g.tgl_sp,cbrg7g.nm_sup,"",0,0)
                      SELECT     cbrg7g
                      SKIP 
                      ENDDO
                 

                      SELECT * FROM smt_brg ORDER BY id_brg,tgl_inp,tgl_out ASC INTO CURSOR smt_brg2
                      SELECT smt_brg2
                      REPORT FORM "C:/Program Files/APPBRG/REP/Lamp15.frx" TO  PRINTER PREVIEW   

      *************************************************************************************************************************************

      ENDCASE

      Source Code : Login

        No comments



      *****************************************************************************


      thisform.konek

      ipdb=ALLTRIM(thisform.labelip.Caption)
      userdb="root"
      passdb="***********"
      namedb="dbbrg"
      SQLSETPROP(0,"DispLogin",3)
      mstr = "DATABASE="+namedb+";SERVER="+ipdb+";port=3306;UID="+userdb+";PWD="+passdb+";provider=MSDASQLR;DRIVER={MySQL ODBC 5.1 Driver};"
      THISFORM.Koneksi = SQLSTRINGCONNECT( mstr )
      IF     THISFORM.Koneksi <= 0
          thisform.lbkonek.Caption="Koneksi Ke Server Database MySQL Gagal"
      ELSE
          thisform.lbkonek.Caption="Koneksi Ke Server Database MySQL Berhasil"
      ENDIF
      THISFORM.namakursor  = "QT"+SUBSTR(SYS(2015), 5)

      koneksi = thisform.koneksi
      namakursor=thisform.namakursor

      *****************************************************************************
      thisform.tampildata

      SELECT ( namakursor )
      THISFORM.text1.VALUE=pass

      PUBLIC user_id, user_name, user_nama

      user_id=id_user
      user_name=name   
      user_nama=nama

      THISFORM.REFRESH

      ****************************************************************************
      thisform.init 
       
      LOCAL lcFileName
      IF SELECT("textfile") = 0
          CREATE CURSOR textfile (filename c(60),mem m)
          APPEND BLANK
      ENDIF

      REPLACE textfile.FileName WITH "c:/Program Files/APPBRG/param.ini"
      SELECT textfile
      APPEND MEMO mem FROM ("c:/Program Files/APPBRG/param.ini") OVERWRITE
      THISform.labelip.caption =ALLTRIM(textfile.mem)
      ipdata=ALLTRIM(textfile.mem)
      THISform.Refresh
      thisform.konek

       

      ****************************************************************************
      thisform.ambiluser
       
      CREATE CURSOR Duser (id_user n(3),name c(10),pass c(10),nama c(50),alamat c(50))

      mtf = namakursor
      msql  = "select * from user WHERE name = '" + THISFORM.txtname.Value + "';"
      IF SQLEXEC(Koneksi, msql, "&mtf") <= 0
         =MESSAGEBOX("Proses Query Ke MySQL Gagal", 0+16, "PESAN")
         QUIT
         RETURN
      ENDIF

      IF   USED("&mtf")
            SELECT Duser
            DELETE ALL
           SELECT &mtf
            GO TOP
             DO     WHILE !EOF()
                SCATTER MEMVAR
                SELECT Duser
                APPEND BLANK
                GATHER MEMVAR
               SELECT &mtf
                SKIP
             ENDDO
             USE IN &mtf
          ELSE
          =MESSAGEBOX("Gagal Query Ke Data USER", 0+16, "Informasi")
           RETURN
      ENDIF


      ************************************************************************
      thisform.txtname.LostFocus

      IF Koneksi <= 0
         =MESSAGEBOX("Anda Belum Koneksi Ke Server Database MySQL ", 0+16, "Konfirmasi")
         QUIT
      ELSE

      mtf = namakursor
      msql  = "select * from user WHERE name = '" + THISFORM.txtname.Value + "';"
      IF SQLEXEC(Koneksi, msql, "&mtf") <= 0
         =MESSAGEBOX("Proses Query Ke MySQL Gagal", 0+16, "PESAN")
         QUIT
         RETURN
      ENDIF

      THISFORM.Baru = .T.
      THISFORM.nilai_awal

      IF USED("&mtf")
         SELECT &mtf
         GO TOP
         IF !EOF()
            THISFORM.Baru = .F.
            THISFORM.tampil_data
         ENDIF
      ENDIF
      RETURN
      ENDIF


      ************************************************************************
      thisform.commandOK.Click

      IF EMPTY( THISFORM.txtname.Value )
         MESSAGEBOX("Username Harus diisi!!",0+48,"Perhatian")
         THISFORM.Txtname.SETFOCUS()
         RETURN
         ENDIF
      IF EMPTY( THISFORM.Txtpass.Value )
         MESSAGEBOX("Password Harus diisi!!",0+48,"Perhatian")
         THISFORM.Txtpass.SETFOCUS()
         RETURN
         ENDIF
      SET EXACT ON
      IF     ALLTRIM(thisform.txtpass.Value)=ALLTRIM(thisform.text1.Value) AND ALLTRIM(thisform.text2.Value)=ALLTRIM(thisform.text3.Value)
          MESSAGEBOX('Anda mempunyai Hak Akses',0+64,'Informasi')
              DO FORM 'c:/program files/appBRG/900.scx'
              thisform.ambiluser
              THISFORM.RELEASE
          ELSE
          MESSAGEBOX('User Atau Password salah',0+16,'Informasi')
          ENDIF 

        

      Source Code : Impor Data dari Excel ke MySQL

        No comments

      Menyajikan data awal pada suatu tabel MySQL tentu akan merepotkan jika data yang akan diinput banyak dan diinputkan secara manual. Namun akan memudahkan jika data sudah tersedia dalam bentuk excel dan dengan bantuan MS Visual Foxpro tentunya. Berikut akan ditampilkan bagaimana cara sederhana agar data dalam bentuk Excel dapat diimpor ke dalam format tabel MySQL. Kelemahan cara ini kalau gak salah hanya bisa maksimal 16382 record, saya sendiri belum mencoba. Tapi tidak ada salahnya jika kita sedikit mencoba dengan cara ini :

      1. Ambil data dari excel kemudian memasukan ke dalam cursor baru dan ditampilkan ke dalam tabel:

      lcNamaFile = GETFILE([XLS],[File Excel],[Buka],0,[Impor File Excel])
      lcTempFile = Getenv("TEMP")+'\'+Sys(2015)+'.xls'
      IF     EMPTY(lcNamaFile)
          RETURN
          ELSE
          #DEFINE Pesan1 "Sedang Proses "
          WAIT WINDOW Pesan1 NOWAIT TIMEOUT 0
          loExcel = Createobject("excel.application")

          loExcel.Workbooks.Open(m.lcNamaFile)
          loExcel.ActiveWorkbook.SaveAs(m.lcTempFile,6)
          loExcel.ActiveWindow.Close(.T.)

          create CURSOR tb_imp(id_brg n(9),nm_brg c(100),hrg_brg n(12,2),sat_brg c(30),stok n(9),;
                id_kat_brg n(3),merk_brg c(30),kuo n(9),ed d(8),id_lok n(3))

          Select tb_imp
          DELETE ALL


          Append From (m.lcTempFile) Delimited

          loExcel.Quit

          SELECT tb_imp
          DELETE FROM tb_imp WHERE id_brg=0
          #DEFINE Pesan2 "Proses Selesai"   
          WAIT WINDOW Pesan2 TIMEOUT 1

          WAIT clear
          *USE
          SET SAFETY on
          MESSAGEBOX("Data telah diimpor!"+CHR(13)+"Klik PROSES untuk melanjutkan",0+64,"Informasi")

          SELECT tb_imp
          GO TOP
          SUM (hrg_brg*stok) TO hrg_total
          thisform.pageframe1.page15.txthrg_tot.Value=hrg_total
          thisform.pageframe1.page15.grid1.RecordSource="tb_imp"
          thisform.aturtabel15a
          ENDIF

      2. Memasukkan cursor ke dalam tabel transaksi (MySQL) tombol Proses  :

      Select * from Cinp WHERE MONTH(tgl_inp)=1 AND DAY(tgl_inp)=1 AND YEAR(tgl_inp)=YEAR(DATE()) into cursor cstok
      *? _TALLY
      IF _TALLY=0
          IF     MESSAGEBOX('Data ini akan dijadikan stok awal tahun ini?',4+32,'Perhatian')=7
              RETURN
              ELSE
              ************************************************************************************************************************
              *Input Tabel Cbrg
              SELECT cbrg
              GO BOTTOM
              thisform.pageframe1.page15.text1.Value=id_brg
              SELECT tb_imp
              GO TOP
                  DO     WHILE NOT EOF()
                      replace tb_imp.id_brg WITH thisform.pageframe1.page15.text1.Value+RECNO()
                      IF     EMPTY(tb_imp.ed)
                          replace tb_imp.ed WITH {^2030-01-01}
                          ENDIF
                      IF     EMPTY(tb_imp.id_lok)
                          replace tb_imp.id_lok WITH 1
                          ENDIF
                      SELECT     tb_imp
                      SKIP
                  ENDDO            

               SELECT tb_imp
              GO TOP 
              DO     WHILE NOT EOF()
                  SCATTER MEMVAR
                  thisform.sqlawal 
                  msql=    'INSERT INTO brg (id_brg,nm_brg,hrg_brg,sat_brg,stok,merk_brg,id_jns_brg,kuo,jml_bl,id_kat_brg,ed,id_lok)'+;
                            'VALUES (?m.id_brg,?m.nm_brg,?m.hrg_brg,?m.sat_brg,?m.stok,?m.merk_brg,"1",?m.kuo,"0",?m.id_kat_brg,?m.ed,?m.id_lok);'
                  IF     SQLEXEC( Koneksi, msql ) <= 0
                      =MESSAGEBOX("Gagal Insert/ Update Data ke Tabel Barang", 0+16, "Informasi")
                      RETURN
                  ENDIF       
                  thisform.sqlakhir
                  SELECT tb_imp
                  SKIP
              ENDDO
           
           
           
              *Input Tabel Inp
              SELECT cinp
              GO BOTTOM  
              thisform.pageframe1.page15.txtid_inp.Value=id_inp+1
              tgl_tran    =    TRAN(YEAR(DATE()), "@L 9999")+"-"+TRAN("1", "@L 99")+"-"+TRAN("1", "@L 99")
              thisform.sqlawal
              msql =         'INSERT INTO inp(id_inp,tgl_inp,tot_hrg,id_user,no_inp,id_sup,no_sp,keg,pek,tgl_sp) VALUES ('+;
                            '"' + TRANSFORM(thisform.pageframe1.page15.txtid_inp.value,"999999999")  +'",'+;
                            '"' + TRAN(YEAR(DATE()), "@L 9999")+"-"+TRAN("1", "@L 99")+"-"+TRAN("1", "@L 99")+'",'+;
                            '"' + TRANSFORM(thisform.pageframe1.page15.txthrg_tot.value,"999999999999.99")     +'",'+;
                            '"' + "1"                                                               +'",'+;
                            '"' + "0"                                                              +'",'+;
                            '"' + "1"                                                              +'",'+;
                            '"' + "0"                                                              +'",'+;
                            '"' + "0"                                                              +'",'+;
                            '"' + "0"                                                              +'",'+;
                            '"' +TRAN(YEAR(DATE()), "@L 9999")+"-"+TRAN("1", "@L 99")+"-"+TRAN("1", "@L 99")+'");'
              IF     SQLEXEC( Koneksi, msql ) <= 0
                  =MESSAGEBOX("Gagal Insert/ Update Data ke Tabel Input", 0+16, "Informasi")
                  RETURN
                  ENDIF       
                  thisform.sqlakhir
                 
              *Input Tabel Det_Inp
              SELECT * FROM cdet_inp WHERE id_inp =thisform.pageframe1.page15.txtid_inp.Value-1 INTO CURSOR cdet_inp15
              SELECT cdet_inp15
              GO BOTTOM    
              thisform.pageframe1.page15.txtid_det_inp.Value=id_det_inp
             
              SELECT id_brg,stok,kuo,hrg_brg FROM tb_imp WHERE stok>0 INTO CURSOR cbrgstok2 READWRITE
              SELECT cbrgstok2
              GO TOP
              DO     WHILE NOT EOF()
                  replace cbrgstok2.kuo WITH thisform.pageframe1.page15.txtid_det_inp.Value+RECNO()
                  replace cbrgstok2.hrg_brg WITH thisform.pageframe1.page15.txtid_inp.Value
                  SELECT     cbrgstok2
                  SKIP 
              ENDDO
             
              SELECT cbrgstok2
              GO TOP 
              DO     WHILE NOT EOF()
                  SCATTER MEMVAR
                  thisform.sqlawal 
                  msql=    'INSERT INTO det_inp (id_det_inp,id_inp,id_brg,jml_inp)'+;
                            'VALUES (?m.kuo,?m.hrg_brg,?m.id_brg,?m.stok);'
                  IF     SQLEXEC( Koneksi, msql ) <= 0
                      =MESSAGEBOX("Gagal Insert/ Update Data ke Tabel Detail Input", 0+16, "Informasi")
                      RETURN
                  ENDIF       
                  thisform.sqlakhir
                  SELECT cbrgstok2
                  SKIP
              ENDDO
                 
         
          thisform.up_brg
          thisform.up_det_inp
          thisform.up_inp
          thisform.progress   
          thisform.pageframe1.page15.grid1.RecordSource=""
          ENDIF

      ELSE
      MESSAGEBOX('Data Sudah ada,Proses tidak dapat dilanjutkan?',16,'Perhatian')
      RETURN
      ENDIF


      Cara ini sudah saya coba pada submenu Stok Awal. Mohon maaf codingnya berantakan soalnya saya copy paste langsung dari aplikasinya.