none
URGENT! Cara transfer Stok Barang

    Question

  • HI MSDN... Ada hal yang saya ingin tanyakan, saya harap anda dapat membantu menyelesaikan permasalahan saya dengan cepat karena ini URGENT bagi saya.


    Sebelumnya saya beritahukan dahulu bahwa program yang saya gunakan adalah Ms. Visual Basic 6.0.

    Saya sedang membuat program produksi dengan database Ms. Access. Namun saya mengalami kesulitan dalam membuat laporan dan mentransfer data . Berikut saya jabarkan detailnya.

    Saya mempunyai tabel master barang dimana berisi field sebagai berikut :

    - KodeBrg

    - NamaBrg

    - Saldo


    lalu saya juga mempunyai tabel transaksi dimana berisi field sebagai berikut :

    - KodeBrg

    - NamaBrg

    - SaldoAwal

    - Masuk

    - Keluar

    - SaldoAkhir

    - Tanggal

    - Bulan


    Ket :

    Field Masuk akan terisi apabila ada pemasukan barang

    Field Keluar akan terisi apabila ada pengeluaran barang

    Field Tanggal adalah tanggal transaksi pengeluaran / pemasukan barang

    Field Bulan dan Tahun adalah bulan dan tahun transaksi pengeluaran / pemasukan barang


    saya mendapat kesulitan ketika mencetak laporannya. Berikut saya berikan contoh ilustrasinya :

    Tabel Master Barang

    KodeBrg        NamaBrg          Saldo

        A                 Sabun               10

        B                 Sampo                5

        C                 Odol                  15

     

    Ilustrasi :

    Pada tanggal 25 Januari 2013 ada pemasukan barang yaitu Sabun sebanyak 5 buah. Jadi otomatis ketika disimpan, di tabel transaksi akan menjadi seperti berikut :


    Tabel Transaksi

    KodeBrg  NamaBrg    S.Awal    Masuk    Keluar     S.Akhir    Tanggal        Bulan     Tahun

        A           Sabun            10            5           0              15        25/1/2013     Januari     2013  


    sehingga pada tabel master barang akan menjadi seperti berikut :

    KodeBrg        NamaBrg          Saldo

        A                 Sabun               15        <------| Otomatis berubah ketika ada transaksi

        B                 Sampo                5

         C                 Odol                  15




    Saya menggunakan crystal report / datareport untuk mencetak laporannya. Saya mengkoneksikan laporan ke tabel transaksi, sehingga laporan yang saya peroleh adalah sebagai berikut ini :

    ( Laporan ini diasumsikan bahwa data yang ingin dicetak adalah data tanggal 25 Januari 2013 dan laporan berjenis Laporan Harian )

    Saya ibaratkan laporan saya adalah Laporan A

    KodeBrg   NamaBrg   SaldoAwal    Masuk    Keluar     SaldoAkhir     Bulan     Tahun   

        A             Sabun            10               5              0              15               Januari    2013     


    sedangkan laporan yang saya inginkan adalah sebagai berikut :

    Saya ibaratkan laporan yang dinginkan adalah Laporan B

    KodeBrg   NamaBrg   SaldoAwal    Masuk    Keluar     SaldoAkhir     Bulan       Tahun 

      A             Sabun            10               5              0              15               Januari      2013   

      B             Sampo            5                0              0               5                Januari      2013   

      C             Odol               15              0              0              15               Januari      2013   



    Dari perbandingan kedua laporan diatas nampak jelas bahwa laporan yang dapat saya tampilkan adalah laporan yang hanya ada transaksinya.

    Pertanyaan pertama :

    Bagaimanakah caranya agar laporan juga dapat menampilkan data yang tidak ada transaksinya?


    Saya sudah pernah melakukan usaha untuk menyelesaikannya , berikut ini adalah cara yang pernah saya lakukan :

    saya tetap menggunakan cara yang sama dalam proses penyimpanan data yaitu setiap data yang disimpan akan masuk ke tabel transaksi dan akan otomatis merubah saldonya di tabel master barang. Namun dalam pembuatan laporan saya menggunakan perintah JOIN (left join, right join, inner join). Jadi secara ilustrasi saya menggabungkan dua tabel untuk mendapatkan laporan yang diinginkan.

    Tabel Master Barang

    KodeBrg        NamaBrg          Saldo

        A                 Sabun               15        

        B                 Sampo                5

         C                 Odol                  15


    Tabel Transaksi

    KodeBrg   NamaBrg   SaldoAwal    Masuk    Keluar     SaldoAkhir     Bulan       Tahun

        A             Sabun            10               5              0              15               Januari      2013


    Sehinga didapatkan laporan sebagai berikut :


    KodeBrg   NamaBrg   SaldoAwal    Masuk    Keluar     SaldoAkhir     Bulan       Tahun

      A             Sabun            10               5              0              15               Januari      2013  

      B             Sampo            5                                                  5                Januari      2013

       C             Odol               15                                               15               Januari      2013


    Namun ada kendala lagi jika saya menggunakan cara diatas yaitu seperti berikut ini.

    Ilustrasi :

    Pada tanggal 26 Januari 2013 yaitu sehari setelah transaksi pemasukan Saldo Sabun ada pemasukan barang  lagi yaitu Sampo dan Odol masing masing sebanyak 10 buah. maka tabel transaksi akan menjadi seperti berikut :

    Tabel Transaksi

    KodeBrg  NamaBrg    S.Awal    Masuk    Keluar     S.Akhir    Tanggal        Bulan     Tahun

        A           Sabun            10            5           0              15        25/1/2013     Januari     2013  

        B           Sampo            5             10         0              15        26/1/2013     Januari     2013  

        C           Odol               15            10         0              25        26/1/2013     Januari     2013  


    sehingga pada tabel master barang akan menjadi seperti berikut :

    KodeBrg        NamaBrg          Saldo

        A                 Sabun                15        

        B                 Sampo               15

         C                 Odol                  25


    Jadi laporan yang saya haslkan dengan menggabungkan dua tabel adalah sebagai berikut :

    KodeBrg   NamaBrg   SaldoAwal    Masuk    Keluar     SaldoAkhir     Bulan       Tahun

      A             Sabun             15                                                15                Januari      2013  

      B             Sampo             5                10            0               15                Januari      2013

       C             Odol               15                10            0              25                Januari      2013


    sampai dengan ini laporan sudah benar, namun laporan akan error ketika mencetak kembali laporan tanggal 25 Januari 2013. Jika laporan tanggal 25 Januari 2013 dicetak, maka akan dihasilkan laporan sebagai berikut  :


    KodeBrg   NamaBrg   SaldoAwal    Masuk    Keluar     SaldoAkhir     Bulan       Tahun

      A             Sabun             10                 5              0           15               Januari      2013  

      B             Sampo            15                                              15               Januari      2013

       C             Odol               25                                              25               Januari      2013


    Perhatikan antaran laporan tanggal 25 Januari 2013 yang dicetak pada tanggal 25 Januari 2013 dan yang dicetak pada tanggal 26 Januari 2013 berbeda, dimana pada laporan yang dicetak tanggal 25 Januari saldo Sampo sama dengan 5 dan saldo Odol sama dengan 15, sedangkan laporan yang dicetak tanggal 26 Januari 2013 saldo Sampo berubah menjadi 15 dan saldo Odol berubah menjadi 25.

    Hal ini dikarenakan bahwa laporan mereview data pada tabel master barang yang sudah berubah karena adanya transaksi di hari berikutnya.

    Jadi bagaimanakah solusi agar saya dapat menyelesaikan permasalahan diatas ?


    Pertanyaan Kedua :

    Setiap ganti bulan dalam program stok barang harus ada transfer stok dimana pada bulan berikutnya saldo akhir akan menjadi saldo awal di bulan berikutnya. Sebagai contoh ketika dibulan Januari Saldo Akhir Sabun adalah 25, maka pada bulan Februari Saldo Awal Sabun adalah 25. Yang saya ingin tanyakan bagaimana cara mentransfer Saldo Akhir Barang menjadi Saldo Awal Barang pada bulan berikutnya?

    Demikian beberapa pertanyaan yang saya ingin ajukan. Saya harap anda dapat membantu saya dalam menyelesaikan masalah ini. Terimakasih atas kesediannya untuk membalas pertanyaan saya ini.

    Salam ,

    Ario Verdinanto





    Friday, January 25, 2013 6:18 AM

