Anda di halaman 1dari 29

Latar Belakang

Menteri Keuangan telah mengeluarkan Peraturan Menteri


Keuangan Nomor 255/PMK.03/2008 yang telah diubah dengan
Peraturan Menteri Keuangan Nomor 208/ PMK.03/ 2009 tentang
Penghitungan
Besarnya
Angsuran
Pajak
Penghasilan
DalamTahun Pajak Berjalan Yang Harus Dibayar Sendiri Oleh
Wajib Pajak Baru,Bank, Sewa Guna Usaha Dengan Hak Opsi,
Badan Usaha Milik Negara, Badan Usaha Milik Daerah, Wajib
Pajak Masuk Bursa, Dan Wajib Pajak Lainnya Yang Berdasarkan
Ketentuan Diharuskan Membuat Laporan Keuangan Berkala
Termasuk Wajib Pajak Orang Pribadi Pengusaha Tertentu.
Namun dalam Peraturan Menteri Keuangan tersebut tidak
memberikan contoh penghitungan angsuran Pajak Penghasilan.
Tulisan ini membahas penghitungan angsuran Pajak Penghasilan
pasal 25 (selanjutnya disebut angsuran PPh pasal 25) terhadap :
a. Wajib Pajak baru; b. Wajib Pajak bank, badan usaha milik
Negara, badan usaha milik daerah, Wajib Pajak masuk bursa,
dan Wajib Pajak lainnya yang berdasarkan ketentuan peraturan
perundang-undangan harus membuat laporan keuangan berkala;
dan c.Wajib Pajak orang pribadi pengusaha tertentu.

TableofContentsSummaryofgdb....................................
1
12
3
4

FreeSoftware.......................................................1FreeSoftwareNeedsFree
Documentation............................1Contributorsto
gdb.................................................3

ASamplegdbSession..........................7GettingInandOut
ofgdb...................11
.

2.1Invokinggdb.................................................11

2.1.1ChoosingFiles...........................................12

2.1.2ChoosingModes.........................................13

2.1.3WhatgdbDoesDuringStartup..........................16
.

2.2Quittinggdb.................................................17

2.3ShellCommands..............................................17

2.4LoggingOutput...............................................18

gdbCommands................................19
.

3.1CommandSyntax.............................................19

3.2CommandCompletion........................................19

3.3GettingHelp..................................................22

RunningProgramsUndergdb...............25
.

4.1CompilingforDebugging......................................25

4.2StartingyourProgram........................................26

4.3YourProgramsArguments...................................30

4.4YourProgramsEnvironment..................................30

4.5YourProgramsWorkingDirectory............................31

4.6YourProgramsInputandOutput............................32

4.7DebugginganAlreadyrunningProcess........................32

4.8KillingtheChildProcess......................................33

4.9DebuggingMultipleInferiorsandPrograms....................33

4.10DebuggingProgramswithMultipleThreads..................36

4.11DebuggingForks.............................................39

4.12SettingaBookmarktoReturntoLater.......................42
4.12.1ANonobviousBenetofUsingCheckpoints.............43
i
ii

5
DebuggingwithgdbStoppingandContinuing.....................45
.

5.1Breakpoints,Watchpoints,andCatchpoints...................45

5.1.1SettingBreakpoints......................................46

5.1.2SettingWatchpoints......................................52

5.1.3SettingCatchpoints......................................55

5.1.4DeletingBreakpoints.....................................59

5.1.5DisablingBreakpoints....................................59

5.1.6BreakConditions.........................................60

5.1.7BreakpointCommandLists..............................62

5.1.8DynamicPrintf..........................................63

5.1.9Howtosavebreakpointstoale.........................65

5.1.10StaticProbePoints.....................................65

5.1.11Cannotinsertbreakpoints.............................67

5.1.12Breakpointaddressadjusted...........................67
.

5.2ContinuingandStepping......................................68

5.3SkippingOverFunctionsandFiles............................71

5.4Signals........................................................73

5.5StoppingandStartingMultithreadPrograms.................75

5.5.1AllStopMode...........................................76

5.5.2NonStopMode..........................................77

5.5.3BackgroundExecution...................................78

5.5.4ThreadSpecicBreakpoints..............................79

5.5.5InterruptedSystemCalls.................................80

5.5.6ObserverMode...........................................80

Runningprogramsbackward.................83Recording
InferiorsExecutionandReplaying
It..............................................85Examiningthe
Stack..........................93
.

8.1StackFrames.................................................93

8.2Backtraces....................................................94

8.3SelectingaFrame.............................................96

8.4InformationAboutaFrame...................................97

8.5ManagementofFrameFilters..................................98

67
8
9
ExaminingSourceFiles......................101
10
9.19.2
9.3
9.49.59.6
PrintingSourceLines........................................101
SpecifyingaLocation........................................102
.

9.2.1LinespecLocations......................................102

9.2.2ExplicitLocations.......................................103

9.2.3AddressLocations.......................................104
EditingSourceFiles..........................................1049.3.1Choosingyour
Editor...................................105SearchingSource
Files.......................................105SpecifyingSource
Directories.................................105SourceandMachine
Code....................................108

