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

Tugas Ms. Access untuk Kelas 2A dan 2D

Tugas untuk kelas 2A dan 2D

Tabel/Field

Keterangan

Type/With/PK

DBXXX

KBXXX

NBXXX

DAFTAR BARANG

Kode Barang

Nama Barang


T/2

T/30

ABXXX

BLNXXX

KBXXX

AUBXXX

AHBXXX

ANGGARAN PEMBELIAN Bulan

Bulan

Kode Barang

Anggaran Unit Pembelian

Anggaran Harga Beli Per Unit


N

T/2

N

N

RBXXX

NOBXXX

TGLJXXX

KBXXX

RUBXXX

RHBXXX

REALISASI PEMBELIAN

No. Pembelian

Tanggal

Kode Barang

Unit Dibeli

Harga Beli


Auto

Datetime

T/2

N

N

XXX pada nama table dan nama field merupakan 3 digit dari stambuk anda

Isilah table-tabel di atas dengan ketentuan:

1. Tabel Daftar Barang diisi antara 4 s/d 7 record

2. Tabel Anggaran Pembelian diisi [(n-1) x 12)], dimana n merupakan jumlah record pada table Daftar Barang

3. Tabel Realisasi Pembelian diisi minimal 50 record

B. Nilai Anggaran dan Nilai Realisasi

1. Buatlah query untuk menghitung jumlah aggaran pembelian yang diperoleh dari aggaran unit pembelian dikalikan anggaran harga beli perunit

BLNXX

Bulan Anggaran

KBXXX

Kode Barang

AUBXXX

Anggaran Unit Pembelian

AHBXXX

Anggaran Harga Perunit Pembelian

JABXXX

Jumlah Anggaran Pembelian

2. Buat query untuk menghitung jumlah realisasi tiap transaksi pembelian yang diperoleh dari unit dibeli dikalikan harga beli. Dalam query tersebut tambahkan satu kolom angka bulan transaksi yang nilainya didasarkan pada tanggal transaksi

BLNXX

Bulan Realisasi

KBXXX

Kode Barang

RUBXXX

Realisasi Unit Pembelian

RHBXXX

Realisasi Harga Perunit Pembelian

JRBXXX

Jumlah Realisasi Pembelian

C. Pengelompokan bulanan

1. Kelompokkan jumlah anggaran, jumlah unit, rata anggaran harga beli perunit, berdasarkan bulan anggaran.

BLNXX

Bulan Anggaran

TTAUHXXX

Total unit anggaran pembelian

RRAHBXXX

Rata-rata anggaran harga pembelian perunit

TTJABXXX

Total jumlah anggaran pembelian

2. Kelompokkan jumlah realisasi, rata harga realisasi pembelian perunit, jumlah unit dibeli berdasarkan bulan realisasi

BLNXXX

Bulan Anggaran

TTRUHXXX

Total unit realisasi pembelian

RRRHBXXX

Rata-rata realisasi harga pembelian perunit

TTJRBXXX

Total jumlah realisasi pembelian

3. Gunakan query B1 sebagai induk dan query B2 sebagai anak untuk menghitung selisih anggaran dan realisasi, selisih rata-rata anggaran harga beli perunit dan rata-rata harga realisasi perunit, serta selisih jumlah dianggarkan dan jumlah unit realisasi. Tampilkan semua data anggaran meskipun tidak ada realisasinya, dan pada data yang kolomnya dari data realisasi tidak terdapat lagi kolom yang blank (null)

BLNXXX

Bulan Anggaran

TTAUHXXX

Total unit anggaran pembelian

TTRUHXXX

Total unit realisasi pembelian

STRUHXXX

Selisih total unit realisasi pembelian

RRAHBXXX

Rata-rata anggaran harga pembelian perunit

RRRHBXXX

Rata-rata realisasi harga pembelian perunit

SRRHBXXX

Selisih rata-rata realisasi harga pembelian perunit

TTJABXXX

Total jumlah anggaran pembelian

TTJRBXXX

Total jumlah realisasi pembelian

STJRBXXX

Selisih total jumlah realisasi pembelian

4. Sempurnakan query B3, dengan menambahkan paratemer yang akan menanyakan sampai bulan berapa yang akan ditampilkan.

