Sabtu, 25 Mei 2019

[belajar-excel] Digest Number 4771

2 Messages

Digest #4771
1a
UDF PPh21 by "hendrik karnadi" hendrikkarnadi
1b
Re: UDF PPh21 by "Mr. Kid" nmkid.family@ymail.com

Messages

Sat May 25, 2019 6:49 am (PDT) . Posted by:

"hendrik karnadi" hendrikkarnadi

Dear Be-Excel,
Untuk mengisi waktu luang di malam minggu, saya mencoba me-lihat2 kembali warisan Alm. Mbak Siti (Senior kita).Di situ saya menemukan UDF untuk menghitung Penghasilan Kena Pajak, yang secara aturan dibulatkan kebawah (dalam ribuan).
Dalam Worksheet terlampir (saya revisi hanya untuk th 2009), beliau memperbandingkan hasil perhitungan UDF dengan Formula.
UDF nya adalah sebagai berikut:Option Explicit
Function fPPh21_2009(PhKP As Currency) As Currency   Dim LapisPh() As Currency   Dim Tarif() As Double 'mbak Siti pakai Single, saya ganti Double   Dim n As Integer, Lps, Trf   Dim pajak As Currency      Lps = Split("|50|250|500";, "|")   ReDim LapisPh(1 To UBound(Lps))   For n = 1 To UBound(Lps): LapisPh(n) = Round((CLng(Lps(n)) * 10 ^ 6), 0): Next n      Trf = Split("/5/15/25/30", "/")   ReDim Tarif(1 To UBound(Trf))   For n = 1 To UBound(Trf): Tarif(n) = Round((CDbl(Trf(n)) / 100), 2): Next n 'Sng saya ganti Dbl   PhKP = 1000 * Round(PhKP / 1000, 0)      Select Case PhKP      Case Is <= LapisPh(1)         pajak = PhKP * Tarif(1)      Case Is <= LapisPh(2)         pajak = LapisPh(1) * Tarif(1) _         + (PhKP - LapisPh(1)) * Tarif(2)      Case Is <= LapisPh(3)         pajak = LapisPh(1) * Tarif(1) _         + (LapisPh(2) - LapisPh(1)) * Tarif(2) _         + (PhKP - LapisPh(2)) * Tarif(3)      Case Is > LapisPh(3)         pajak = (LapisPh(1)) * Tarif(1) _         + (LapisPh(2) - LapisPh(1)) * Tarif(2) _         + (LapisPh(3) - LapisPh(2)) * Tarif(3) _         + (PhKP - LapisPh(3)) * Tarif(4)   End Select   fPPh21_2009 = Round(pajak)End Function
Formula pada baris 12 dan 13 adalah sbb:=IF(C12<=0,0,IF(C12<=50000000,5%*C12,IF(C12<=250000000,50000000*5%+(C12-50000000)*15%,IF(C12<=500000000,50000000*5%+200000000*15%+(C12-250000000)*25%,50000000*5%+200000000*15%+250000000*25%+(C12-500000000)*30%))))

=IF(C13<=0,0,IF(C13<=50000000,5%*C13,IF(C13<=250000000,50000000*5%+(C13-50000000)*15%,IF(C13<=500000000,50000000*5%+200000000*15%+(C13-250000000)*25%,50000000*5%+200000000*15%+250000000*25%+(C13-500000000)*30%))))

Hasilnya seharusnya sama tapi berbeda beberapa ratus rupiah hanya pada kedua baris ini.
Pertanyaan saya (bukan ngetes):Apa yang menyebabkan terjadinya perbedaan tsb ?
Untuk lebih jelasnya saya lampirkan workbooknya.
Terima kasih.
Salam,HK

Sat May 25, 2019 2:31 pm (PDT) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Mungkin karena round

Sent from my smart enough phone