ExaminingData.............................113
.

10.1Expressions.................................................115

10.2AmbiguousExpressions.....................................116

10.3ProgramVariables..........................................117

10.4ArticialArrays............................................119

10.5OutputFormats............................................120

10.6ExaminingMemory.........................................121

10.7AutomaticDisplay..........................................124

10.8PrintSettings...............................................125

10.9PrettyPrinting.............................................133

10.9.1PrettyPrinterIntroduction............................133

10.9.2PrettyPrinterExample................................134

10.9.3PrettyPrinterCommands..............................134

10.10ValueHistory..............................................136

10.11ConvenienceVariables.....................................137

10.12ConvenienceFunctions.....................................139

10.13Registers..................................................141

10.14FloatingPointHardware...................................143

10.15VectorUnit................................................143

10.16OperatingSystemAuxiliaryInformation...................143

10.17MemoryRegionAttributes.................................146
10.17.1Attributes............................................146
10.17.1.110.17.1.210.17.1.3
MemoryAccessMode............................147MemoryAccess
Size..............................147DataCache......................................147

10.17.2MemoryAccessChecking.............................147
.

10.18CopyBetweenMemoryandaFile.........................148

10.19HowtoProduceaCoreFilefromYourProgram...........148

10.20CharacterSets.............................................149

10.21CachingDataofTargets...................................152

10.22SearchMemory............................................153

11DebuggingOptimizedCode................155
.

11.1InlineFunctions............................................155

11.2TailCallFrames............................................156
iii
ivDebuggingwithgdb12CPreprocessorMacros.....................

159
13Tracepoints..................................163
13.1CommandstoSetTracepoints..............................163
.

13.1.1CreateandDeleteTracepoints.........................164

13.1.2EnableandDisableTracepoints........................166

13.1.3TracepointPasscounts.................................166

13.1.4TracepointConditions..................................167

13.1.5TraceStateVariables..................................167

13.1.6TracepointActionLists................................168

13.1.7ListingTracepoints....................................170

13.1.8ListingStaticTracepointMarkers......................171

13.1.9StartingandStoppingTraceExperiments..............172

13.1.10TracepointRestrictions...............................174
13.2UsingtheCollectedData...................................175

13.2.1tfindn................................................175

13.2.2tdump..................................................177

13.2.3savetracepointsfilename...........................178

13.3ConvenienceVariablesforTracepoints.......................178

13.4UsingTraceFiles...........................................179

14DebuggingProgramsThatUseOverlays
...............................................181
.

14.1HowOverlaysWork.........................................181

14.2OverlayCommands.........................................182

14.3AutomaticOverlayDebugging..............................184

14.4OverlaySampleProgram...................................185

15UsinggdbwithDierentLanguages......187
15.1SwitchingBetweenSourceLanguages.......................187
.

15.1.1ListofFilenameExtensionsandLanguages.............187

15.1.2SettingtheWorkingLanguage.........................188

15.1.3HavinggdbInfertheSourceLanguage.................188

15.2DisplayingtheLanguage....................................188

15.3TypeandRangeChecking..................................189

15.3.1AnOverviewofTypeChecking........................189

15.3.2AnOverviewofRangeChecking.......................190
15.4SupportedLanguages.......................................19115.4.1CandC+
+.............................................191
15.4.1.115.4.1.215.4.1.315.4.1.415.4.1.515.4.1.615.4.1.715.4.1.8
CandC++Operators.............................191CandC++
Constants.............................193C++Expressions..................................194
CandC++Defaults...............................195CandC++TypeandRange
Checks...............195gdbandC........................................195gdbFeatures
forC++.............................195DecimalFloatingPointformat....................
197
.

15.4.2D......................................................197

15.4.3Go.....................................................197

15.4.4ObjectiveC............................................198
15.4.4.1MethodNamesinCommands.....................198
15.4.4.2ThePrintCommandWithObjectiveC............19815.4.5OpenCL
C.............................................199
15.4.5.115.4.5.215.4.5.3
OpenCLCDatatypes.............................199OpenCLC
Expressions............................199OpenCLCOperators.............................
199
15.4.6Fortran................................................199
15.4.6.115.4.6.215.4.6.3
FortranOperatorsandExpressions................199Fortran

Defaults..................................199SpecialFortranCommands........................
200
15.4.7Pascal.................................................20015.4.8Modula
2..............................................200
15.4.8.115.4.8.215.4.8.315.4.8.415.4.8.515.4.8.615.4.8.715.4.8.8
15.4.8.9
Operators.........................................200BuiltinFunctionsand
Procedures.................201Constants.........................................202Modula2
Types...................................203Modula2Defaults................................205
DeviationsfromStandardModula2...............205Modula2TypeandRange
Checks.................205TheScopeOperators::and.....................205gdband
Modula2................................206
15.4.9Ada...................................................206
15.4.9.115.4.9.215.4.9.315.4.9.415.4.9.515.4.9.615.4.9.715.4.9.8
Introduction......................................206Omissionsfrom
Ada...............................207AdditionstoAda.................................208
StoppingattheVeryBeginning...................209Ada
Exceptions...................................210ExtensionsforAda
Tasks.........................210TaskingSupportwhenDebuggingCoreFiles....
..213TaskingSupportwhenusingtheRavenscarProle
........................................................21315.4.9.9KnownPeculiaritiesofAda
Mode.................21415.5UnsupportedLanguages....................................
215

