Professional Documents
Culture Documents
UTS - Pemprograman Muhammad Adnan-55201121030
UTS - Pemprograman Muhammad Adnan-55201121030
Pemprograman SQL
Dosen:
Ariawan D Rachmanto
Disusun Oleh:
Nama : Muhammad Adnan
NIM : 55201121030
Hasil:
2. Store Procedure menyimpan tb_pot_agama
DELIMITER $$
CREATE PROCEDURE SP_tb_pot_agama()
SELECT tb_pot_agama.nik,tb_pot_agama.nama_karyawan,tb_pot_agama.agama,
tb_pot_agama.golongan,tb_pot_agama.gaji_pokok,tb_pegawai.kd_status_kary,
pot_agama,
@upah_pokok:=(tb_pot_agama.gaji_pokok - (0.05*tb_pot_agama.gaji_pokok))
as upah_pokok,
(CASE
WHEN (tb_pot_agama.agama ="Islam") then (0.05*tb_pot_agama.gaji_pokok)
ELSE 0
END) as pot_persen_agama,
(CASE
WHEN(tb_pegawai.kd_status_kary = "1") then(@upah_pokok*10/100)
ELSE 0
END) AS tunj_keluarga
from tb_pot_agama INNER JOIN tb_pegawai
ON tb_pot_agama.nik = tb_pegawai.nik JOIN tb_agama
ON tb_pegawai.kd_Agama = tb_agama.kd_Agama JOIN tb_gaji
ON tb_pegawai.golongan = tb_gaji.golongan JOIN tb_stperkawinan
ON tb_pegawai.kd_status_kary=tb_stperkawinan.kd_status_kary;
$$
DELIMITER;
Hasilnya:
3. Query Menghitung Jumlah Upah:
SELECT tb_pot_agama.nik,tb_pot_agama.nama_karyawan,tb_pot_agama.agama,
tb_pot_agama.golongan,tb_pot_agama.gaji_pokok,tb_pegawai.kd_status_kary,
pot_agama,
@upah_pokok:=(tb_pot_agama.gaji_pokok - (0.05*tb_pot_agama.gaji_pokok))
as upah_pokok,
(CASE
WHEN (tb_pot_agama.agama ="Islam") then(0.05*tb_pot_agama.gaji_pokok)
ELSE 0
END) as pot_persen_agama,
(CASE
WHEN (tb_pegawai.kd_status_kary = "1") then(@upah_pokok*10/100)
ELSE 0
END)AS tunj_keluarga,
SUM(@upah_pokok+tb_pot_agama.pot_agama) as Total_gaji
from tb_pot_agama JOIN tb_pegawai ON tb_pot_agama.nik = tb_pegawai.nik
JOIN tb_agama ON tb_pegawai.kd_Agama = tb_agama.kd_Agama
JOIN tb_gaji ON tb_pegawai.golongan = tb_gaji.golongan
JOIN tb_stperkawinan ON tb_pegawai.kd_status_kary=tb_stperkawinan.kd_status_kary;
Hasilnya:
4. Store Procedur untuk Menyimpan persoalan tb_upah_dibayar
DELIMITER $$
CREATE PROCEDURE SP_tb_upah_dibayar()
SELECT
tb_pot_agama.nik,tb_pot_agama.nama_karyawan,tb_pot_agama.agama,tb_pot_agama.go
longan,tb_pot_agama.gaji_pokok,tb_pegawai.kd_status_kary,pot_agama,@upah_pokok:
=(tb_pot_agama.gaji_pokok - (0.05*tb_pot_agama.gaji_pokok)) as upah_total,
(CASE
WHEN (tb_pot_agama.agama ="Islam") then(0.05*tb_pot_agama.gaji_pokok)
ELSE 0
END) as pot_persen_agama,
(CASE
WHEN (tb_pot_agama.agama ="kristen katholik")
then(0.05*tb_pot_agama.gaji_pokok)
ELSE 0
END) as pot_persen_agama,
(CASE
WHEN (tb_pot_agama.agama ="kristen Protestan")
then(0.05*tb_pot_agama.gaji_pokok)
ELSE 0
END) as pot_persen_agama,
(CASE
WHEN(tb_pegawai.kd_status_kary = "1") then(@upah_pokok*10/100)
ELSE 0
END)AS tunj_keluarga, SUM(@upah_pokok+tb_pot_agama.pot_agama) as Total_gaji
from tb_pot_agama JOIN tb_pegawai ON tb_pot_agama.nik = tb_pegawai.nik JOIN
tb_agama ON tb_pegawai.kd_Agama = tb_agama.kd_Agama JOIN tb_gaji ON
tb_pegawai.golongan = tb_gaji.golongan JOIN tb_stperkawinan ON
tb_pegawai.kd_status_kary=tb_stperkawinan.kd_status_kary$$
DELIMITER ;