Study Case Menganalisis Tren Turnover Karyawan dalam Perusahaan di MySQL
Tutorial ini membahas cara menganalisis tren turnover karyawan menggunakan MySQL. Analisis turnover membantu perusahaan memahami tingkat keluar-masuknya karyawan dalam periode tertentu, yang dapat digunakan untuk meningkatkan strategi retensi.
Langkah-langkah
1. Persiapan Database dan Tabel
Buat tabel bernama karyawan_turnover untuk menyimpan data karyawan yang bergabung dan keluar dari perusahaan.
Query Membuat Tabel:
CREATE TABLE karyawan_turnover (
id_karyawan INT PRIMARY KEY AUTO_INCREMENT,
nama_karyawan VARCHAR(100) NOT NULL,
tanggal_masuk DATE NOT NULL,
tanggal_keluar DATE NULL
);
Penjelasan Kolom:
id_karyawan: ID unik untuk setiap karyawan.
nama_karyawan: Nama karyawan.
tanggal_masuk: Tanggal karyawan mulai bekerja.
tanggal_keluar: Tanggal karyawan berhenti bekerja. Jika NULL, karyawan masih aktif.
2. Memasukkan Contoh Data
Tambahkan data ke tabel untuk simulasi.
Query Menambahkan Data:
INSERT INTO karyawan_turnover (nama_karyawan, tanggal_masuk, tanggal_keluar)
VALUES
('Andi', '2023-01-01', '2023-12-31'),
('Budi', '2023-02-15', NULL),
('Citra', '2023-03-01', '2023-09-30'),
('Dewi', '2023-05-01', '2023-10-15'),
('Eka', '2023-06-01', NULL);
Data pada Tabel:
3. Menghitung Jumlah Karyawan yang Masuk dan Keluar per Bulan
Gunakan fungsi COUNT untuk menghitung jumlah karyawan yang bergabung dan keluar setiap bulan.
Query SQL:
SELECT
DATE_FORMAT(tanggal_masuk, '%Y-%m') AS bulan,
COUNT(*) AS karyawan_masuk
FROM
karyawan_turnover
GROUP BY
bulan
UNION ALL
SELECT
DATE_FORMAT(tanggal_keluar, '%Y-%m') AS bulan,
COUNT(*) AS karyawan_keluar
FROM
karyawan_turnover
WHERE
tanggal_keluar IS NOT NULL
GROUP BY
bulan;
Penjelasan Query:
DATE_FORMAT(tanggal_masuk, '%Y-%m'): Mengelompokkan data berdasarkan bulan dan tahun.
COUNT(*): Menghitung jumlah karyawan yang masuk atau keluar.
UNION ALL: Menggabungkan hasil masuk dan keluar menjadi satu laporan.
WHERE tanggal_keluar IS NOT NULL: Hanya menghitung karyawan yang sudah keluar.
Hasil Query:
4. Menganalisis Tingkat Turnover per Bulan
Untuk menghitung tingkat turnover, gunakan formula:
Tingkat Turnover (%) = (Jumlah Karyawan Keluar / Total Karyawan Awal Bulan) × 100
Query SQL:
WITH masuk AS (
SELECT
DATE_FORMAT(tanggal_masuk, '%Y-%m') AS bulan,
COUNT(*) AS karyawan_masuk
FROM
karyawan_turnover
GROUP BY
bulan
),
keluar AS (
SELECT
DATE_FORMAT(tanggal_keluar, '%Y-%m') AS bulan,
COUNT(*) AS karyawan_keluar
FROM
karyawan_turnover
WHERE
tanggal_keluar IS NOT NULL
GROUP BY
bulan
),
turnover AS (
SELECT
m.bulan,
m.karyawan_masuk,
COALESCE(k.karyawan_keluar, 0) AS karyawan_keluar
FROM
masuk m
LEFT JOIN
keluar k
ON
m.bulan = k.bulan
)
SELECT
bulan,
karyawan_masuk,
karyawan_keluar,
ROUND((karyawan_keluar / (karyawan_masuk + 1)) * 100, 2) AS tingkat_turnover
FROM
turnover;
Penjelasan Query:
CTE masuk: Mengelompokkan jumlah karyawan yang masuk.
CTE keluar: Mengelompokkan jumlah karyawan yang keluar.
LEFT JOIN: Menggabungkan data karyawan masuk dan keluar.
ROUND((karyawan_keluar / (karyawan_masuk + 1)) * 100, 2): Menghitung tingkat turnover.
5. Visualisasi Hasil
Untuk analisis lebih mendalam, hasil query dapat diekspor ke alat visualisasi seperti Excel atau Tableau untuk membuat grafik tren turnover.
Dengan tutorial ini, diharapkan dapat:
- Menghitung jumlah karyawan yang masuk dan keluar per bulan.
- Menganalisis tingkat turnover.
- Mengidentifikasi pola atau tren turnover untuk periode tertentu.
Langkah ini membantu perusahaan mengidentifikasi periode kritis dengan tingkat turnover tinggi dan mengambil tindakan untuk meningkatkan retensi karyawan. Semoga bermanfaat dan mohon maaf jika terdapat kesalahan informasi yang disampaikan.
Comments
Post a Comment