Skip to content

feat: detail statistik seni#1036

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

feat: detail statistik seni#1036
affandii06 merged 6 commits into
rilis-devfrom
feat/detail_statistik_seni

Conversation

@pandigresik
Copy link
Copy Markdown
Contributor

Pull Request: Feature: Detail Statistik Seni Budaya

Deskripsi

Menambahkan fitur detail data pada halaman statistik seni budaya 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.

Dependency

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

Perubahan yang dilakukan:

1. New Request Class: DetailDataPresisiSeniBudayaRequest.php

2. Updated Controller: DataPresisiSeniBudayaController.php

  • Menambahkan method detailData() dengan:
    • Return type : View
    • Sanitasi input judul menggunakan htmlspecialchars(strip_tags())
    • Logic khusus untuk filter jenis_seni_yang_dikuasai yang menambahkan suffix .sub_jenis_seni
  • Menambahkan return type : View dan docblock pada method existing (index, detail, cetak)

3. New View: detail_data.blade.php

  • Membuat template Blade untuk menampilkan tabel detail data
  • Menggunakan DataTable dengan server-side processing
  • Filter tahun untuk memuat data berdasarkan tahun
  • Integrasi API endpoint /api/v1/data-presisi/seni-budaya
  • Kolom yang ditampilkan: NIK, NOMOR KK, NAMA, JENIS SENI YANG DIKUASAI, JUMLAH PENGHASILAN DARI SENI, TANGGAL PENGISIAN, STATUS PENGISIAN

4. Updated Controller: StatistikSenibudayaController.php

  • Mengubah detailLink dari url('') menjadi url('data-presisi/seni-budaya/detail_data')
  • Menambahkan return type : View dan docblock

5. Updated View: senibudaya.blade.php

  • Menambahkan variabel tipeValue dan judulUtama untuk tracking kategori aktif
  • Mengubah cara passing parameter ke halaman detail:
    • Menggunakan filter[nilai] dengan nilai_db dari API response
    • Menggunakan filter[tipe] dengan tipeValue
    • Menggunakan filterTahun daripada $('#filter-tahun') untuk konsistensi
  • Link detail sekarang berfungsi pada kolom Nilai dan Jumlah (kecuali JUMLAH/BELUM MENGISI/TOTAL)
  • Penyesuaian formatting kode (indentation dari 4 space menjadi 2 space)

6. New Route: web.php

  • Menambahkan route /data-presisi/seni-budaya/detail_data dengan middleware permission

7. New Test: DataPresisiSeniBudayaControllerTest.php

  • 8 test case untuk memverifikasi behavior controller
  • Menguji: index view, detailData tanpa filter, detailData dengan filter, filter khusus jenis_seni, partial filter, XSS sanitization

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
  • Konsistensi dengan Fitur Serupa: Mengikuti pola yang sama dengan PR Feat/detail statistik jaminan sosial #1030 (Detail Jaminan Sosial) untuk konsistensi UI/UX

Dampak perubahan:

  • Fungsionalitas Baru: Pengguna dapat melihat detail individu dari data statistik seni budaya
  • 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)

Steps to Reproduce

Sebelum perbaikan (masalah):

  1. Akses halaman statistik seni budaya (/data-presisi/statistik/senibudaya)
  2. Klik pada nilai kategori statistik
  3. Link tidak mengarah ke halaman detail data
  4. Tidak dapat melihat data individu dari kategori statistik

Sesudah perbaikan (fix):

  1. Akses halaman statistik seni budaya
  2. Klik pada nilai kategori statistik (kecuali JUMLAH/BELUM MENGISI/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, Jenis Seni, Penghasilan, dll.)

Testing Checklist

Manual Testing

  • Akses halaman statistik seni budaya tanpa error
  • Klik pada kategori di sidebar navigasi - data berubah sesuai kategori
  • Klik pada nilai (kolom Nilai) - mengarah ke halaman detail dengan parameter benar
  • Klik pada jumlah (kolom Jumlah) - mengarah ke halaman detail dengan parameter benar
  • Filter tahun berfungsi pada halaman statistik
  • Filter tahun berfungsi pada halaman detail data
  • Link kembali dari detail ke statistik berfungsi
  • Export Excel pada halaman statistik berfungsi
  • Grafik dan Chart ditampilkan dengan benar

Regression Testing

  • Halaman data utama seni budaya (/data-presisi/seni-budaya) tetap berfungsi
  • Halaman cetak berfungsi
  • Tidak ada console error atau warning

Automated Testing

  • Unit test DataPresisiSeniBudayaControllerTest passing (8 tests)
  • Integration test untuk route

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 server-side.

Screenshot

image

Konfigurasi yang berubah

Tidak ada perubahan konfigurasi

Dependencies yang ditambahkan

