Dimas Wahyu

Backend developer yang membangun sistem untuk instansi.

Dimas Wahyu Damar Panuluh, S.Kom, lulusan Teknik Informatika Universitas Muria Kudus (IPK 3,74). Proyek utamaku, SI-REINO, dibuat untuk pengajuan izin penelitian di Kesbangpol Kabupaten Kudus. Aku mengerjakannya dari desain database sampai penyiapan deployment Docker untuk server Kominfo.

  • 10.000+ baris kode
  • 5 tabel, 6 migrasi
  • Uji keamanan CSIRT

Terbuka untuk magang Backend, Database, IT Support

Foto Dimas Wahyu Damar Panuluh memakai selempang wisuda Universitas Muria Kudus Node.js 22 MySQL 8 Docker REST API S.KomTeknik Informatika, lulus 2026
proyek utama

SI-REINO

Sistem Informasi Rekomendasi Izin Penelitian Online. Mahasiswa dan peneliti mengajukan izin lewat formulir, memantau status dengan nomor referensi, dan menerima surat rekomendasi lewat email. Petugas memprosesnya dari dashboard admin. Sistem ini juga menjadi skripsiku.

Untuk
Badan Kesatuan Bangsa dan Politik Kabupaten Kudus
Peran
Pengembang: backend, database, frontend, dan deployment
Magang
Januari sampai Februari 2025
Skripsi
Pengembangan Aplikasi SI-REINO Berbasis Website dengan Notifikasi Status Secara Real Time
Uji
Uji keamanan whitebox dan greybox bersama tim CSIRT Diskominfo
Coba
Buka versi uji SI-REINO (server uji, belum HTTPS)
Ukuran
Lebih dari 10.000 baris kode, 5 tabel, 6 migrasi database
Node.js 22Express 5MySQL 8Docker ComposenginxNodemailerGitLab CI
Beranda SI-REINO dengan tombol Daftar Penelitian dan Cek Status

Beranda untuk pemohon. Tiga jalan masuk: daftar, cek status, unduh templat surat.

Satu pengajuan, dari formulir sampai surat terbit

  1. Pemohon mengisi formulir dan mengunggah satu berkas ZIP.
  2. Sistem membuat nomor referensi dan mengirim email konfirmasi.
  3. Petugas memeriksa berkas dan mengubah status di dashboard admin.
  4. Surat .docx dibuat dari template dengan nomor urut tahunan, lalu dikirim ke email pemohon.

Tekan Ulangi simulasi untuk melihat alurnya lagi. Di desktop, gerakkan kursor di atas surat untuk melihatnya dari sudut lain.

Pengajuan penelitiansimulasi alur SI-REINO
Nomor referensi
KBP-20260517-2358
Pemohon
Contoh Pemohon, Universitas Muria Kudus
Jenis
Pengajuan baru, 1 berkas ZIP (2,4 MB)
Nomor surat
246/2026
  1. Pendingmenunggu petugas
  2. Diprosesberkas diperiksa
  3. Selesaisurat terbit
SELESAISIMULASI
Surat .docx dibuat dari template dan dikirim ke email pemohon

Data contoh. Alur nyata ada di aplikasinya.

Cara komponennya tersambung

BrowserPemohon dan petugas. HTML, CSS, dan JavaScript tanpa framework.
nginxMelayani frontend statis dan meneruskan /api/ ke backend.
API Node.jsExpress 5. Pendaftaran, status, dashboard admin, surat, email.
MySQL 8Data pengajuan, admin, penghitung nomor surat, audit log.

Backend juga menulis ke dua volume (berkas pemohon dan surat hasil generate) dan mengirim email lewat SMTP. Ketiganya berjalan sebagai kontainer lewat satu perintah docker compose up.

Pengajuan online

Pengajuan baru, revisi, dan perpanjangan. Pemohon mengunggah satu berkas ZIP atau RAR sampai 20 MB, dan server membatasi ukurannya juga.

Cek status dengan nomor referensi

Setiap pengajuan mendapat nomor berformat KBP-YYYYMMDD-HHMM. Status berjalan dari Pending, Diproses, sampai Selesai atau Ditolak.

Dashboard admin

Petugas mengubah status, menelusuri pengajuan, melihat grafik, dan mengekspor data ke Excel.

Email otomatis

Konfirmasi pendaftaran dan setiap perubahan status dikirim ke pemohon dengan Nodemailer, lengkap dengan tautan cek status atau revisi.

Surat rekomendasi otomatis

Surat .docx diisi dari template lewat docxtemplater. Nomor urut berjalan per tahun dan bisa melanjutkan penomoran lama.

