FULL STACK ASSIGNMENT
Hal paling penting
adalah struktur dan bagaimana penerapan clean code dan bagaimana code dapat
dimaintain. Waktu pengerjaan maksimal 6 jam setelah test diterima, soal adalah
hak cipta PT. AZLogistik Dot Com. Dilarang memberikan soal ini pada orang lain.
Semua coding dibuat menggunakan PHP native, rekomendasi PHP7
dan menggunakan database mysql. Jangan lupa untuk menyertakan file sql ketika
pengumpulan hasil coding.
1. Suatu perusahaan
memiliki standard perhitungan gaji setiap karyawan dengan perincian sebagai
berikut:
·
Gaji total = Gaji pokok + Uang kehadiran
·
Gaji pokok karyawan sebesar Rp.4.800.000 jika Anda
golongan karyawan A, Rp.5.550.000 jika Anda golongan karyawan B, dan
Rp.6.400.000 jika Anda golongan karyawan C
·
Uang kehadiran setiap karyawan sebesar Rp.50.000 jika
Anda golongan karyawan A, Rp.100.000 jika Anda golongan karyawan B dan
Rp.150.000 jika Anda golongan karywan C
·
1 bulan hari kerja efektif adalah 22 hari
·
1 hari kerja adalah 8.5 jam
·
Jika karyawan memiliki jatah cuti maka gaji pokok diterima
utuh akan tetapi uang kehadiran tidak diperoleh sebesar ketentuan per kehadiran
pada poin 3
·
Jika karyawan tidak memiliki jatah cuti maka gaji pokok
dipotong sebesar gaji pokok sesuai golongan karyawan dibagi 1 bulan hari kerja
efektif per hari, disamping itu uang kehadiran tidak diperoleh sebesar
ketentuan per kehadiran pada poin 3
·
Ketentuan uang lembur dihitung per jam bedasarkan gaji pokok
dibagi (1 hari kerja * 1 bulan hari kerja efektif)
·
Hasil dari uang lembur dan uang potongan yang sudah dibabarkan
pada poin ke 6 dan 7 dibulatkan ke bawah 3 digit dari belakang
Buatlah sistem penggajian hasil perolehan gaji karyawan
menggunakan bahasa pemrograman PHP dengan struktur tabel master karyawan
dan relasi ke tabel master golongan dengan relasi one to one antara
master karyawan dan master golongan. Buat inputan nama karyawan berupa dropdown
master dari DB dengan struktur yang disesuaikan dengan keperluan sistem, jumlah
kehadiran dalam bulan ini berupa textbox only number, dan jam lembur dalam
bulan ini berupa textbox only number, sebagai contoh data:
Nama Karyawan |
Jumlah Kehadiran |
Jumlah Cuti |
Jam Lembur (1
bulan) dalam jam |
Hasil THP |
Trindy [gol B] |
21 |
8 |
3 |
7.737.000 |
Nola [gol C] |
20 |
0 |
7 |
9.058.000 |
Meilysa [gol A] |
22 |
3 |
2 |
5.950.000 |
(poin 0-40 BACKEND:40)
2. Buatlah tampilan
semirip mungkin dengan design figma dibawah. Selama mengerjakan tes ini,
kandidat diperbolehkan membuka google (open source) dalam pengerjaannya.
Kandidat diminta untuk daftar figma H-1 dan login di figma untuk mengambil
asset dan ukuran tampilannya. Hanya boleh menggunakan php murni, css murni
tanpa bootstrap. Buat lah dengan ukuran yang sesuai dengan figmanya. Tampilan
dibuat dalam bentuk fixed desktop. Berikut kami lampirkan figmannya: https://www.figma.com/file/q8kYL34fa4JuDr4K5cqeVl/Travel (Point 0-30 FRONTEND:30)
3. Buatlah slip gaji lanjutan
dari soal nomor 1 sesuai dengan format berikut dan berikan desain pada slip gaji
seperti tampilan dibawah dengan hasil THP memiliki fungsi terbilang seperti
pada contoh :
Angka = 9.058.000
Terbilang = Sembilan juta lima puluh delapan ribu
rupiah.
Counted = Nine million fifty eight thousand.
Buatlah slip gaji
tersebut dalam bentuk halaman web yang menginputkan nama karyawan berupa
dropdown, ketika menekan tombol submit maka akan menampilkan slip gaji karyawan
yang dipilih sesuai dengan nominal Gaji Pokok, Uang Kehadiran, Uang Lembur, dan
Potongan Absen sesuai dengan perhitungan THP tiap karyawan. Logo dapat diambil
di link berikut http://157.245.53.233/teknikal/fullstack/AZLogistik.jpg
Angka- angka pada format diatas hanyalah contoh tampilan, bukan bedasarkan
angka perhitungan sebenarnya. (Point 0 -30
BACKEND:15 FRONTEND:15)