Tidak ada dependencies baru

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 7, 2026 02:53
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 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 #1036

@affandii06 affandii06 added this to the M2 OpenKab 2606 milestone May 8, 2026
@habibie11
Copy link
Copy Markdown
Contributor

habibie11 commented May 8, 2026

cek mas @pandigresik ketika klik data detail statistik dari kolom jumlah, judulnya tidak tampil.
sedangkan jika dari kolom nilai judulnya tampil.

image dari kolom jumlah image

dari kolom nilai
image

@pandigresik
Copy link
Copy Markdown
Contributor Author

OpenSID/API-Database-Gabungan#399

sudah gunakan https://github.com/OpenSID/API-Database-Gabungan/pull/399 ?

@habibie11
Copy link
Copy Markdown
Contributor

@pandigresik
Copy link
Copy Markdown
Contributor Author

aman saja

simplescreenrecorder-2026-05-08_10.35.19.mp4

@habibie11
Copy link
Copy Markdown
Contributor

OKE

@affandii06 affandii06 merged commit 717e3a1 into rilis-dev May 8, 2026
@affandii06 affandii06 deleted the feat/detail_statistik_seni branch May 8, 2026 09:20
affandii06 added a commit that referenced this pull request May 22, 2026
* Fix/detail statistik pangan tidak tampil (#989)

* fix: data detail statistik tidak tampil

* fix: perbaikan detail presisi statistik pangan

* fix: perbaikan detail presisi statistik pangan

* Tambahkan test

* hapus

* fix: tambahkan link detail untuk belum mengisi, jumlah dan total agar seragam

* perbaikan judul

* perbaikan filter tahun

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Feat: detail statistik presisi sandang (#1014)

* fix: data detail statistik tidak tampil

* fix: perbaikan detail presisi statistik pangan

* fix: perbaikan detail presisi statistik pangan

* Tambahkan test

* hapus

* fix: tambahkan link detail untuk belum mengisi, jumlah dan total agar seragam

* feat: detail statistik sandang

* perbaikan sesuai rekomendasi AI review

* perbaiki test

* perbaikan judul

* perbaikan test

* perbaikan filter tahun

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request Feat: detail statistik papan (#1016)

* simpan dulu

* feat: detail presisi papan

* tambahkan test

* perbaikan mengikuti rekomendasi AI review

* perbaikan filter tahun

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: detail statistik pendidikan (#1017)

* feat: detail statistik pendidikan

* perbaikan sesuai rekomendasi AI review

* perbaikan test

* perbaikan filter tahun

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Feat: detail statistik ketenagakeerjaan (#1019)

* simpan dulu

* feat: detail  statistik ketenagakerjaan

* perbaikan filter tahun

* perbaikan filter tahun

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: detail statistik keagamaan (#1020)

* feat: detail statistik keagamaan

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From fix: tinymce pada artikel (#1022)

* fix: tinymce pada artikel

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From fix: error ketika halaman login menampilkan captcha (#1024)

* fix: error ketika halaman login menampilkan captcha

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Validasi kategori artikel ketika membuat artikel baru (#1027)

* validasi kategori artikel ketika membuat artikel baru

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Fix: ijinkan upload video pada tinymce (#1029)

* fix: tinymce pada artikel

* fix: ijinkan upload video pada tinymce

* allow tag video

* perbaikan config

* upgrade versi tinymce

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Perbaiki tekan enter di form kategori membuat refresh halaman (#1028)

* perbaiki tekan enter membuat refresh halaman

* sesuaikan label aksi tertukar di tabel kategori

* perbaiki tombol simpan melalui cursor

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From Validasi kategori artikel ketika membuat artikel cms baru (#1035)

* Validasi kategori artikel ketika membuat artikel cms baru

* test

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Feat/detail statistik jaminan sosial (#1030)

* feat: Detail statistik Jaminan Sosial

* simpan dulu

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: detail statistik kesehatan (#1034)

* feat: detail kesehatan

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: detail statistik seni (#1036)

* feat: detail statistik seni

* perbaikan judul

* tambahkan judul

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From fix: gambar logo desa pada website desa aktif (#1038)

* fix: gambar logo desa pada website desa aktif

* fix: gambar logo desa pada website desa aktif

* ikuti rekomendasi AI review

* perbaiki test

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From fix: perbaikan tampilan website ketika slider belum diisi (#1040)

* fix: perbaikan tampilan website ketika slider belum diisi

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* Merge Pull Request From feat: datatable debounce (#1042)

* feat: datatable debounce

* [ci skip] memutahirkan catatan rilis

---------

Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>

* rilis v2605.0.1

---------

Co-authored-by: ahmad afandi <ahmad.afandi85@gmail.com>
Co-authored-by: Ahmad Affandi <caspianp98@yahoo.com>
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