Keamanan dan jejak audit

Password di-hash dengan scrypt dan salt, akun terkunci setelah gagal berulang, login dibatasi 10 percobaan per 15 menit, dan berkas pemohon hanya bisa diunduh admin. Aksi penting masuk audit log.

Deployment Docker

Tiga kontainer (database, API, nginx). API berjalan sebagai pengguna non-root, database punya healthcheck dan batas sumber daya.

Uji otomatis dan CI

Uji unit dengan node --test dan lint ESLint. Pipeline GitLab menjalankan keduanya dan membangun image pada setiap merge request.

Tiga masalah yang paling banyak mengajariku

Nomor surat bentrok saat pengajuan masuk bersamaan

Masalah

Mencari nomor urut berikutnya dengan SELECT ... FOR UPDATE pada seluruh tabel membuat transaksi paralel saling mengunci dan memicu deadlock.

Solusi

Aku memindahkan penomoran ke tabel no_urut_counter dengan satu baris per tahun. Transaksi selalu mengunci baris itu lebih dulu, dan proses diulang otomatis bila terjadi deadlock atau tabrakan nomor referensi. Ada uji untuk pengiriman paralel.

Temuan uji keamanan dari tim CSIRT

Masalah

Sistem diuji whitebox dan greybox oleh CSIRT Diskominfo sebelum berjalan di server mereka. Setiap temuan harus ditutup dan bisa dilacak.

Solusi

Perbaikan masuk lewat branch, merge request, dan code review. Hasilnya terlihat di kode: hash scrypt, penguncian akun, pembatas laju per jenis endpoint, audit log, dan kontainer yang di-hardening.

Pindah dari Google Apps Script ke server sendiri

Masalah

Versi awal memakai Google Apps Script sebagai backend. Sistem untuk instansi pemerintah perlu berjalan di infrastruktur Kominfo.

Solusi

Aku menulis ulang backend sebagai REST API Node.js dengan MySQL, lalu membungkusnya dengan Docker supaya tim Kominfo bisa memasangnya dengan docker compose. README dan DOCKER.md ditulis untuk tim infrastruktur.

Keahlian

Yang tertulis di sini adalah yang kupakai di SI-REINO atau di kuliah dan organisasi.

Backend

  • Node.js dan Express
  • REST API
  • Autentikasi, rate limiting, upload berkas
  • PHP (dasar)

Database

  • MySQL, desain skema dan indeks
  • Transaksi, locking, penanganan deadlock
  • Migrasi SQL bertahap
  • Manajemen dan entri data

Deployment dan alur kerja

  • Docker dan Docker Compose
  • nginx sebagai reverse proxy
  • Git, GitHub, GitLab, merge request
  • GitLab CI, ESLint, node --test

Frontend

  • HTML, CSS, JavaScript
  • Antarmuka responsif tanpa framework
  • Chart.js untuk grafik dashboard

IT Support dan kantor

  • Troubleshooting komputer dan software
  • Instalasi software
  • Microsoft Office, Google Workspace

Bekerja dengan orang

  • Koordinasi dengan pihak instansi
  • Kerja sama tim dan manajemen waktu
  • Bahasa Inggris, IELPT skor 423

Jejak

2022 sampai 2026

S1 Teknik Informatika, Universitas Muria Kudus

IPK 3,74. Skripsi tentang SI-REINO dengan notifikasi status secara real time.

2024

Pelatihan teknologi dan kewirausahaan

Kuliah umum The Role of Technology in Education Modernization, keterampilan wajib komputer, dan keterampilan wajib kewirausahaan.

Jan sampai Feb 2025

Web Developer, magang di Kesbangpol Kabupaten Kudus

Membangun SI-REINO, berkoordinasi dengan petugas Kesbangpol, dan menerima sertifikat magang instansi pemerintah.

Februari 2025

Sertifikat IELPT, skor 423

Language Center Universitas Muria Kudus. Berlaku sampai Februari 2027.

Selama kuliah

Wakil Ketua Umum dan Ketua Divisi Voli, UKM Olahraga UMK

Mengoordinasikan pengurus dan anggota, menyusun dan menjalankan program kerja. Juga menjadi panitia Coaching Clinic pada 2023 dan 2024.

2026

Lulus dan menyelesaikan SI-REINO

Sistem selesai melewati uji keamanan dan siap dipasang dengan Docker.

Dimas Wahyu Damar Panuluh memakai toga wisuda Universitas Muria Kudus dan memegang map ijazah

Mari bicara soal magang.

Aku mencari posisi magang di Backend atau Web Development, Database, atau IT Support. Kirim pesan, aku akan membalas.