D. Pengelompokan kode barang

1. Kelompokkan jumlah anggaran, rata anggaran harga beli perunit, jumlah unit berdasarkan kode barang.

KBXXX

Kode barang

TTAUHXXX

Total unit anggaran pembelian

RRAHBXXX

Rata-rata anggaran harga pembelian perunit

TTJABXXX

Total jumlah anggaran pembelian

2. Kelompokkan jumlah realisasi, rata harga realisasi pembelian perunit, jumlah unit dibeli berdasarkan kode barang

KBXXX

Kode barang

TTRUHXXX

Total unit realisasi pembelian

RRRHBXXX

Rata-rata realisasi harga pembelian perunit

TTJRBXXX

Total jumlah realisasi pembelian

3. Gunakan table Daftar Barang sebagai induk dan query C1 serta query C2 sebagai anak untuk menghitung selisih anggaran dan realisasi, selisih rata-rata anggaran harga beli perunit dan rata-rata harga realisasi perunit, serta selisih jumlah dianggarkan dan jumlah unit realisasi. Tampilkan semua data barang meskipun tidak memiliki anggaran dan realisasinya, dan pada data-data yang kolomnya dari data anggaran serta realisasi tidak terdapat lagi kolom yang blank (null)

KBXXX

Kode barang

NBXXX

Nama barang

TTAUHXXX

Total unit anggaran pembelian

TTRUHXXX

Total unit realisasi pembelian

STRUHXXX

Selisih total unit realisasi pembelian

RRAHBXXX

Rata-rata anggaran harga pembelian perunit

RRRHBXXX

Rata-rata realisasi harga pembelian perunit

SRRHBXXX

Selisih rata-rata realisasi harga pembelian perunit

TTJABXXX

Total jumlah anggaran pembelian

TTJRBXXX

Total jumlah realisasi pembelian

STJRBXXX

Selisih total jumlah realisasi pembelian

4. Sempurnakan query nomor 3, dengan menambahkan paratemer yang akan menanyakan sampai bulan berapa yang akan ditampilkan.

E. Pengelompokan kode barang dan bulan

1. Kelompokkan jumlah realisasi, rata harga realisasi pembelian perunit, jumlah unit dibeli berdasarkan kode barang

KBXXX

Kode Barang

BLNXXX

Bulan

TTRUHXXX

Total unit realisasi pembelian

RRRHBXXX

Rata-rata realisasi harga pembelian perunit

TTJRBXXX

Total jumlah realisasi pembelian

2. Gunakan query A1 sebagai induk dan query D1 sebagai anak untuk menghitung selisih anggaran dan realisasi, selisih anggaran harga beli perunit dan rata-rata harga realisasi perunit, serta selisih jumlah dianggarkan dan jumlah unit realisasi. Tampilkan semua data anggaran meskipun tidak ada realisasinya, dan pada data yang kolomnya dari data realisasi tidak terdapat lagi kolom yang blank (null)

KBXXX

Kode barang

BLNXXX

Bulan

TTAUHXXX

Total unit anggaran pembelian

TTRUHXXX

Total unit realisasi pembelian

STRUHXXX

Selisih total unit realisasi pembelian

RRAHBXXX

Rata-rata anggaran harga pembelian perunit

RRRHBXXX

Rata-rata realisasi harga pembelian perunit

SRRHBXXX

Selisih rata-rata realisasi harga pembelian perunit

TTJABXXX

Total jumlah anggaran pembelian

TTJRBXXX

Total jumlah realisasi pembelian

STJRBXXX

Selisih total jumlah realisasi pembelian

3. Sempurnakan query nomor 2, dengan menambahkan paratemer yang akan menanyakan sampai bulan berapa yang akan ditampilkan.

Catatan:

XXX pada nama table maupun field-field dalam table serta field yang dibentuk pada setiap query merupakan 3 digit terakhir stambuk

Yang dikumpulkan:

1. Skrip perintah SQL dari masing query di atas yang diketik dengan menggunakan huruf Couries New dan besaran/point huruf 10.

2. File hasil pekerjaan

Cara pengumpulan: Dikirim melalui ke E-Mail: iskandarsabang@yahoo.com

Batas waktu pengiriman: Tanggal 20 Juni 2008

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