> On May 25, 2019, at 20:48, hendrik karnadi hendrikkarnadi@yahoo.com [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
> Dear Be-Excel,
>
> Untuk mengisi waktu luang di malam minggu, saya mencoba me-lihat2 kembali warisan Alm. Mbak Siti (Senior kita).
> Di situ saya menemukan UDF untuk menghitung Penghasilan Kena Pajak, yang secara aturan dibulatkan kebawah (dalam ribuan).
>
> Dalam Worksheet terlampir (saya revisi hanya untuk th 2009), beliau memperbandingkan hasil perhitungan UDF dengan Formula.
>
> UDF nya adalah sebagai berikut:
> Option Explicit
>
> Function fPPh21_2009(PhKP As Currency) As Currency
> Dim LapisPh() As Currency
> Dim Tarif() As Double 'mbak Siti pakai Single, saya ganti Double
> Dim n As Integer, Lps, Trf
> Dim pajak As Currency
>
> Lps = Split("|50|250|500";, "|")
> ReDim LapisPh(1 To UBound(Lps))
> For n = 1 To UBound(Lps): LapisPh(n) = Round((CLng(Lps(n)) * 10 ^ 6), 0): Next n
>
> Trf = Split("/5/15/25/30", "/")
> ReDim Tarif(1 To UBound(Trf))
> For n = 1 To UBound(Trf): Tarif(n) = Round((CDbl(Trf(n)) / 100), 2): Next n 'Sng saya ganti Dbl
> PhKP = 1000 * Round(PhKP / 1000, 0)
>
> Select Case PhKP
> Case Is <= LapisPh(1)
> pajak = PhKP * Tarif(1)
> Case Is <= LapisPh(2)
> pajak = LapisPh(1) * Tarif(1) _
> + (PhKP - LapisPh(1)) * Tarif(2)
> Case Is <= LapisPh(3)
> pajak = LapisPh(1) * Tarif(1) _
> + (LapisPh(2) - LapisPh(1)) * Tarif(2) _
> + (PhKP - LapisPh(2)) * Tarif(3)
> Case Is > LapisPh(3)
> pajak = (LapisPh(1)) * Tarif(1) _
> + (LapisPh(2) - LapisPh(1)) * Tarif(2) _
> + (LapisPh(3) - LapisPh(2)) * Tarif(3) _
> + (PhKP - LapisPh(3)) * Tarif(4)
> End Select
> fPPh21_2009 = Round(pajak)
> End Function
>
> Formula pada baris 12 dan 13 adalah sbb:
> =IF(C12<=0,0,IF(C12<=50000000,5%*C12,IF(C12<=250000000,50000000*5%+(C12-50000000)*15%,IF(C12<=500000000,50000000*5%+200000000*15%+(C12-250000000)*25%,50000000*5%+200000000*15%+250000000*25%+(C12-500000000)*30%))))
>
> =IF(C13<=0,0,IF(C13<=50000000,5%*C13,IF(C13<=250000000,50000000*5%+(C13-50000000)*15%,IF(C13<=500000000,50000000*5%+200000000*15%+(C13-250000000)*25%,50000000*5%+200000000*15%+250000000*25%+(C13-500000000)*30%))))
>
> Hasilnya seharusnya sama tapi berbeda beberapa ratus rupiah hanya pada kedua baris ini.
>
> Pertanyaan saya (bukan ngetes):
> Apa yang menyebabkan terjadinya perbedaan tsb ?
>
> Untuk lebih jelasnya saya lampirkan workbooknya.
>
> Terima kasih.
>
> Salam,
> HK
>
>
>
>
>
>
>
> <UDF_fPPh21 (Rev by HK - Single to Double).xls>
============================================================
Pojok Lowongan Kerja yang disediakan milis :
http://milis-belajar-excel.1048464.n5.nabble.com/Pojok-Lowongan-Kerja-f5725753.html
*** Posting lowongan kerja : ke link tersebut dan klik New Topic
============================================================
bergabung ke milis (subscribe), kirim mail kosong ke: belajar-excel-subscribe@yahoogroups.com
posting ke milis, kirimkan ke: belajar-excel@yahoogroups.com
berkunjung ke web milis : http://tech.groups.yahoo.com/group/belajar-excel/messages
melihat file archive / mendownload lampiran : http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di : http://milis-belajar-excel.1048464.n5.nabble.com/
menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com
keluar dari membership milis (UnSubscribe), kirim mail kosong ke : belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------

Tidak ada komentar:

Posting Komentar