Karena sesuatu dan lain hal, blog kami yang awalnya bernama sabangiskandar.blogspot.com diganti menjadi aksiputer.blogspot.com

03 Juni 2008

Hitung Harga Pokok Penjualan (Metode FIFO) dengan Ms. Access

Persediaan barang dagangan merupakan salah satu komponen yang penting dalam sebuah perusahaan yang bergerak dalam bidang perdagangan. Pada keadaan tertentu, perusahaan selalu membutuh nilai beli yang terjual. Perusahaan yang barang dagangannya berupa barang yang sangat mudah diidentifikasi seperti perdagangan mobil, sepeda motor, dan lain sebagainya mungkin masih mudah untuk mengatahui harga beli dari barang-barang yang terjual.

Bagaimana jika barang-barang tersebut merupakan barang-barang yang tidak mudah diidentifikasi dan jumlahnya sangat besar serta harga beli barang dagang yang sama bervariasi, maka akan membutuhkan tenaga dan waktu yang banyak untuk mengetahui nilai beli barang yang terjual (harga pokok penjualan).

Dalam akuntansi, dikenal beberapa metode untuk menentukan nilai beli barang yang terjual:

1. Metode rata-rata, metode ini beranggapan bahwa nilai perunit barang dagangan yang terjual adalah merupakan rata-rata harga beli dari semua barang dagangan, sehingga untuk mengetahui nilai beli keseluruhan barang yang terjual, hanya mengalikan jumlah unit yang dijual dikalikan rata-rata harga beli barang daganagn.

2. Metode FIFO (Fisrt In First Out), metode ini beranggapan bahwa bahwa barang yang pertama kali dibeli maka pertama kali juga dijual (sekalipun dalam realitanya tidak demikian). Sehingga untuk mengetahui nilai beli barang dagangan yang terjual dapat dilakukan dengan melakukan pengurutan barang-barang yang dibeli dari yang pertama kali dibeli sampai yang terakhir. Berdasarkan urutan tersebut maka diambil nilai-nilai barang yang dibeli, hingga jumlah unit yang diambil sesuai dengan jumlah unit yang terjual.

3. Metode LIFO (Last In First Out), metode ini merupakan kontra dari metode FIFO, yang beranggapan bahwa barang yang pertama dijual adalah barang yang terakhir masuk. Sehingga untuk mengetahui nilai beli barang dagangan yang terjual dapat dilakukan dengan melakukan pengurutan barang-barang yang dibeli dari yang terakhir dibeli sampai yang pertama. Berdasarkan urutan tersebut maka diambil nilai-nilai barang yang dibeli, hingga jumlah unit yang diambil sesuai dengan jumlah unit yang terjual.

Pada kesempatan ini Saya akan memberikan logika sederhana dan contohnya dengan menggunakan Ms. Access, adapun contohnya merupakan model transaksi yang dalam setiap transaksi hanya satu jenis barang yang dibeli, demikian juga pada proses penjualan. Dengan contoh ini rekan-rekan pembaca dapat mengembangkan ke model transaksi yang setiap transaksi baik pembelian maupun penjualan tidak hanya satu jenis barang dagangan.

1. Tabel untuk penyimpanan transaksi pembelian dan penjualan dibuat secara terpisah.

2. Dibuat pula sebuah table bantu yang akan menampung detail dari barang keluar, table ini akan menampung dari pembelian mana saja yang digunakan untuk setiap barang yang dijual.

Contoh table BarangMasuk dan isinya

BarangMasuk

NoBeli

Tgl

KodeBrg

Unit

Harga

1

01/01/2008

A

3

1000

2

02/01/2008

B

20

1022

3

03/01/2008

A

30

1222

Contoh table BarangMasuk dan isinya

BarangKeluar

NoJual

Tgl

KodeBrg

Unit

Harga

1

05/01/2008

A

22

1000

2

05/01/2008

A

11

1500

Contoh table LogBarangKeliar

LogBarangKeluar

NoJual

NoBeli

KodeBrg

Unit