16ExaminingtheSymbolTable..............217
v
viDebuggingwithgdb17AlteringExecution..........................

225

17.1AssignmenttoVariables....................................225

17.2ContinuingataDierentAddress...........................226

17.3GivingyourProgramaSignal...............................227

17.4ReturningfromaFunction..................................228

17.5CallingProgramFunctions..................................229

17.6PatchingPrograms.........................................230

17.7Compilingandinjectingcodeingdb........................230

17.7.1Compilationoptionsforthecompilecommand.........232

17.7.2Caveatswhenusingthecompilecommand.............232

17.7.3Compilersearchforthecompilecommand.............234

18gdbFiles.....................................237
.

18.1CommandstoSpecifyFiles.................................237

18.2FileCaching................................................245

18.3DebuggingInformationinSeparateFiles....................246

18.4Debugginginformationinaspecialsection..................249

18.5IndexFilesSpeedUpgdb..................................250

18.6ErrorsReadingSymbolFiles................................251

18.7GDBDataFiles............................................252

19SpecifyingaDebuggingTarget............253
.

19.1ActiveTargets..............................................253

19.2CommandsforManagingTargets...........................253

19.3ChoosingTargetByteOrder................................255

20DebuggingRemotePrograms..............257
.

20.1ConnectingtoaRemoteTarget.............................257

20.2Sendinglestoaremotesystem............................259

20.3UsingthegdbserverProgram..............................259
20.3.1Runninggdbserver....................................259
20.3.1.120.3.1.220.3.1.320.3.1.4
AttachingtoaRunningProgram..................260MultiProcessModefor
gdbserver................261TCPportallocationlifecycleofgdbserver........
261OtherCommandLineArgumentsforgdbserver...261

20.3.2Connectingtogdbserver..............................262

20.3.3MonitorCommandsforgdbserver.....................262

20.3.4Tracepointssupportingdbserver......................263

20.4RemoteConguration.......................................264

20.5ImplementingaRemoteStub...............................270

20.5.1WhattheStubCanDoforYou........................271

20.5.2WhatYouMustDofortheStub.......................272

20.5.3PuttingitAllTogether.................................273

21CongurationSpecicInformation........275
21.1Native......................................................275
.

21.1.1HPUX................................................275

21.1.2BSDlibkvmInterface..................................275

21.1.3SVR4ProcessInformation.............................275

21.1.4FeaturesforDebuggingdjgppPrograms...............277

21.1.5FeaturesforDebuggingMSWindowsPEExecutables..279

22
21.4.2.1Intel(R)MemoryProtectionExtensions(MPX)....292
.

21.4.3Alpha..................................................293

21.4.4MIPS..................................................293

21.4.5HPPA.................................................295

21.4.6CellBroadbandEngineSPUarchitecture...............295

21.4.7PowerPC..............................................296

21.4.8NiosII.................................................296

Controllinggdb.............................297
21.1.5.121.1.5.221.1.5.3
SupportforDLLswithoutDebuggingSymbols.....281DLLNamePre
xes...............................281WorkingwithMinimalSymbols...................281
21.1.6CommandsSpecictognuHurdSystems..............282
21.1.7Darwin................................................284
.

21.2EmbeddedOperatingSystems..............................285

21.3EmbeddedProcessors.......................................285

21.3.1ARM..................................................285

21.3.2RenesasM32R/SDI....................................287

21.3.3M68k..................................................287

21.3.4MicroBlaze............................................287

21.3.5MIPSEmbedded.......................................288

21.3.6PowerPCEmbedded...................................290

21.3.7AtmelAVR............................................291

21.3.8CRIS..................................................291

21.3.9RenesasSuperH.......................................291
21.4Architectures...............................................29221.4.1
AArch64...............................................29221.4.2x86Architecturespecic
Issues.........................292
.

22.1Prompt.....................................................297

22.2CommandEditing..........................................297

22.3CommandHistory..........................................298

22.4ScreenSize.................................................299

22.5Numbers...................................................300

22.6ConguringtheCurrentABI................................301

22.7Automaticallyloadingassociatedles.......................302

22.7.1Automaticallyloadinginitleinthecurrentdirectory..304

22.7.2Automaticallyloadingthreaddebugginglibrary........304

22.7.3Securityrestrictionforautoloading....................305

22.7.4Displayinglestriedforautoload......................306
.

22.8OptionalWarningsandMessages............................307

22.9OptionalMessagesaboutInternalHappenings...............308

vii
viiiDebuggingwithgdb22.10OtherMiscellaneous
Settings...............................313

23Extendinggdb..............................315
23.1CannedSequencesofCommands............................315
.

23.1.1UserdenedCommands...............................315

