logo

Crowdly

Digitaro adalah perusahaan fintech yang menerapkan sistem insentif otomatis berb...

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

Digitaro adalah perusahaan fintech yang menerapkan sistem insentif otomatis berbasis jam kerja dan performa. Sistem mereka sangat tergantung pada trigger dan stored procedure yang kompleks, dengan skenario sebagai berikut:

  • Tabel employee memiliki kolom: ssn, name, salary, bonus, total_hours_project, dan performance_grade.
  • Tabel works_on memiliki kolom: essn, project_id, hours.
  • Setiap kali jam kerja dimasukkan, total_hours_project diperbarui otomatis.
  • Jika total_hours_project > 200, maka bonus otomatis diberikan sebesar 20% dari gaji pokok.
  • Jika performance_grade diubah menjadi "A", maka stored procedure akan memanggil prosedur pemberian bonus tambahan.
  • Terdapat trigger untuk menolak semua insert/update yang menyebabkan salary + bonus > 1.5 * (salary supervisor).

Jika terdapat trigger:

CREATE TRIGGER check_performance BEFORE UPDATE ON employee

FOR EACH ROW

WHEN (NEW.performance_grade = 'A')

EXECUTE FUNCTION bonus_check();

Dan terdapat function dengan nama bonus_check(), di mana dalamnya seperti ini:

IF NEW.bonus > 0 AND OLD.bonus = 0 THEN

RAISE EXCEPTION 'Bonus manipulation detected!';

END IF;

Apa potensi masalah yang terjadi dari kode diatas?

100%
0%
0%
0%
More questions like this

Want instant access to all verified answers on scele.cs.ui.ac.id?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!