All replies

  • Untuk pertanyaan pertama : Agar saldo awal tidak langsung berubah karena ada transaksi di hari berikutnya. Caranya adalah jangan melakukan kalkulasi untuk saldo awal pada bulan tersebut. Hitung perhari saja.

    Untuk Pertanyaan kedua : Anda bisa ambil nilai saldo awal terakhir pada bulan tersebut di database. Ketika sudah memasuki awal bulan. Buat sebuah function yang berfungsi untuk menambahkan saldo akhir bulan lalu ke dalam saldo awal bulan sekarang. Buat sebuah kolom di database yang berfungsi untuk menyimpan apakah function tersebut sudah di lakukan atau belum, Anda dapat menggunakan logika boolean.

    Semoga penjelasan saya dapat Anda mengerti.

    Terima Kasih.


    INDRA PRASETYA

    • Proposed as answer by Iga Mentari Thursday, January 31, 2013 3:43 AM
    Friday, January 25, 2013 6:55 AM
  • Ubah desain tabel Anda.

    Jangan simpan saldo di tabel master.

    Buat tabel sendiri untuk menyimpan saldo tiap bulan.

    Pada tabel transaksi cukup satu kolom untuk nilai transaksi (tidak perlu ada masuk dan keluar). Transaksi masuk bernilai positif, dan transaksi keluar bernilai negatif.

    Saldo harian dapat dihitung berdasarkan saldo awal ditambah dengan jumlah nilai transaksi dari awal bulan sampai tanggal yang diinginkan.


    Ahmad Masykur http://www.masykur.web.id/

    Friday, January 25, 2013 7:02 AM
  • maaf pak, bisa lebih lengkap lagi jawabannya saya masih bingung. Bisa digambarkan struktur database yang harus sy buat seperti apa? Mohon bimbingannya.
    Friday, January 25, 2013 7:27 AM
  • maaf mas, apakah anda bisa beri contoh kodingnya di vb 6.0 untuk mentransfer stok ?

    terima kasih.

    Friday, January 25, 2013 7:28 AM
  • Anda bisa baca buku The Data Model Resource Book, Vol. 1: A Library of Universal Data Models for All Enterprises untuk mempelajari bagaimana membuat desain database yang baik.


    Ahmad Masykur http://www.masykur.web.id/

    • Proposed as answer by Iga Mentari Thursday, January 31, 2013 3:44 AM
    Friday, January 25, 2013 8:41 AM
  • Halo Om Ario Verdinanto,

    Untuk kasus yang Anda alami, sebetulnya tidaklah rumit. Om hanya perlu membuat 2 tabel yang strukturnya nyaris sama, semisal untuk barang yang masuk, dan juga barang yang keluar, maka tabelnya dipisahkan. Kalo soal pemberian nama, saya rasa om yang lebih ta'u lah dibandingkan saya. Jadi om gak perlu membuat join tabel segala. Sebab dengan adanya tabel barang masuk dan tabel barang keluar, bukankah kita bisa mengetahui apakah quantity-nya (om nyebutnya saldo) masih ada atau tidak.

    • Proposed as answer by INDRA PRASETYA Saturday, February 23, 2013 12:36 AM
    Saturday, February 09, 2013 9:26 AM