Free Practice Questions for Junior Programmer
Exam-style questions and explanations by OpenExamPrep.
Loading practice questions...
Explore More Indonesia BNSP ICT Occupational Competency Certifications (Sertifikasi Kompetensi BNSP Bidang TIK)
Continue into nearby exams from the same family. Each card keeps practice questions, study guides, flashcards, videos, and articles in one place.
Sample Junior Programmer Practice Questions
Try these sample questions to review concepts for the Junior Programmer exam. Each question includes a detailed explanation. Start the interactive quiz above for the full 100+ question experience with AI tutoring.
1Under SKKNI unit J.620100.033.02 (Melaksanakan Pengujian Unit Program), what three steps make up the standard Arrange-Act-Assert structure of a unit test?
2What is the fundamental architectural difference between a compiled programming language (e.g., C, C++, Rust) and an interpreted programming language (e.g., Python, Ruby)?
3A unit test calls 'assertEquals(120, factorial(5))' and the test runner reports 'expected: 120 but was: 720'. What has this test told the programmer?
4A method being unit-tested calls a live payment gateway over the network. Why should the test replace that call with a test double (a stub or mock)?
5A user reports that a discount routine returns a negative total for a specific order. What is the recommended first step before changing the code?
6A function accepts an integer age and must reject anything below 17. Which set of unit-test inputs gives the strongest coverage of that rule for the least effort?
7Reviewing a colleague's code, you find 'try { saveOrder(); } catch (Exception e) { }' with an empty catch block. Why is this a serious practice violation?
8A junior programmer is handing a finished module over to another team. Which content belongs in the project README so the receiving team can run it?
9A function's docblock still reads '@param string \$id' after the parameter was changed to accept an integer. Why is this stale docblock worse than having no docblock at all?
10A single function is 300 lines long and validates input, queries a database, formats a report, and sends an email. Which guideline does it violate, and what is the remedy?
About the Junior Programmer Exam
Pemrogram Junior (Junior Programmer, also listed as Junior Coder) is an Indonesian national occupational competency certification issued by BNSP through licensed LSPs, based on SKKNI Kepmenaker No. 282 Tahun 2016 (Bidang Software Development Subbidang Pemrograman) and the Peta Okupasi Nasional Bidang TIK. The most widely offered package is eight units: using data structures, using program specifications, applying language execution commands, writing code to guidelines and best practices, implementing structured programming, producing program code documentation, debugging, and carrying out program unit testing. Some LSPs publish a larger package that adds algorithm implementation, database access and reusable subroutines. Certificates are valid for three years.
Exam sponsor: BNSP-licensed LSPs, including LSP Media Informatika (BNSP-LSP-2121-ID), LSP TIK Triatma Kompetensi (BNSP-LSP-1417-ID) and LSP SDM TIK. The requirements and fees below concern the certification or admission exam, separate from our free practice resources.
Assessment
The candidate submits FR.APL.01 (application) and FR.APL.02 (self-assessment) with programming portfolio evidence, an assessor verifies it, and the assessment session at a licensed Tempat Uji Kompetensi (TUK) then applies written, interview and practical-observation methods against each unit's performance criteria.
Time Limit
No fixed assessment duration is published; a scheduled session at a licensed TUK commonly occupies most of one day.
Passing Score
Kompeten (competent) or Belum Kompeten (not yet competent). Assessors judge the candidate against the performance criteria of each competency unit in the package across knowledge, skill and work attitude; BNSP publishes no percentage pass mark.
Exam / Certification Fees
Set by each licensed LSP rather than by a national tariff. LSP Media Informatika publishes Rp 600.000 for both its Pemrogram Junior (Junior Coder) and Pemrogram Junior (Junior Programmer) packages. Komdigi Digital Talent Scholarship intakes are free to qualifying participants.
Exam sponsor websiteReported exam pass rate: Not published. Exam sponsor website
Fees, eligibility, and exam policies can change. Confirm them with the exam sponsor before applying or paying.
Official sources
- LSP Media Informatika — Pemrogram Junior (Junior Coder) scheme, 8 units, Rp 600.000 · Source checked 2026-09-14
- LSP Media Informatika — Pemrogram Junior (Junior Programmer) scheme, 11 units, Rp 600.000 · Source checked 2026-09-14
- BNSP — licensed LSP register and scheme listings · Source checked 2026-09-14
- JDIH Kemnaker — Keputusan Menteri Ketenagakerjaan No. 282 Tahun 2016 (SKKNI Bidang Software Development Subbidang Pemrograman) · Source checked 2026-09-14
Our practice resources: topics covered
We aim to reflect publicly available exam outlines and topic information in our study resources. Coverage, format, and difficulty may differ from the actual exam, and we cannot guarantee that every detail is accurate or current. Confirm exam requirements, fees, and policies with the official exam sponsor.
Structured Programming and Language Execution — units J.620100.017.02 and J.620100.010.02
Implementing structured programming and running language execution commands over text, graphics and multimedia: the three Bohm-Jacopini control structures, loop and branch semantics, switch fall-through, variable scope, parameter passing by value and by reference, compiled versus interpreted execution, and object-oriented constructs used in modern language runtimes.
Using Data Structures — unit J.620100.004.02 (Menggunakan Struktur Data)
Arrays and index bounds, stack versus heap allocation, stacks, queues and circular queues, singly and doubly linked lists, hash tables and collision resolution, trees and binary search trees, string immutability and buffer-based concatenation, and multidimensional arrays.
Implementing Programming Algorithms — unit J.620100.022.02
Asymptotic Big-O analysis, linear and binary search, bubble, selection, insertion, merge and quick sorts with their best, average and worst cases, algorithmic stability, in-place sorting, recursion and its termination conditions, breadth-first traversal, greedy methods, divide-and-conquer versus dynamic programming, and the two-pointer technique.
Using Program Specifications — unit J.620100.009.01 (Menggunakan Spesifikasi Program)
Reading and applying the specification before coding: flowchart symbols and conventions, pseudocode, functional versus non-functional requirements, UML use case, class, sequence and state machine diagrams, boundary value analysis and equivalence partitioning, edge-case identification, SDLC models and user stories, and modular design.
Applying Database Access — unit J.620100.021.02 (Menerapkan Akses Basis Data)
DDL and DML command categories, primary keys and entity integrity, SELECT with filtering and ordering, INNER and LEFT joins, SQL injection and why concatenated input is unsafe, parameterised queries, and ACID transaction properties.
Debugging and Error Handling — unit J.620100.025.02 (Melakukan Debugging)
Setting breakpoints, stepping over versus stepping into a call, reading the call stack and stack traces, structured try-catch-finally handling, checked versus unchecked exceptions, and defining domain-specific exception types.
Carrying Out Program Unit Testing — unit J.620100.033.02 (Melaksanakan Pengujian Unit Program)
The Arrange-Act-Assert structure, reading an assertion failure, isolating the unit under test with stubs and mocks, reproducing a reported defect as a failing regression test before fixing it, and choosing boundary inputs for economical coverage.
Producing Program Code Documentation — unit J.620100.023.02 (Membuat Dokumen Kode Program)
Standard docblock tags used by Javadoc, JSDoc and PHPDoc, what a handover README must contain, and why a docblock that has drifted out of step with the signature it describes actively misleads callers.
Writing Code to Guidelines and Best Practices — unit J.620100.016.01
The DRY principle and cohesion, extracting distinct concerns out of an oversized function, and why silently swallowing an exception is a serious practice violation.
Preparing for the Junior Programmer Exam
What You Need to Know
- Passing score: Kompeten (competent) or Belum Kompeten (not yet competent). Assessors judge the candidate against the performance criteria of each competency unit in the package across knowledge, skill and work attitude; BNSP publishes no percentage pass mark.
- Assessment: The candidate submits FR.APL.01 (application) and FR.APL.02 (self-assessment) with programming portfolio evidence, an assessor verifies it, and the assessment session at a licensed Tempat Uji Kompetensi (TUK) then applies written, interview and practical-observation methods against each unit's performance criteria.
- Time limit: No fixed assessment duration is published; a scheduled session at a licensed TUK commonly occupies most of one day.
- Exam / certification fees: Set by each licensed LSP rather than by a national tariff. LSP Media Informatika publishes Rp 600.000 for both its Pemrogram Junior (Junior Coder) and Pemrogram Junior (Junior Programmer) packages. Komdigi Digital Talent Scholarship intakes are free to qualifying participants. Official sources
Using Our Practice Resources
- Work through all 100 available questions
- Review every answer and explanation
- Track weak areas and revisit them
- Use our AI tutor for tough concepts
Frequently Asked Questions
What standard governs the BNSP Junior Programmer certification?
The scheme is built from SKKNI (Standar Kompetensi Kerja Nasional Indonesia) Keputusan Menteri Ketenagakerjaan No. 282 Tahun 2016 for Software Development, Subbidang Pemrograman, arranged according to the Peta Okupasi Nasional Bidang TIK. Licensed LSPs such as LSP Media Informatika, LSP TIK Triatma Kompetensi and LSP SDM TIK run the assessment.
Which competency units are assessed?
The eight-unit Pemrogram Junior (Junior Coder) package used by most LSPs covers J.620100.004.02 Menggunakan Struktur Data, J.620100.009.01 Menggunakan Spesifikasi Program, J.620100.010.02 Menerapkan Perintah Eksekusi Bahasa Pemrograman Berbasis Teks, Grafik, dan Multimedia, J.620100.016.01 Menulis Kode dengan Prinsip sesuai Guidelines dan Best Practices, J.620100.017.02 Mengimplementasikan Pemrograman Terstruktur, J.620100.023.02 Membuat Dokumen Kode Program, J.620100.025.02 Melakukan Debugging, and J.620100.033.02 Melaksanakan Pengujian Unit Program. Larger packages add J.620100.022.02 Mengimplementasikan Algoritma Pemrograman and J.620100.021.02 Menerapkan Akses Basis Data, both of which this bank also covers.
How is the competency assessment conducted?
A BNSP-certified assessor combines a written knowledge test (uji tulis), a technical interview (wawancara) and practical observation (observasi/praktik) in which the candidate writes, runs, debugs and explains code against the unit performance criteria.
What does the assessment cost and how long is the certificate valid?
Fees are set per LSP, not nationally. LSP Media Informatika publishes Rp 600.000 for both its Junior Coder and Junior Programmer packages, and Komdigi Digital Talent Scholarship intakes are free to qualifying participants. BNSP competency certificates are valid for three years, after which the holder recertifies or moves up to Pemrogram (Programmer).
Is 'Programmer Mahir' the same certification?
No. There is no BNSP or LSP scheme named Programmer Mahir; that phrasing comes from commercial training-provider branding. The national occupational schemes at this level are Pemrogram Junior (Junior Coder / Junior Programmer), with Junior Web Programmer, Junior Mobile Programmer and Pemrogram (Programmer) as separate schemes.
Are these practice questions an official BNSP examination?
No. This is independent practice by OpenExamPrep for the topics the Pemrogram Junior scheme covers. The official assessment is conducted in Bahasa Indonesia and includes a mandatory practical coding demonstration, which multiple-choice questions cannot reproduce.