PISN logo

PISN — Penomoran Ijazah dan Sertifikat Nasional

.Overview

PISN is a national initiative by the Ministry of Education, Research, and Technology that assigns unique identification numbers to diplomas and certificates issued by Indonesian universities. The system manages millions of records for thousands of university representatives nationwide, with every submission running through an automated, rule-based eligibility check. Administrators can also revoke numbers or grant exceptions, adjusting a student's eligibility status case by case. Because the rules shift with both central policy and university-level regulation, keeping the validation logic correct and current is an ongoing effort.

.Contribution

  • Developed the core eligibility module, validating each student record against the active set of ministry and university rules.
  • Refactored code and investigated slow queries, tuning the database so the application stayed responsive under high load.
  • Built an ETL pipeline that turns large volumes of student data into statistical reports for monitoring and evaluation.
  • Investigated Apache server security and implemented ModSecurity to meet the Ministry's cybersecurity compliance requirements.
  • Worked with the QA and data teams to keep the system accurate and fast while handling millions of entries.
  • Implemented exception logic so administrators can manually adjust eligibility for edge cases and special scenarios.

.Tech Used

Backend

Laravel

Frontend

Laravel Blade

Database

MySQLSQL Server

Infrastructure

Linux Server (Production)Windows Server (UAT)Apache

.Challenges and Solutions

Challenge

The application had to pass a strict cybersecurity audit from the Ministry, focused on web server and data-protection vulnerabilities.

Solution

Audited Apache using OWASP and Wireshark, then configured ModSecurity with custom rules against SQL injection, XSS, and unauthorized access. The application passed the Ministry's compliance review.

Challenge

Validating millions of records against dynamic, multi-level rule sets created both performance bottlenecks and logic complexity.

Solution

Built a modular, rule-based validation engine that updates without touching core logic, then optimized batch validation with async jobs and targeted database indexes.

Challenge

Large-scale operations and frequent data imports put the system under sustained load.

Solution

Profiled and refactored slow code paths and tuned queries, keeping the system responsive even during heavy import cycles.

Challenge

Exception and revocation workflows needed flexibility without putting data integrity at risk.

Solution

Designed a per-student and per-regulation override mechanism backed by audit logging and transaction safeguards.