23.1.2UserdenedCommandHooks..........................317

23.1.3CommandFiles........................................318

23.1.4CommandsforControlledOutput......................319

23.1.5Controllingautoloadingnativegdbscripts.............321
23.2ExtendinggdbusingPython...............................321

23.2.1PythonCommands....................................322

23.2.2PythonAPI...........................................323
23.2.2.123.2.2.223.2.2.323.2.2.423.2.2.523.2.2.623.2.2.723.2.2.8
23.2.2.923.2.2.1023.2.2.1123.2.2.1223.2.2.1323.2.2.1423.2.2.15
23.2.2.1623.2.2.1723.2.2.1823.2.2.1923.2.2.2023.2.2.2123.2.2.22
23.2.2.2323.2.2.2423.2.2.2523.2.2.2623.2.2.2723.2.2.2823.2.2.29
23.2.2.3023.2.2.3123.2.2.32
BasicPython.....................................323Exception
Handling...............................326ValuesFromInferior..............................
327TypesInPython..................................332PrettyPrinting
API...............................336SelectingPrettyPrinters..........................337
WritingaPrettyPrinter..........................338TypePrinting
API................................340FilteringFrames...................................341
DecoratingFrames...............................343WritingaFrame
Filter...........................346UnwindingFramesinPython....................350

XmethodsInPython.............................352Xmethod
API....................................353WritinganXmethod.............................354
InferiorsInPython...............................357EventsIn
Python................................358ThreadsInPython...............................361
CommandsInPython............................362ParametersIn
Python............................366Writingnewconveniencefunctions...............
368ProgramSpacesInPython.......................369ObjlesIn
Python...............................370Accessinginferiorstackframesfrom
Python......372AccessingblocksfromPython....................375Python
representationofSymbols................377Symboltablerepresentationin
Python............380ManipulatinglinetablesusingPython............381
ManipulatingbreakpointsusingPython..........382Finish
Breakpoints...............................385Pythonrepresentationoflazy
strings.............386Pythonrepresentationofarchitectures............387
.

23.2.3PythonAutoloading...................................387

23.2.4Pythonmodules.......................................388
23.2.4.1gdb.printing.......................................38823.2.4.2
gdb.types.........................................389
23.2.4.3gdb.prompt.......................................39023.3Extendinggdbusing
Guile.................................391

23.3.1GuileIntroduction.....................................391

23.3.2GuileCommands......................................391

23.3.3GuileAPI.............................................392
23.3.3.123.3.3.223.3.3.323.3.3.423.3.3.523.3.3.623.3.3.723.3.3.8
23.3.3.923.3.3.1023.3.3.1123.3.3.1223.3.3.1323.3.3.1423.3.3.15
23.3.3.1623.3.3.1723.3.3.1823.3.3.1923.3.3.2023.3.3.2123.3.3.22
23.3.3.2323.3.3.2423.3.3.25

23.3.4Guile

23.3.5Guile

23.3.5.1GuilePrintingModule............................44123.3.5.2GuileTypes
Module...............................441
23.4Autoloadingextensions.....................................442
.

23.4.1Theobjfilegdb.extle............................442

23.4.2The.debug_gdb_scriptssection......................443
23.4.2.1ScriptFileEntries.................................443
23.4.2.2ScriptTextEntries................................44423.4.3Whichavorto
choose?................................44423.5MultipleExtension
Languages..............................44523.5.1Pythoncomes
rst.....................................44523.6Creatingnewspellingsofexisting
commands................445

24CommandInterpreters.....................447
BasicGuile.......................................392GuileCon
guration...............................394GDBSchemeDataTypes.........................
394GuileExceptionHandling.........................396ValuesFromInferiorIn
Guile.....................397ArithmeticInGuile...............................403TypesIn
Guile....................................404GuilePrettyPrintingAPI.........................
408SelectingGuilePrettyPrinters....................410
WritingaGuilePrettyPrinter...................411CommandsIn
Guile..............................413ParametersInGuile..............................417
ProgramSpacesInGuile.........................419ObjlesIn
Guile.................................420AccessinginferiorstackframesfromGuile...
.....421AccessingblocksfromGuile......................424Guile
representationofSymbols..................425Symboltablerepresentationin
Guile..............429ManipulatingbreakpointsusingGuile............430Guile
representationoflazystrings...............433Guilerepresentationof
architectures..............434DisassemblyInGuile.............................436I/O
PortsinGuile...............................437MemoryPortsin
Guile...........................437IteratorsInGuile................................438Auto
loading.....................................440Modules.........................................441

ix
xDebuggingwithgdb25gdbTextUserInterface....................

449
.

25.1TUIOverview..............................................449

25.2TUIKeyBindings..........................................450

25.3TUISingleKeyMode.......................................451

25.4TUIspecicCommands.....................................451

25.5TUICongurationVariables................................453

26UsinggdbundergnuEmacs...............455

27Thegdb/miInterface.......................457
FunctionandPurpose.............................................457Notationand
Terminology........................................45727.3gdb/miGeneral
Design.....................................457
27.3.1Contextmanagement..................................45827.3.1.1Threadsand
Frames..............................45827.3.1.2Language.........................................
459

