Skip to main content

Fungsi DDB, Menghitung Depresiasi Saldo Menurun Ganda di MS Access

Di Access, fungsi DDB digunakan untuk menghitung nilai depresiasi aktiva tetap selama satu periode tertentu dengan metode depresias saldo menurun ganda.

Sintaks penulisan fungsi DDB adalah sebagai berikut:

DDB(Cost, Salvage, Life, Period [, Factor])

Keterangan:

Cost: wajib diisi, tipe data Double. Cost atau istilah akuntansinya disebut harga perolehan, menunjukkan harga awal saat aktiva tetap diakuisisi.

Salvage: wajib diisi, tipe data Double. Salvage menunjukkan nilai sisa (residual value atau salvage value) aktiva tetap pada saat akhir masa manfaat.
Life: wajib diisi, tipe data Double, menunjukkan usia masa manfaat aktiva tetap.
Period: wajib diisi, tipe data Double, menunjukkan peridoe saat depresiasi suatu aktiva dihitung.
Factor: tidak wajib diisi atau opsional, tipe data Variant, menunjukkan persentase saldo menurun. Jika kosong, metode double declining yang digunakan sebagai default, yaitu 2.

Metode double-declining balance menghitung nilai depresiasi dalam cara yang dipercepat. Jadi, nilai depresiasi pada periode berjalan akan lebih besar dari pada periode berikutnya.

Usia manfaat dan periode harus dinyatakan dengan unit yang sama. Maksudnya, jika usia manfaat dinyatakan dalam bulan, maka periode waktu yang akan didepresiasi juga dinyatakan dalam bulan.
Secara matematis, fungsi DDB menggunakan rumus sebgai berikut:

Depreciation per period = Cost (book value at beginning period) X Depreciation Rate x Factor

atau dalam bahasa Indonesia:

Depresiasi per periode = Harga Perolehan (atau nilai buku awal periode) x Tingkat Depresiasi x Faktor

Tingkat depresiasi dihitung dengan rumus: Harga Perolehan / Masa Manfaat

Berikut ini adalah contoh fungsi DDB di VBA.
Function contohFungsiDDB()
  Dim Fmt, hargaPerolehan, nilaiSisa, masaManfaat, Depr, i, akumDepr
  Dim strDepr As String
  Fmt = "###,##0"
  hargaPerolehan = InputBox("Masukkan harga perolehan aktiva tetap?")
  nilaiSisa = InputBox("Masukkan nilai sisa saat masa manfaat berakhir.")
  masaManfaat = InputBox("Masukkan masa manfaat aktiva tetap, dalam tahun?")
  akumDepr = 0
  strDepr = ""
  For i = 1 To masaManfaat
  Depr = DDB(hargaPerolehan, nilaiSisa, masaManfaat, i, 2)
  akumDepr = akumDepr + Depr
  strDepr = strDepr & "Tahun " & i & ": " & Format(Depr, Fmt) & ", akumulasi depresiasi : " & Format(akumDepr, Fmt) & vbCrLf
  Next i
  Debug.Print "Harga perolehan: " & Format(hargaPerolehan, Fmt) & ", nilai sisa: " & Format(nilaiSisa, Fmt) & ", umur masa manfaat: " & masaManfaat & " tahun"
  Debug.Print "Tabel depresiasi per tahun: " & DepYear & " is " & vbCrLf & strDepr
End Function
Saat dieksekusi di Immediate Window:
?contohFungsiDDB()
Harga perolehan: 100.000, nilai sisa: 11.000, umur masa manfaat: 8 tahun
Tabel depresiasi per tahun:
Tahun 1: 25.000, akumulasi depresiasi : 25.000
Tahun 2: 18.750, akumulasi depresiasi : 43.750
Tahun 3: 14.063, akumulasi depresiasi : 57.813
Tahun 4: 10.547, akumulasi depresiasi : 68.359
Tahun 5: 7.910, akumulasi depresiasi : 76.270
Tahun 6: 5.933, akumulasi depresiasi : 82.202
Tahun 7: 4.449, akumulasi depresiasi : 86.652
Tahun 8: 2.348, akumulasi depresiasi : 89.000

Comments

Posting Terpopuler

Normalisasi, Denormalisasi, dan Anomali Database

Membuat Relasi Database

Menampilkan Data MySQL dalam Form di Access