3. Tabel LogBarangKeluar dapat diisi pada saat setiap transaksi penjualan disimpan (direcord), namun dapat diga dilakukan pada waktu-waktu tertentu (jika akan mengetahui nilai beli barang yang terjual. Jika dilakukan pada setiap terjadi transaksi penjualan, tentunya lebih bagus karena nilai beli barang yang dijual dapat diketahui tanpa melakukan proses perbaikan nilai beli tetapi kelemahaanya adalah jika ada transaksi-transaksi sebelum yang mengalami perbaikan maka nilai tersebut tidak relevan lag. Pada kali ini saya akan menggukan cara yang kedua, yaitu dengan menginput semua transaksi baik pembelian maupun penjualan terlebih dahulu, kemudian melakukan proses perhitungan harga pokok (nilai beli barang yang terjual)

Penyelesaian:

1. Buat query yang akan merekap (RekapLogKeluar) jumlah unit dari table LogBarangKeluar berdasrkan nomor pembelian dan kode barang

SELECT LogBarangKeluar.NoBeli, LogBarangKeluar.KodeBrg, Sum(LogBarangKeluar.Unit) AS Unit

FROM LogBarangKeluar

GROUP BY LogBarangKeluar.NoBeli, LogBarangKeluar.KodeBrg

2. Buat query yang akan menghitung sisa setiap barang yang dibeli untuk setiap transaksi pembelian (Selisih), pada query ini tampilkan semua transaksi pembelian sekalipun tidak memiliki pada pada query RekapLogKeluar yang telah dibuat sebelumnya.

SELECT BarangMasuk.NoBeli, BarangMasuk.Tgl, BarangMasuk.KodeBrg, BarangMasuk.Harga, BarangMasuk.Unit AS UniBeli, IIf(IsNull(RekapLogKeluar!Unit),0,RekapLogKeluar!Unit) AS UnitKeluar, BarangMasuk!Unit-[UnitKeluar] AS SISA

FROM BarangMasuk LEFT JOIN RekapLogKeluar ON (BarangMasuk.NoBeli = RekapLogKeluar.NoBeli) AND (BarangMasuk.KodeBrg = RekapLogKeluar.KodeBrg)

3. Buat Query untuk mengetahui nilai harga beli (HPPLogKeluar) dari setiap data pada table LogBarangKeluar

SELECT LogBarangKeluar.NoJual, LogBarangKeluar.NoBeli, LogBarangKeluar.KodeBrg, LogBarangKeluar.Unit, BarangMasuk.Harga, LogBarangKeluar!Unit*BarangMasuk!Harga AS HPP

FROM LogBarangKeluar INNER JOIN BarangMasuk ON (LogBarangKeluar.KodeBrg = BarangMasuk.KodeBrg) AND (LogBarangKeluar.NoBeli = BarangMasuk.NoBeli)

ORDER BY LogBarangKeluar.NoJual, LogBarangKeluar.NoBeli

4. Buat query yang akan merekap dari HPPLogKeluar berdasarkan no penjualan (HPPPerNoPenjualan)

SELECT HPPLogKeluar.NoJual, Sum(HPPLogKeluar.HPP) AS HPPPerPenjulan

FROM HPPLogKeluar

GROUP BY HPPLogKeluar.NoJual

5. Buat query lengap yang akan menampilkan data penjualan dan harga pokok penjualannya

SELECT BarangKeluar.NoJual, BarangKeluar.Tgl, BarangKeluar.KodeBrg, BarangKeluar.Unit, BarangKeluar.Harga, BarangKeluar!Unit*BarangKeluar!Harga AS NilaiPenjualan, IIf(IsNull(HPPPerNoPenjualan!HPPPerPenjulan),0,HPPPerNoPenjualan!HPPPerPenjulan) AS HPPPerPenjulan, [NilaiPenjualan]-[HPPPerPenjulan] AS LabaKotor

FROM BarangKeluar LEFT JOIN HPPPerNoPenjualan ON BarangKeluar.NoJual = HPPPerNoPenjualan.NoJual

6.

Berikut ini adalah kode yang dibuat pada VBA

Option Compare Database

Dim con As ADODB.Connection

Dim rskeluar As ADODB.Recordset

Dim rsSisa As ADODB.Recordset

Private Sub Form_Load()

Set con = CurrentProject.Connection

Me.NavigationButtons = False

Me.DividingLines = False

Me.RecordSelectors = False

End Sub

Private Sub tbpros_Click()

Dim sqhapuslog As String

sqhapuslog = "delete from LogBarangKeluar"

con.Execute (sqhapuslog)

Dim sqkeluar As String

sqkeluar = "select * from barangkeluar order by tgl,nojual"

Set rskeluar = con.Execute(sqkeluar)

If Not rskeluar.EOF Then

rskeluar.MoveFirst

End If

Dim kb As String

Dim nojual As String

Dim jmlunit As Integer

Do While Not rskeluar.EOF

pb1.Value = pb1.Value + 1

kb = rskeluar!kodebrg

jmlunit = rskeluar!unit

nojual = rskeluar!nojual

Dim sqsisa

sqsisa = "select * from selisih where kodebrg='" & kb & "' and sisa >'0' order by tgl,nobeli"

Set rsSisa = con.Execute(sqsisa)

Dim sqmasuklog As String

If Not rsSisa.EOF Then

rsSisa.MoveFirst

End If

Dim unitmasuklog As Integer

Dim nbelimasuklog As Integer

Do While jmlunit > 0

If rsSisa.EOF Then

If jmlunit > 0 Then

MsgBox "Jumlah barang " & kb & " tidak cukup, kurang: " & jmlunit

Exit Do

End If

End If

nbelimasuklog = rsSisa!nobeli

If jmlunit <= rsSisa!sisa Then

unitmasuklog = jmlunit

Else

unitmasuklog = rsSisa!sisa

End If

jmlunit = jmlunit - unitmasuklog

sqmasuklog = "insert into logbarangkeluar (nojual,nobeli,kodebrg,unit) " & _

"values('" & nojual & "','" & nbelimasuklog & "','" & kb & "','" & unitmasuklog & "')"

con.Execute (sqmasuklog)

If Not rsSisa.EOF Then

rsSisa.MoveNext

End If

Loop

If Not rskeluar.EOF Then

rskeluar.MoveNext

End If

Loop

'MsgBox "Proses telah selesai" & Chr(10) & Chr(13) & "Silahkan buka Query HPPPenjualanAkhir untuk melihat HPP penjualan"

End Sub

2 komentar:

KobsTeach mengatakan...

Mas bisa minta contoh filenya gak?? Thx...

Agung mengatakan...

Mantab, Pak! Tapi sedikit saran kalo boleh, pembahasan kurang terperinci. Sehingga untuk newbie mungkin bingung. Kalo utk yg ber-pengalaman sih cukup membantu. Thanks anyway..

Praktikum Manajemen Keuangan

PRAKTEK MANEJEMEN KEUANGAN

Buku Praktikum ini di susun oleh tim pengajar manajemen dan keuangan Jurusan Akuntansi Politeknik Negeri Ujung Pandang. Disusun dalam 2 buah buku yaitu Buku 1 berupa informasi perusahaan dan kasus-kasus perusahaan yang akan di selesaikan, buku 2 merupakan lembar kerja untuk penyelesaian kasus-kasus dalam buku 1. Bahan praktek ini terdiri dari 6 job yaitu: Manajemen Modal Kerja (Working Capital Management), Manajemen Kas dan Sekuritas (Cash and Securities Managemen), Manajemen Persediaan (Inventory Management), Manajemen Piutang (Account Receivable Management), Biaya Modal dan Struktur Modal (Cost of Capital and Capital Structure), Analisis Leverage (Leverage Analysis) dan Penganggaran Modal (Capital Budgeting).

Informasi lebih lanjut untuk memperoleh buku ini, dapat mengubungi Pusat Pengembangan Akuntansi dan Keuangan Jurusan Akuntanasi Politeknik Negeri Ujung Pandang melalui e-mail accounting_pnup@yahoo.com atau iskandarsabang@yahoo.com