27.3.2Asynchronouscommandexecutionandnonstopmode..459

27.3.3Threadgroups.........................................460
27.4gdb/miCommandSyntax..................................460

27.4.1gdb/miInputSyntax..................................461

27.4.2gdb/miOutputSyntax................................461

27.5gdb/miCompatibilitywithCLI............................463

27.6gdb/miDevelopmentandFrontEnds.......................463

27.7gdb/miOutputRecords....................................464

27.7.1gdb/miResultRecords................................464

27.7.2gdb/miStreamRecords...............................464

27.7.3gdb/miAsyncRecords................................465

27.7.4gdb/miBreakpointInformation........................468

27.7.5gdb/miFrameInformation............................470

27.7.6gdb/miThreadInformation...........................470

27.7.7gdb/miAdaExceptionInformation....................471
27.827.927.1027.11
SimpleExamplesofgdb/miInteraction.....................471gdb/miCommand
DescriptionFormat......................472gdb/miBreakpoint
Commands............................472gdb/miCatchpoint
Commands............................482
.

27.11.1SharedLibrarygdb/miCatchpoints..................482

27.11.2AdaExceptiongdb/miCatchpoints...................483

27.12gdb/miProgramContext.................................485

27.13gdb/miThreadCommands................................487

27.14gdb/miAdaTaskingCommands..........................489

27.15gdb/miProgramExecution................................490

27.16gdb/miStackManipulationCommands....................497

27.17gdb/miVariableObjects..................................502

27.18gdb/miDataManipulation................................513

27.19gdb/miTracepointCommands............................522

27.20gdb/miSymbolQueryCommands.........................527

27.21gdb/miFileCommands...................................527

27.22gdb/miTargetManipulationCommands...................529

27.23gdb/miFileTransferCommands..........................533

Contributorstogdb
RichardStallmanwastheoriginalauthorofgdb,andofmanyothergnu
programs.Manyothershavecontributedtoitsdevelopment.Thissection
attemptstocreditmajorcontributors.Oneofthevirtuesoffreesoftwareis
thateveryoneisfreetocontributetoit;withregret,wecannotactually
acknowledgeeveryonehere.TheleChangeLoginthegdbdistribution
approximatesablowbyblowaccount.
Changesmuchpriortoversion2.0arelostinthemistsoftime.
Plea:Additionstothissectionareparticularlywelcome.Ifyouoryour
friends(orenemies,tobeevenhanded)havebeenunfairlyomittedfromthis
list,wewouldliketoaddyournames!
Sothattheymaynotregardtheirmanylaborsasthankless,weparticularly
thankthosewhoshepherdedgdbthroughmajorreleases:AndrewCagney
(releases6.3,6.2,6.1,6.0,5.3,5.2,5.1and5.0);JimBlandy(release4.18);
JasonMolenda(release4.17);StanShebs(release4.14);FredFish(releases
4.16,4.15,4.13,4.12,4.11,4.10,and4.9);StuGrossmanandJohnGilmore
(releases4.8,4.7,4.6,4.5,and4.4);JohnGilmore(releases4.3,4.2,4.1,4.0,
and3.9);JimKingdon(releases3.5,3.4,and3.3);andRandySmith(releases
3.2,3.1,and3.0).
RichardStallman,assistedatvarioustimesbyPeterTerMaat,ChrisHanson,
andRichardMlynarik,handledreleasesthrough2.8.
MichaelTiemannistheauthorofmostofthegnuC++supportingdb,with
signicantadditionalcontributionsfromPerBothnerandDanielBerlin.James

ClarkwrotethegnuC++demangler.EarlyworkonC++wasbyPeter
TerMaat(whoalsodidmuchgeneralupdateworkleadingtorelease3.0).
gdbusestheBFDsubroutinelibrarytoexaminemultipleobjectleformats;
BFDwasajointprojectofDavidV.HenkelWallace,RichPixley,Steve
Chamberlain,andJohnGilmore.
DavidJohnsonwrotetheoriginalCOFFsupport;PaceWillisondidthe
originalsupportforencapsulatedCOFF.
BrentBensonofHarrisComputerSystemscontributedDWARF2support.
AdamdeBoorandBradleyDaviscontributedtheISIOptimumVsupport.
PerBothner,NoboyukiHikichi,andAlessandroForincontributedMIPS
support.JeanDanielFeketecontributedSun386isupport.ChrisHanson
improvedtheHP9000support.Noboyuki
4Debuggingwithgdb
HikichiandTomoyukiHaseicontributedSony/NewsOS3support.David
JohnsoncontributedEncoreUmaxsupport.JyrkiKuoppalacontributed
Altos3068support.JeLawcontributedHPPAandSOMsupport.Keith
PackardcontributedNS32Ksupport.DougRabsoncontributedAcornRisc
Machinesupport.BobRuskcontributedHarrisNighthawkCXUXsupport.
ChrisSmithcontributedConvexsupport(andFortrandebugging).Jonathan
StonecontributedPyramidsupport.MichaelTiemanncontributedSPARC
support.TimTuckercontributedsupportfortheGouldNP1andGould
Powernode.PaceWillisoncontributedIntel386support.JayVosburgh
contributedSymmetrysupport.MarkoMlinarcontributedOpenRISC1000
support.
AndreasSchwabcontributedM68Kgnu/Linuxsupport.
RichSchaeferandPeterSchauerhelpedwithsupportofSunOSshared
libraries.
JayFenlasonandRolandMcGrathensuredthatgdbandGASagreeabout
severalmachineinstructionsets.

