Beberapa hari yang lalu, ada seseorang yang minta dibuatkan aplikasi penilaian karyawan sederhana. Padahal! Saat itu, aku tidak memiliki gambaran sama sekali mengenai aplikasi penilaian karyawan. Jangankan membayangkan flow-nya, membayangkan penggunaannya saja masih belum bisa. Ia sedikit menjelaskan mengenai aplikasi macam apa yang ingin dibuatnya. Hanya saja, aku tetap belum paham.
Kerena tidak paham, aku kemudian browsing untuk mencari beberapa referensi terkait aplikasi penilaian karyawan. Setelah mendapat sedikit gambaran, akhirnya aku memulai membuat project dengan flow yang sangat sederhana.
Tabel Data Aplikasi Penilaian Karyawan
Aplikasi penilaian karyawan yang kubuat kemarin menggunakan 4 (empat) table, yaitu: users, criteria, employments, dan reports.
Tabel users digunakan untuk menyimpan data pengguna aplikasi, table criteria digunakan untuk menyimpan kriteria penilaian, table employements digunakan untuk menyimpan data karyawan yang dinilai, table reports digunakan untuk menyimpan data penilaian.
Desain Tabel users
Tabel users berisi 3 (tiga) kolom, yaitu: id, username, displayname, dan password.
Id | username | displayname | password |
1 | admin | Admin 1 | admin1 |
2 | staff | Staff 1 | staff1 |
select * from users |
Desain Tabel criteria
Tabel criteria berisi 3 (tiga) kolom, yaitu: id, name, dan weight. Kolom ide digunakan untuk menyimpan ide kriteria, kolom name digunakan untuk menyimpan nama kriteria, dan kolom weight digunakan untuk menyimpan bobot nilai kriteria.
Id | name | weight |
1 | Pencapaian Target | 3 |
2 | Usia | 1 |
select * from criteria |
Desain Tabel employments
Tabel employments hanya berisi 2 (dua) kolom saja, yaitu kolom ide dan name. Kolom id digunakan untuk menandai isian di record reports.
Id | name |
1 | Ahmad Budairi |
2 | Widi Utami |
select * from employments |
Desain Tabel reports
Tabel reports berisi 4 (empat) kolom, yaitu, id, employers, criteria, dan value. Kolom id digunakan untuk id penilaian yang dibuat otomatis bertambah (auto increment), kolom employers digunakan untuk menyimpan id karyawan yang dinilai, kolom criteria digunakan untuk menyimpan id kriteria, dan tabel value digunakan untuk menyimpan nilai yang dimasukkan oleh pengguna aplikasi.
Id | employers | criteria | value |
1 | 1 | 1 | 10 |
2 | 1 | 2 | 6 |
3 | 2 | 1 | 5 |
4 | 2 | 2 | 26 |
select * from reports |
Output Penilaian Karyawan
Sesuai permintaan, aplikasi bisa menentukan 3 (tiga) karyawan yang memiliki nilai tertinggi. Untuk mendapatkan nilai total masing-masing karyawan, aku menggunakan rumus sebagai berikut:
Setelah semua nilai karyawan dijumlah kemudian disortir secara descending (menurun) dan diambil 3 karyawan paling atas. Begitulah rancangan aplikasi penilaian karyawan sederhana dan kemudian kubuat menggunakan PDO dan MySql.