You are on page 1of 5

Ujian Tengah Semester Ganjil

Pemprograman SQL
Dosen:
Ariawan D Rachmanto

Disusun Oleh:
Nama : Muhammad Adnan
NIM : 55201121030

FAKULTAS ILMU KOMPUTER DAN INFORMATIKA


PROGRAM STUDI TEKNIK INFORMATIKA
UNIVERSITAS NURTANIO BANDUNG
TAHUN 2022
1. Query persoalan setiap 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 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;

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;

Lalu Ke SQL lagi :


CALL SP_tb_pot_agama();

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 ;

You might also like