PatrickDuval,TedGoldstein,VikramKokaandGlennEngelhelpeddevelop
remotedebugging.IntelCorporation,WindRiverSystems,AMD,andARM
contributedremotedebuggingmodulesforthei960,VxWorks,A29KUDI,
andRDItargets,respectively.
BrianFoxistheauthorofthereadlinelibrariesprovidingcommandline
editingandcommandhistory.
AndrewBeersofSUNYBualowrotethelanguageswitchingcode,the
Modula2support,andcontributedtheLanguageschapterofthismanual.
FredFishwrotemostofthesupportforUnixSystemVr4.Healsoenhanced
thecommandcompletionsupporttocoverC++overloadedsymbols.
HitachiAmerica(nowRenesasAmerica),Ltd.sponsoredthesupportfor
H8/300,H8/500,andSuperHprocessors.
NECsponsoredthesupportforthev850,Vr4xxx,andVr5xxxprocessors.
Mitsubishi(nowRenesas)sponsoredthesupportforD10V,D30V,and
M32R/Dprocessors.
ToshibasponsoredthesupportfortheTX39Mipsprocessor.
MatsushitasponsoredthesupportfortheMN10200andMN10300
processors.
FujitsusponsoredthesupportforSPARCliteandFR30processors.
KungHsu,JeLaw,andRickSladkeyaddedsupportforhardware
watchpoints.
MichaelSnyderaddedsupportfortracepoints.
StuGrossmanwrotegdbserver.
JimKingdon,PeterSchauer,IanTaylor,andStuGrossmanmadenearly
innumerablebugxesandcleanupsthroughoutgdb.
ThefollowingpeopleattheHewlettPackardCompanycontributedsupport

forthePARISC2.0architecture,HPUX10.20,10.30,and11.0(narrow
mode),HPsimplementationofkernelthreads,HPsaC++compiler,andthe
TextUserInterface(neeTerminalUserInterface):BenKrepp,RichardTitle,
JohnBishop,SusanMacchia,KathyMann,SatishPai,IndiaPaul,Steve
Rehrauer,andElenaZannoni.KimHaaseprovidedHPspecicinformationin
thismanual.
DJDelorieportedgdbtoMSDOS,fortheDJGPPproject.RobertHoehne
madesignicantcontributionstotheDJGPPport.
Summaryofgdb5
CygnusSolutionshassponsoredgdbmaintenanceandmuchofits
developmentsince1991.Cygnusengineerswhohaveworkedongdbfulltime
includeMarkAlexander,JimBlandy,PerBothner,KevinBuettner,Edith
Epstein,ChrisFaylor,FredFish,MartinHunt,JimIngham,JohnGilmore,
StuGrossman,KungHsu,JimKingdon,JohnMetzler,FernandoNasser,Geo
reyNoer,DawnPerchik,RichPixley,ZdenekRadouch,KeithSeitz,Stan
Shebs,DavidTaylor,andElenaZannoni.Inaddition,DaveBrolley,Ian
Carmichael,SteveChamberlain,NickClifton,JTConklin,StanCox,DJ
Delorie,UlrichDrepper,FrankEigler,DougEvans,SeanFagan,David
HenkelWallace,RichardHenderson,JeHolcomb,JeLaw,JimLemke,Tom
Lord,BobManson,MichaelMeissner,JasonMerrill,CatherineMoore,Drew
Moseley,KenRaeburn,GavinRomigKoch,RobSavoye,JamieSmith,Mike
Stump,IanTaylor,AngelaThomas,MichaelTiemann,TomTromey,Ron
Unrau,JimWilson,andDavidZuhnhavemadecontributionsbothlargeand
small.
AndrewCagney,FernandoNasser,andElenaZannoni,whileworkingfor
CygnusSolutions,implementedtheoriginalgdb/miinterface.
JimBlandyaddedsupportforpreprocessormacros,whileworkingforRed
Hat.
AndrewCagneydesignedgdbsarchitecturevector.Manypeopleincluding
AndrewCagney,StephaneCarrez,RandolphChung,NickDuek,Richard
Henderson,MarkKettenis,GraceSainsbury,KeiSakamoto,Yoshinori

