Skip to content

Feat/detail statistik jaminan sosial#1030

Merged
affandii06 merged 6 commits into
rilis-devfrom
feat/detail_statistik_jaminan_sosial
May 8, 2026
Merged

Feat/detail statistik jaminan sosial#1030
affandii06 merged 6 commits into
rilis-devfrom
feat/detail_statistik_jaminan_sosial

Conversation

@pandigresik
Copy link
Copy Markdown
Contributor

Pull Request: Feature: Detail Statistik Jaminan Sosial

Deskripsi

Menambahkan fitur detail data pada halaman statistik jaminan sosial untuk memungkinkan pengguna melihat data individu dari kategori statistik yang dipilih. Fitur ini mengintegrasikan API eksternal untuk mengambil data detail dan menampilkannya dalam format tabel yang dapat difilter berdasarkan tahun.

Depedenccy

https://github.com/OpenSID/API-Database-Gabungan/pull/397

Perubahan yang dilakukan:

  1. New Controller: Membuat DataPresisiJaminanSosialController untuk menangani logika detail data jaminan sosial dengan sanitasi input dan parameter filtering
  2. Updated Controller: Mengupdate StatistikJaminanSosialController untuk mengubah detail link dari URL kosong ke endpoint detail data baru
  3. New View: Membuat template Blade detail_data.blade.php untuk menampilkan tabel detail data dengan DataTable, filter tahun, dan integrasi API
  4. Updated View: Meningkatkan statistik-jaminan-sosial.blade.php dengan JavaScript yang lebih robust untuk handling link detail, filter parameters, dan state management
  5. New Route: Menambahkan route /data-presisi/jaminan-sosial/detail_data dengan middleware permission yang sesuai
  6. New Test: Membuat unit test DataPresisiJaminanSosialControllerTest untuk memverifikasi behavior controller dengan berbagai parameter input

Alasan perubahan:

  • Akses Detail Data: Statistik agregat membutuhkan kemampuan untuk drill-down ke data individu untuk analisis yang lebih mendalam
  • User Experience: Pengguna dapat langsung mengakses data spesifik dari kategori statistik tanpa navigasi tambahan
  • Data Integrity: Implementasi sanitasi input dan filtering yang aman untuk mencegah XSS dan memastikan data yang valid
  • API Integration: Integrasi dengan API gabungan untuk konsistensi data lintas sistem

Dampak perubahan:

Fungsionalitas Baru: Pengguna dapat melihat detail individu dari data statistik jaminan sosial
Performance: Penggunaan DataTable dengan server-side processing untuk handling data besar secara efisien
Security: Sanitasi input dan validasi parameter untuk mencegah vulnerability
Maintainability: Kode terstruktur dengan separation of concerns antara controller, view, dan route

Masalah Terkait (Related Issue)

#999

Langkah untuk mereproduksi (Steps to Reproduce)

Sebelum perbaikan (masalah):

  1. Akses halaman statistik jaminan sosial
  2. Klik pada nilai kategori statistik
  3. Link tidak mengarah ke halaman detail data
  4. ❌ Tidak dapat melihat data individu dari kategori statistik

Setelah perbaikan (fix):

  1. Akses halaman statistik jaminan sosial
  2. Klik pada nilai kategori statistik (kecuali JUMLAH/TOTAL)
  3. Link mengarah ke halaman detail data baru
  4. Pilih filter tahun jika diperlukan
  5. ✅ Data individu ditampilkan dalam tabel dengan informasi lengkap (NIK, KK, Nama, dll.)

Testing pada fitur lain yang terkait:

  • Halaman statistik utama ✅ Tetap berfungsi normal
  • Filter tahun ✅ Bekerja pada kedua halaman
  • Export Excel ✅ Tidak terpengaruh
  • Grafik dan Chart ✅ Tetap dapat ditampilkan

Daftar Periksa (Checklist)

  • Saya telah mematuhi aturan penulisan script.
  • Saya telah mengikuti proses review pull request.
  • Saya telah membuat [unit test/integration test] untuk memverifikasi perbaikan
  • Testing manual telah dilakukan di environment development
  • Tidak ada console error atau warning
  • Code sudah di-review oleh [minimal 1 orang]

Teknis Detail

Penjelasan Teknis

Fitur menggunakan arsitektur MVC dengan controller untuk business logic, view untuk presentation, dan route untuk URL mapping. Data diambil dari API eksternal melalui AJAX dengan authentication header. DataTable digunakan untuk pagination dan sorting client-side.

Konfigurasi yang berubah

Tidak ada perubahan konfigurasi

Dependencies yang ditambahkan

Tidak ada dependencies baru

Testing

Manual Testing

  • Akses halaman detail tanpa parameter - menampilkan tabel kosong dengan filter
  • Akses dengan parameter judul - title tersanitasi dan ditampilkan
  • Akses dengan filter tipe:nilai - parameter dikirim ke API dengan benar
  • Filter tahun berfungsi untuk memuat ulang data
  • Link dari statistik utama mengarah ke detail dengan parameter yang benar
  • Regression Testing - fitur statistik yang sudah ada tidak rusak

Automated Testing

  • Unit Test - DataPresisiJaminanSosialControllerTest untuk berbagai skenario input
  • Integration Test - Verifikasi response view dan data yang dikirim
  • Route Test - Verifikasi route terdaftar dengan middleware yang benar

Screenshots / Video

image

Sebelum:

Link pada nilai statistik tidak mengarah ke halaman detail (URL kosong atau tidak valid)

Sesudah:

Link pada nilai statistik mengarah ke halaman detail dengan tabel data individu, filter tahun, dan parameter filtering yang sesuai

Breaking Changes

Tidak ada breaking changes - fitur ini menambahkan fungsionalitas baru tanpa mengubah behavior existing

Migration Guide

Tidak diperlukan - ini adalah penambahan fitur baru

References


@pandigresik pandigresik requested a review from affandii06 May 6, 2026 03:26
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 6, 2026

🔄 AI PR Review sedang antri di server...

Proses review akan segera dimulai di background — hasil akan muncul sebagai komentar setelah selesai.
Powered by CrewAI · PR #1030

@habibie11
Copy link
Copy Markdown
Contributor

OK

@affandii06 affandii06 merged commit 0ba4167 into rilis-dev May 8, 2026
@affandii06 affandii06 deleted the feat/detail_statistik_jaminan_sosial branch May 8, 2026 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants