Salary Calculator
Performance dahulu. Cap dari gross awal. Setiap komponen current menjadi minimum preview.
Current salary package
01 / INPUTRupiah bulat per bulan. CURRENT tidak menambah Retention sebagai komponen terpisah: bagian Retention dari sisa increment masuk seluruhnya ke Basic. V3 tidak mengonversi Retention lama secara otomatis.
Increment & promotion
02 / CHANGEPromosi maupun nonpromosi: Transport/Jabatan = max(current, standar level). Redistribusi hanya menggunakan kenaikan Performance baru; existing tidak dipotong. Selisih budget level ditampilkan untuk review, bukan otomatis disetujui.
Allocation method
CURRENT ONLYPerformance room = max(0, cap - current Performance)
2. Increment Performance = min(increment, room)
3. Seluruh sisa increment → Basic salary
Split konseptual 50/50 tidak menambah Retention terpisah. Kedua bagiannya berakhir di Basic.
Tidak ada pilihan All to basic, 70/30 noncompliant, atau 30/70 promotion sebagai metode default. Itu bukan metode CURRENT.
Compensation preview
GROSS / SIMULASICurrent vs. proposed
| Component | Current | Proposed |
|---|
Increment distribution - tahap awal
Rekonsiliasi total
Policy & source checks
REVIEWBatas 20%/40% di sini adalah aturan bisnis README, bukan sertifikasi kepatuhan hukum. Tidak menghitung pajak, BPJS atau take-home pay.
Jejak perhitungan
Settings
Edit nilai tanpa mengubah kode. Perubahan hanya berlaku di browser ini.
Level standards
README DEFAULTSAngka metode CURRENT
No Reduction selalu aktif.Perubahan cap, import JSON, atau reset tidak menonaktifkan minimum current. Konflik existing vs cap ditandai, bukan dipotong.
Angka yang diubah dari 20/40/70/20 ditandai sebagai pengaturan lokal berbeda dari README. Sisa increment tetap seluruhnya ke Basic.
Konfirmasi aturan ambigu
TIDAK DITEBAKPemilihan di sini adalah keputusan kebijakan eksplisit. Saat cap tidak bisa dipenuhi tanpa pemotongan tunjangan yang tidak dijelaskan sumber, aplikasi memberi flag, bukan menciptakan formula pemotongan baru.
Metode & penyimpanan
Perubahan di satu komputer tidak otomatis berlaku di komputer lain. Jangan menganggap halaman Settings ini admin-only.
Data versi lama
Settings dan skenario v1/v2 dibiarkan utuh pada origin yang sama, tetapi tidak dimuat sebagai formula v3. Tidak ada penghapusan otomatis. Komponen Retention/fixed/variable lama tidak dipetakan sembarangan ke README.
Data hanya bisa dibaca dari browser dan domain tempat data tersebut dahulu disimpan.
Batas verifikasi manual
README menyatakan remaining increment dibagi ke komponen yang tidak diubah, tetapi juga memberikan contoh potongan dan alokasi 60/40 tanpa algoritme lengkap. Karena itu, editor proposed adalah manual preview. Angka dikunci, selisih total ditampilkan, dan status tetap perlu review. Tidak diklaim identik dengan auto-readjustment Genspark.
Skenario tersimpan
Hasil dan settings disimpan bersama. Membuka skenario tidak menghitung ulang diam-diam.
Audit README Genspark
Metode CURRENT dipisahkan dari Legacy, tambahan v2, dan bagian sumber yang belum lengkap.
| Area | Acuan README | V3 / batas verifikasi |
|---|
Uji contoh pada engine di halaman ini
Jalankan uji untuk membandingkan hasil yang dihitung dengan nilai ekspektasi. Uji lebih luas tersedia pada tests.cjs dalam ZIP.
Konflik angka yang tidak boleh ditutupi
Contoh menaikkan Basic +Rp1.000.000 sambil memotong Transport Rp350.000, Jabatan Rp360.000, dan Performance Rp300.000 menghasilkan total turun Rp10.000, bukan net nol. Pada redistribusi level, +Rp450.000 tunjangan - Rp315.000 Performance + Rp90.000 Basic menghasilkan tambahan gross Rp225.000 di luar increment. V3.1 tetap mencatat persentase README, tetapi mengikuti instruksi pengguna: potongan tidak boleh menembus minimum current. Jika hanya Rp0 Performance baru tersedia, contoh promosi memberi net +Rp540.000 (+Rp450.000 tunjangan +Rp90.000 Basic); selisih proteksi Rp315.000 ditampilkan untuk review anggaran. Angka bukan approval otomatis.