Sato,MichaelSnyder,AndreasSchwab,JasonThorpe,CorinnaVinschen,
UlrichWeigand,andElenaZannoni,helpedwiththemigrationofold
architecturestothisnewframework.
AndrewCagneycompletelyredesignedandreimplementedgdbsunwinder
framework,thisconsistingofafreshnewdesignfeaturingframeIDs,
independentframesniers,andthesentinelframe.MarkKettenis
implementedthedwarf2unwinder,JeJohnstonthelibunwindunwinder,and
AndrewCagneythedummy,sentinel,tramp,andtradunwinders.The
architecturespecicchanges,eachinvolvingacompleterewriteofthe
architecturesframecode,werecarriedoutbyJimBlandy,JoelBrobecker,
KevinBuettner,AndrewCagney,StephaneCarrez,RandolphChung,Orjan
Friberg,RichardHenderson,DanielJacobowitz,JeJohnston,MarkKettenis,
TheodoreA.Roth,KeiSakamoto,YoshinoriSato,MichaelSnyder,Corinna
Vinschen,andUlrichWeigand.
ChristianZankel,RossMorley,BobWilson,andMaximGrigorievfrom
Tensilica,Inc.contributedsupportforXtensaprocessors.Otherswhohave
workedontheXtensaportofgdbinthepastincludeSteveTjiang,John
Newlin,andScottFoehner.
MichaelEagerandstaofXilinx,Inc.,contributedsupportfortheXilinx
MicroBlazearchitecture.
Chapter1:ASamplegdbSession7

1ASamplegdbSession
Youcanusethismanualatyourleisuretoreadallaboutgdb.However,a
handfulofcommandsareenoughtogetstartedusingthedebugger.This
chapterillustratesthosecommands.
Inthissamplesession,weemphasizeuserinputlikethis:input,tomakeit
easiertopickoutfromthesurroundingoutput.
Oneofthepreliminaryversionsofgnum4(agenericmacroprocessor)
exhibitsthefollowingbug:sometimes,whenwechangeitsquotestrings

fromthedefault,thecommandsusedtocaptureonemacrodenitionwithin
anotherstopworking.Inthefollowingshortm4session,wedeneamacro
foowhichexpandsto0000;wethenusethem4builtindefntodenebaras
thesamething.However,whenwechangetheopenquotestringto
<QUOTE>andtheclosequotestringto<UNQUOTE>,thesameprocedure
failstodeneanewsynonymbaz:
$cdgnu/m4$./m4dene(foo,0000)
foo
0000
dene(bar,defn(foo))
bar
0000changequote(<QUOTE>,<UNQUOTE>)
dene(baz,defn(<QUOTE>foo<UNQUOTE>))bazCtrldm4:Endofinput:0:fatalerror:EOFin
string

Letususegdbtotrytoseewhatisgoingon.
$gdbm4gdbisfreesoftwareandyouarewelcometodistributecopies
ofitundercertainconditions;type"showcopying"tosee
theconditions.Thereisabsolutelynowarrantyforgdb;type"showwarranty"
fordetails.
gdb7.10.50.20151203cvs,Copyright1999FreeSoftwareFoundation,Inc...(gdb)

gdbreadsonlyenoughsymboldatatoknowwheretondtherestwhen
needed;asaresult,therstpromptcomesupveryquickly.Wenowtellgdbto
useanarrowerdisplaywidththanusual,sothatexamplestinthismanual.
(gdb)setwidth70

Weneedtoseehowthem4builtinchangequoteworks.Havinglookedatthe
source,weknowtherelevantsubroutineism4_changequote,soweseta
breakpointtherewiththegdbbreakcommand.

(gdb)breakm4changequoteBreakpoint1at0x62f4:filebuiltin.c,line879.

Usingtheruncommand,westartm4runningundergdbcontrol;aslongas
controldoesnotreachthem4_changequotesubroutine,theprogramrunsas
usual:

8
Debuggingwithgdb
(gdb)runStartingprogram:/work/Editorial/gdb/gnu/m4/m4dene(foo,0000)
foo
0000

Totriggerthebreakpoint,wecallchangequote.gdbsuspendsexecutionof
m4,displayinginformationaboutthecontextwhereitstops.
changequote(<QUOTE>,<UNQUOTE>)
Breakpoint1,m4_changequote(argc=3,argv=0x33c70)
atbuiltin.c:879
879if(bad_argc(TOKEN_DATA_TEXT(argv[0]),argc,1,3))

Nowweusethecommandn(next)toadvanceexecutiontothenextlineof
thecurrentfunction.
(gdb)n882set_quotes((argc>=2)?TOKEN_DATA_TEXT(argv[1])\
:nil,

set_quoteslookslikeapromisingsubroutine.Wecangointoitbyusingthe
commands(step)insteadofnext.stepgoestothenextlinetobeexecutedin
anysubroutine,soitstepsintoset_quotes.
(gdb)sset_quotes(lq=0x34c78"<QUOTE>",rq=0x34c88"<UNQUOTE>")
atinput.c:530
530if(lquote!=def_lquote)

Thedisplaythatshowsthesubroutinewherem4isnowsuspended(andits
arguments)iscalledastackframedisplay.Itshowsasummaryofthestack.

Wecanusethebacktracecommand(whichcanalsobespelledbt),tosee
whereweareinthestackasawhole:thebacktracecommanddisplaysastack
frameforeachactivesubroutine.
(gdb)bt#0set_quotes(lq=0x34c78"<QUOTE>",rq=0x34c88"<UNQUOTE>")
atinput.c:530
#10x6344inm4_changequote(argc=3,argv=0x33c70)
atbuiltin.c:882
#20x8174inexpand_macro(sym=0x33320)atmacro.c:242
#30x7a88inexpand_token(obs=0x0,t=209696,td=0xf7fffa30)
atmacro.c:71
#40x79dcinexpand_input()atmacro.c:40
#50x2930inmain(argc=0,argv=0xf7fffb20)atm4.c:195

Westepthroughafewmorelinestoseewhathappens.Thersttwotimes,we
canuses;thenexttwotimesweusentoavoidfallingintothexstrdup
subroutine.
(gdb)s0x3b5c532if(rquote!=def_rquote)(gdb)s0x3b80535lquote=(lq==nil||*lq==\0)?
\def_lquote:xstrdup(lq);(gdb)n536rquote=(rq==nil||*rq==\0)?def_rquote\
:xstrdup(rq);(gdb)n538len_lquote=strlen(rquote);

Chapter1:ASamplegdbSession9
Thelastlinedisplayedlooksalittleodd;wecanexaminethevariableslquote
andrquotetoseeiftheyareinfactthenewleftandrightquoteswespecied.
Weusethecommandp(print)toseetheirvalues.
(gdb)plquote$1=0x35d40"<QUOTE>"(gdb)prquote$2=0x35d50"<UNQUOTE>"

lquoteandrquoteareindeedthenewleftandrightquotes.Tolookatsome
context,wecandisplaytenlinesofsourcesurroundingthecurrentlinewith
thel(list)command.
(gdb)l533xfree(rquote);534535lquote=(lq==nil||*lq==\0)?def_lquote\
:xstrdup(lq);
536rquote=(rq==nil||*rq==\0)?def_rquote\
:xstrdup(rq);
537
538

539
540
541
542
len_lquote=strlen(rquote);
len_rquote=strlen(lquote);
}
void

Letussteppastthetwolinesthatsetlen_lquoteandlen_rquote,andthen
examinethevaluesofthosevariables.
(gdb)n539len_rquote=strlen(lquote);(gdb)n540}(gdb)plenlquote$3=9(gdb)plenrquote$4
=7

Thatcertainlylookswrong,assuminglen_lquoteandlen_rquotearemeantto
bethelengthsoflquoteandrquoterespectively.Wecansetthemtobetter
valuesusingthepcommand,sinceitcanprintthevalueofanyexpression
andthatexpressioncanincludesubroutinecallsandassignments.
(gdb)plenlquote=strlen(lquote)$5=7(gdb)plenrquote=strlen(rquote)$6=9

Isthatenoughtoxtheproblemofusingthenewquoteswiththem4builtin
defn?Wecanallowm4tocontinueexecutingwiththec(continue)
command,andthentrytheexamplethatcausedtroubleinitially:
(gdb)cContinuing.
dene(baz,defn(<QUOTE>foo<UNQUOTE>))
baz0000

10Debuggingwithgdb
Success!Thenewquotesnowworkjustaswellasthedefaultones.The
problemseemstohavebeenjustthetwotyposdeningthewronglengths.We
allowm4exitbygivingitanEOFasinput:
Ctrld
Programexitednormally.

ThemessageProgramexitednormally.isfromgdb;itindicatesm4has
nishedexecuting.Wecanendourgdbsessionwiththegdbquitcommand.
(gdb)quit

Latar Belakang
Menteri Keuangan telah mengeluarkan Peraturan Menteri
Keuangan Nomor 255/PMK.03/2008 yang telah diubah dengan
Peraturan Menteri Keuangan Nomor 208/ PMK.03/ 2009 tentang
Penghitungan
Besarnya
Angsuran
Pajak
Penghasilan
DalamTahun Pajak Berjalan Yang Harus Dibayar Sendiri Oleh
Wajib Pajak Baru,Bank, Sewa Guna Usaha Dengan Hak Opsi,
Badan Usaha Milik Negara, Badan Usaha Milik Daerah, Wajib
Pajak Masuk Bursa, Dan Wajib Pajak Lainnya Yang Berdasarkan
Ketentuan Diharuskan Membuat Laporan Keuangan Berkala
Termasuk Wajib Pajak Orang Pribadi Pengusaha Tertentu.
Namun dalam Peraturan Menteri Keuangan tersebut tidak
memberikan contoh penghitungan angsuran Pajak Penghasilan.
Tulisan ini membahas penghitungan angsuran Pajak Penghasilan
pasal 25 (selanjutnya disebut angsuran PPh pasal 25) terhadap :
a. Wajib Pajak baru; b. Wajib Pajak bank, badan usaha milik
Negara, badan usaha milik daerah, Wajib Pajak masuk bursa,
dan Wajib Pajak lainnya yang berdasarkan ketentuan peraturan
perundang-undangan harus membuat laporan keuangan berkala;
dan c.Wajib Pajak orang pribadi pengusaha tertentu.