Gaji merujuk pada nilai yang diterima oleh individu atas kontribusinya dalam bekerja. Hal ini mencerminkan penghargaan yang diberikan oleh perusahaan kepada pekerjanya atas upaya, waktu, dan keterampilan yang diinvestasikan dalam menjalankan tugas dan tanggung jawab pekerjaan. Gaji tidak hanya berperan sebagai penghargaan atas kinerja dan dedikasi seorang pekerja, tetapi juga sebagai faktor yang dapat memotivasi dan mendorong produktivitas pekerja. Dalam praktiknya, ada banyak faktor yang mempengaruhi tingkat gaji yang diterima oleh seorang pekerja. Memahami faktor-faktor yang mempengaruhi gaji pekerja merupakan salah satu hal penting untuk diketahui oleh para pelaku kerja maupun calon pekerja. Pemahaman mengenai faktor-faktor yang mempengaruhi tingkat gaji pekerja menjadi krusial bagi individu yang sedang bekerja maupun mereka yang sedang mencari pekerjaan. Dengan memahami faktor-faktor tersebut, individu dapat memiliki ekspektasi yang realistis mengenai tingkat gaji yang dapat mereka peroleh, dan mereka dapat mengembangkan strategi yang sesuai untuk meningkatkan nilai gaji mereka di masa depan.
Dalam studi kasus ini kita akan melakukan pemodelan regresi logistik untuk menganalisis pengaruh bidang pekerjaan, level jabatan, lokasi perusahaan, dan masa kerja terhadap gaji pekerja di Indonesia.
Data yang digunakan dalam penelitian ini diambil dari hasil survei gaji pekerja di Indonesia yang dilakukan oleh HRDbacot DATANYA ADA DISINI
fulldata = read.csv("data_gaji.csv")
fulldatacolnames(fulldata)#> [1] "Bidang.Pekerjaan" "Nama.Posisi" "Level.Jabatan"
#> [4] "Lokasi.Perusahaan" "Rata.rata.Lama.Bekerja" "Median.Gaji"
#> [7] "Rata.rata.Gaji" "Minimum.Gaji" "Maksimum.Gaji"
summary(fulldata$`Minimum.Gaji`)#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 230000 3250000 4500000 4709816 5500000 26200000
unique(fulldata$`Bidang.Pekerjaan`)#> [1] "Account Management -Manajemen akun"
#> [2] "Accounting- Akuntansi"
#> [3] "Administrative Services- Layanan administratif"
#> [4] "Advisory- Penasehat"
#> [5] "Advisory- Penasehat /Konsultan"
#> [6] "Auditing- Audit"
#> [7] "Business Development- Pengembanga n Bisnis"
#> [8] "Compliance- Kepatuhan"
#> [9] "Corporate Affairs/ Communications/Public Relations- Urusan Perusahaan/ Komunikasi/ Hubungan Masyarakat"
#> [10] "Creative- Kreatif"
#> [11] "Credit and Collections- Kredit dan Koleksi"
#> [12] "Customer Service /Customer Support- Layanan Pelanggan /Dukungan Pelanggan"
#> [13] "Data Science and Business Intelligence- Ilmu Data dan Kecerdasan Bisnis"
#> [14] "Design, Animation & Illustration- Desain, Animasi & Ilustrasi"
#> [15] "Digital Marketing- Pemasaran Digital"
#> [16] "Engineering non IT- Teknik non IT"
#> [17] "Environmental Health and Safety- Kesehatan dan Keamanan Lingkungan"
#> [18] "Finance & Tax- Keuangan & Pajak"
#> [19] "Frontliners"
#> [20] "General Affair-Urusan Umum"
#> [21] "Human Resources- Sumber daya manusia"
#> [22] "Information Technology- Teknologi Informasi"
#> [23] "Internal Audit-Audit internal"
#> [24] "Legal-Hukum"
#> [25] "Logistic- Logistik"
#> [26] "Maintenance /Technician- Teknisi perawatan"
#> [27] "Manufacturing Operations- Operasi Manufaktur"
#> [28] "Marketing- Pemasaran"
#> [29] "Medical (Doctor, Nurse)- Medis (Dokter, Perawat)"
#> [30] "Medical Others – Medis Lainnya"
#> [31] "Operations- Operasional"
#> [32] "Other - Lainnya"
#> [33] "PPIC-PPIC"
#> [34] "Product Development - Pengembanga n produk"
#> [35] "Purchasing / Procurement / Buyer- Pembelian / Pengadaan / Pembeli"
#> [36] "Quality Assurance- Kualitas asuransi"
#> [37] "Quality Control- Kontrol kualitas"
#> [38] "Research and Development-Penelitian dan Pengembang an"
#> [39] "Sales- Penjualan"
#> [40] "Social Media & Content Creation- Sosial Media & Pembuatan Konten"
#> [41] "Survey- Survei"
#> [42] "Teaching/ Training- Pengajaran/ Pelatihan"
#> [43] "Technical Service - Layanan Teknis"
#> [44] "Transportati on Services - Layanan transportasi"
#> [45] "Underwriting -Penjaminan"
unique(fulldata$`Level.Jabatan`)#> [1] "Staff/Officer"
#> [2] "Team Leader /Supervisor /Coordinator"
#> [3] "Assistant Manager /Manager"
#> [4] "Intern /Magang"
#> [5] "Staff/Ofiicer"
#> [6] "Staff/Office"
#> [7] "President Director/CEO"
#> [8] "Assistant Manager/Ma nager"
#> [9] "Team Leader /Supervisor/ Coordinator"
unique(fulldata$`Lokasi.Perusahaan`)#> [1] "DKI Jakarta" "Jawa Barat"
#> [3] "Bali" "Banten"
#> [5] "DI Yogyakarta" "Jawa Tengah"
#> [7] "Jawa timur" "Kalimantan Timur"
#> [9] "NTB" "Sulawesi Selatan"
#> [11] "Luar Negeri - Australia" "Luar Negeri - Eropa"
#> [13] "Riau" "Sumatera Utara"
#> [15] "Luar Negeri - Asia"
Dalam konteks data tang akan digunakan dalam eksperimen ini, variabel bidang pekerjaan akan dikelompokkan dalam 3 kelompok berbeda, yakni bidang Manajemen & Administrasi, bidang Layanan & Operasional, dan bidang Teknologi & Pemasaran. Selanjutnya, variabel level jabatan mencakup posisi hierarkis di dalam organisasi perusahaan yang dikelompokkan dalam 3 kategori yakni Low untuk level jabatan rendah, Middle untuk level jabatan menengah/sedang, dan High untuk level jabatan teratas. Kemudian variabel lokasi perusahaan dikelompokkan menjadi kategori lokasi perusahaan di dalam pulau Jawa, luar pulau Jawa dan luar negeri. Terakhir, variabel dependennya adalah menyangkut rata-rata masa bekerja dalam satuan tahun
# Lokasi Pekerjaan
convert_lokasi <- function(y){
if(y == "DKI Jakarta" |
y == "Banten" |
y == "Jawa Timur" |
y == "Jawa Barat" |
y == "DI Yogyakarta" |
y == "Jawa Tengah")
{
y <- "Dalam Pulau Jawa"
}
else
if(y == "Sulawesi Selatan" |
y == "Riau" |
y == "Kalimantan Timur" |
y == "Sumatera Utara" |
y == "Bali" |
y == "NTB")
{
y <- "Luar Pulau Jawa"
}
else
{
y <- "Luar Negeri"
}
}fulldata$`Lokasi.Perusahaan` <- sapply(X = fulldata$`Lokasi.Perusahaan`,
FUN = convert_lokasi)
unique(fulldata$`Lokasi.Perusahaan`)#> [1] "Dalam Pulau Jawa" "Luar Pulau Jawa" "Luar Negeri"
unique(fulldata$`Level.Jabatan`)#> [1] "Staff/Officer"
#> [2] "Team Leader /Supervisor /Coordinator"
#> [3] "Assistant Manager /Manager"
#> [4] "Intern /Magang"
#> [5] "Staff/Ofiicer"
#> [6] "Staff/Office"
#> [7] "President Director/CEO"
#> [8] "Assistant Manager/Ma nager"
#> [9] "Team Leader /Supervisor/ Coordinator"
# Level Jabatan
convert_level <- function(y){
if(y == "Intern/Magang" |
y == "Intern /Magang" |
y == "Staff/Officer" |
y == "Staff/Ofiicer" |
y == "Staff/Office")
{
y <- "Low"
}
else
if(y == "Assistant Manager /Manager" |
y == "Assistant Manager/Ma nager" |
y == "Team Leader /Supervisor/ Coordinator" |
y == "Team Leader /Supervisor /Coordinator")
{
y <- "Middle"
}
else
{
y <- "High"
}
}fulldata$`Level.Jabatan` <- sapply(fulldata$`Level.Jabatan`,
FUN = convert_level)
unique(fulldata$`Level.Jabatan`)#> [1] "Low" "Middle" "High"
# Bidang Pekerjaan
group_bidang_pekerjaan <- function(z) {
kategori_manajemen_administrasi <- c("Account Management -Manajemen akun", "Administrative Services- Layanan administratif", "Accounting- Akuntansi", "Advisory- Penasehat", "Advisory- Penasehat /Konsultan", "Auditing- Audit", "Compliance- Kepatuhan", "Corporate Affairs/ Communications/Public Relations- Urusan Perusahaan/ Komunikasi/ Hubungan Masyarakat", "Credit and Collections- Kredit dan Koleksi", "Customer Service /Customer Support- Layanan Pelanggan /Dukungan Pelanggan", "General Affair-Urusan Umum", "Human Resources- Sumber daya manusia", "Internal Audit-Audit internal", "Legal-Hukum")
kategori_teknologi_pemasaran <- c("Creative- Kreatif", "Data Science and Business Intelligence- Ilmu Data dan Kecerdasan Bisnis", "Design, Animation & Illustration- Desain, Animasi & Ilustrasi", "Digital Marketing- Pemasaran Digital", "Information Technology- Teknologi Informasi", "Marketing- Pemasaran", "Product Development - Pengembanga n produk", "Sales- Penjualan", "Social Media & Content Creation- Sosial Media & Pembuatan Konten")
kategori_layanan_operasional <- c("Business Development- Pengembanga n Bisnis", "Engineering non IT- Teknik non IT", "Environmental Health and Safety- Kesehatan dan Keamanan Lingkungan", "Finance & Tax- Keuangan & Pajak", "Frontliners", "Logistic- Logistik", "Maintenance /Technician- Teknisi perawatan", "Manufacturing Operations- Operasi Manufaktur", "Medical (Doctor, Nurse)- Medis (Dokter, Perawat)", "Medical Others – Medis Lainnya", "Operations- Operasional", "PPIC-PPIC", "Purchasing / Procurement / Buyer- Pembelian / Pengadaan / Pembeli", "Quality Assurance- Kualitas asuransi", "Quality Control- Kontrol kualitas", "Research and Development-Penelitian dan Pengembang an", "Survey- Survei", "Teaching/ Training- Pengajaran/ Pelatihan", "Technical Service - Layanan Teknis", "Transportati on Services - Layanan transportasi", "Underwriting -Penjaminan")
if (z %in% kategori_manajemen_administrasi) {
return("Manajemen & Administrasi")
} else if (z %in% kategori_teknologi_pemasaran) {
return("Teknologi & Pemasaran")
} else if (z %in% kategori_layanan_operasional) {
return("Layanan & Operasional")
} else {
return("Kategori Lainnya")
}
}fulldata$`Bidang.Pekerjaan` <- sapply(fulldata$`Bidang.Pekerjaan`,
FUN = group_bidang_pekerjaan)
unique(fulldata$`Bidang.Pekerjaan`)#> [1] "Manajemen & Administrasi" "Layanan & Operasional"
#> [3] "Teknologi & Pemasaran" "Kategori Lainnya"
library(dplyr)
fulldata %>% filter(
`Bidang.Pekerjaan`== "Kategori Lainnya"
)ubah_kategori_bidang_pekerjaan <- function(data){
data$`Bidang.Pekerjaan`[data$`Nama.Posisi` %in% c("Admin", "Document controller",
"drafter", "Konsultan",
"Management Trainee", "Konsultan",
"Manager", "Staf"
)] <- "Manajemen & Administrasi"
data$`Bidang.Pekerjaan`[data$`Nama.Posisi` %in% c("Jurnalis", "Operator", "Owner",
"Personal Assistant", "Quantity Surveyor",
"Reporter", "Supervisor", "Teller",
"Translator")] <- "Layanan & Operasional"
return(data)
}fulldata <- ubah_kategori_bidang_pekerjaan(fulldata)unique(fulldata$`Bidang.Pekerjaan`) #> [1] "Manajemen & Administrasi" "Layanan & Operasional"
#> [3] "Teknologi & Pemasaran"
colSums(is.na(fulldata))#> Bidang.Pekerjaan Nama.Posisi Level.Jabatan
#> 0 0 0
#> Lokasi.Perusahaan Rata.rata.Lama.Bekerja Median.Gaji
#> 0 0 0
#> Rata.rata.Gaji Minimum.Gaji Maksimum.Gaji
#> 0 0 0
glimpse(fulldata)#> Rows: 373
#> Columns: 9
#> $ Bidang.Pekerjaan <chr> "Manajemen & Administrasi", "Manajemen & Admini…
#> $ Nama.Posisi <chr> "Account Executive", "Account Executive", "Acco…
#> $ Level.Jabatan <chr> "Low", "Middle", "Middle", "Low", "Low", "Low",…
#> $ Lokasi.Perusahaan <chr> "Dalam Pulau Jawa", "Dalam Pulau Jawa", "Dalam …
#> $ Rata.rata.Lama.Bekerja <int> 3, 4, 7, 3, 9, 3, 7, 2, 2, 10, 3, 2, 2, 3, 3, 3…
#> $ Median.Gaji <dbl> 6500000, 7050000, 14000000, 7700000, 7750000, 1…
#> $ Rata.rata.Gaji <dbl> 7080467, 8250000, 14180000, 7768333, 7850000, 9…
#> $ Minimum.Gaji <dbl> 4300000, 6700000, 10400000, 5100000, 5800000, 6…
#> $ Maksimum.Gaji <dbl> 20000000, 11000000, 18000000, 10300000, 1000000…
Dalam project ini, akan dilakukan pemodelan regresi logistik untuk menganalisis pengaruh bidang pekerjaan, level jabatan, lokasi perusahaan dan rata-rata lama bekerja terhadap gaji pekerja di Indonesia. Metode regresi logistik dipilih karena cocok untuk menganalisis hubungan antara variabel independen yang akan digunakan terhadap variabel dependen yakni minimum gaji pekerja yang merupakan variabel biner. Oleh karena itu, berkaitan dengan hal tersebut, variabel minimum gaji pekerja akan dikategorikan menjadi 2 kelas kategori. Kelas kategori minimum gaji yang yang digunakan dalam penelitian ini merujuk pada rata-rata Upah Minimum Regional (UMR) pekerja tahun 2023. Upah Minimum Regional (UMR) adalah sebuah standar yang diterapkan oleh pengusaha dan pelaku industri untuk menetapkan tingkat upah yang harus diberikan kepada para pegawai, karyawan, atau buruh di lingkungan kerja mereka. Penggunaan UMR bertujuan untuk melindungi hak-hak tenaga kerja agar mereka menerima upah yang adil dan sesuai dengan tingkat beban kerja yang mereka lakukan. Di tahun 2023, rata-rata Upah Minimum Regional (UMR) pekerja di Indonesia yakni sebesar Rp.2.844.193,-. Nilai ini adalah hasil kalkulasi rata-rata upah minimum seluruh provinsi yang ada di Indonesia. Dalam penelitian ini, nilai dari variabel minimum gaji yang digunakan akan dikelompokkan menjadi 2 kategori, yakni “Diatas rata-rata UMR” dan “Dibawah rata-rata UMR”. Peneliti bertujuan mengidentifikasi hubungan dan pengaruh setiap variabel yang diamati terhadap probabilitas individu berada di salah satu dari dua kategori tersebut dengan pendekatan regresi logistik.
datamodel <- select(fulldata,
c(`Bidang.Pekerjaan`, `Level.Jabatan`, `Lokasi.Perusahaan`, `Rata.rata.Lama.Bekerja`, `Minimum.Gaji`))
datamodeldatamodel$`Minimum.Gaji` <- ifelse(datamodel$`Minimum.Gaji` >= 2844193, "Diatas Rata-rata UMR", "Dibawah Rata-rata UMR")
datamodeldatamodel <- datamodel %>% mutate_at(
vars(`Bidang.Pekerjaan`, `Lokasi.Perusahaan`), as.factor) %>%
mutate(`Rata.rata.Lama.Bekerja` = as.integer(`Rata.rata.Lama.Bekerja`))glimpse(datamodel)#> Rows: 373
#> Columns: 5
#> $ Bidang.Pekerjaan <fct> Manajemen & Administrasi, Manajemen & Administr…
#> $ Level.Jabatan <chr> "Low", "Middle", "Middle", "Low", "Low", "Low",…
#> $ Lokasi.Perusahaan <fct> Dalam Pulau Jawa, Dalam Pulau Jawa, Dalam Pulau…
#> $ Rata.rata.Lama.Bekerja <int> 3, 4, 7, 3, 9, 3, 7, 2, 2, 10, 3, 2, 2, 3, 3, 3…
#> $ Minimum.Gaji <chr> "Diatas Rata-rata UMR", "Diatas Rata-rata UMR",…
Ordinal Encoding Level Jabatan`
levels <- c("Low", "Middle", "High")
encoding <- match(datamodel$`Level.Jabatan`, levels)
datamodel$`Level.Jabatan` <- encoding
datamodel$`Level.Jabatan` <- as.integer(datamodel$`Level.Jabatan`)
glimpse(datamodel)#> Rows: 373
#> Columns: 5
#> $ Bidang.Pekerjaan <fct> Manajemen & Administrasi, Manajemen & Administr…
#> $ Level.Jabatan <int> 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,…
#> $ Lokasi.Perusahaan <fct> Dalam Pulau Jawa, Dalam Pulau Jawa, Dalam Pulau…
#> $ Rata.rata.Lama.Bekerja <int> 3, 4, 7, 3, 9, 3, 7, 2, 2, 10, 3, 2, 2, 3, 3, 3…
#> $ Minimum.Gaji <chr> "Diatas Rata-rata UMR", "Diatas Rata-rata UMR",…
unique(datamodel$Level.Jabatan)#> [1] 1 2 3
datamodel$`Minimum.Gaji` <- ifelse(datamodel$`Minimum.Gaji`== "Diatas Rata-rata UMR", 1, 0)
datamodel$`Minimum.Gaji` <- as.factor(datamodel$`Minimum.Gaji`)glimpse(datamodel)#> Rows: 373
#> Columns: 5
#> $ Bidang.Pekerjaan <fct> Manajemen & Administrasi, Manajemen & Administr…
#> $ Level.Jabatan <int> 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1,…
#> $ Lokasi.Perusahaan <fct> Dalam Pulau Jawa, Dalam Pulau Jawa, Dalam Pulau…
#> $ Rata.rata.Lama.Bekerja <int> 3, 4, 7, 3, 9, 3, 7, 2, 2, 10, 3, 2, 2, 3, 3, 3…
#> $ Minimum.Gaji <fct> 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0,…
levels(datamodel$Minimum.Gaji)#> [1] "0" "1"
Dalam bagian ini, akan disajikan analisis statistik deskriptif dan pengujian independensi. Analisis ini bertujuan untuk memberikan pemahaman yang lebih mendalam mengenai karakteristik data serta hubungan antara variabel-variabel yang diteliti.
datamodeltable(datamodel$Bidang.Pekerjaan)#>
#> Layanan & Operasional Manajemen & Administrasi Teknologi & Pemasaran
#> 106 133 134
prop.table(table(datamodel$Bidang.Pekerjaan))#>
#> Layanan & Operasional Manajemen & Administrasi Teknologi & Pemasaran
#> 0.2841823 0.3565684 0.3592493
table(datamodel$Level.Jabatan)#>
#> 1 2 3
#> 330 42 1
prop.table(table(datamodel$Level.Jabatan))#>
#> 1 2 3
#> 0.884718499 0.112600536 0.002680965
table(datamodel$Lokasi.Perusahaan)#>
#> Dalam Pulau Jawa Luar Negeri Luar Pulau Jawa
#> 335 29 9
prop.table(table(datamodel$Lokasi.Perusahaan))#>
#> Dalam Pulau Jawa Luar Negeri Luar Pulau Jawa
#> 0.89812332 0.07774799 0.02412869
table(datamodel$Minimum.Gaji)#>
#> 0 1
#> 75 298
prop.table(table(datamodel$Minimum.Gaji))#>
#> 0 1
#> 0.2010724 0.7989276
summary(datamodel$Rata.rata.Lama.Bekerja)#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 0.000 2.000 3.000 2.874 4.000 10.000
Output diatas menampilkan ringkasan statistik deskriptif untuk variabel numerik “Rata-rata Lama Bekerja”. Variabel “Rata-rata Lama Bekerja” menunjukkan masa kerja rata-rata responden dalam satuan tahun. Pada Tabel 5 ditemukan bahwa nilai minimum untuk variabel ini adalah 0, yang mengindikasikan adanya responden yang memiliki masa kerja kurang dari 1 tahun atau belum memiliki pengalaman kerja sebelumnya. Berdasarkan hasil statistik deskriptif ini, dapat disimpulkan bahwa mayoritas responden memiliki rata-rata masa kerja relatif pendek dimana 75% pengamatan (Q3) berada dalam rata-rata 4 tahun bekerja, dengan keseluruhan range antara 0 hingga 10 tahun.
prop.table(table(datamodel$Minimum.Gaji, datamodel$Bidang.Pekerjaan))*100#>
#> Layanan & Operasional Manajemen & Administrasi Teknologi & Pemasaran
#> 0 6.702413 7.506702 5.898123
#> 1 21.715818 28.150134 30.026810
table(datamodel$Minimum.Gaji, datamodel$Bidang.Pekerjaan)#>
#> Layanan & Operasional Manajemen & Administrasi Teknologi & Pemasaran
#> 0 25 28 22
#> 1 81 105 112
Output diatas menggambarkan kontingensi antara variabel bidang pekerjaan dan minimum gaji. Dalam bidang pekerjaan Manajemen & Administrasi, terdapat 28 pengamatan dengan gaji di bawah rata-rata UMR dan 105 pengamatan dengan gaji di atas rata-rata UMR. Pada bidang pekerjaan Teknologi & Pemasaran, terdapat 22 pengamatan dengan gaji di bawah rata-rata UMR dan 112 pengamatan dengan gaji di atas rata-rata UMR. Sementara itu, pada bidang pekerjaan Layanan Operasional, terdapat 25 pengamatan dengan gaji di bawah rata-rata UMR dan 81 pengamatan dengan gaji di atas rata-rata UMR. Secara ringkas, dapat disimpulkan bahwa bidang pekerjaan Teknologi dan Pemasaran, frekuensi pengamatan dengan gaji di atas rata-rata UMR lebih tinggi dibandingkan dengan bidang pekerjaan lainnya.
# Membuat tabel kontingensi
crosstab1 <- table(datamodel$Minimum.Gaji, datamodel$Bidang.Pekerjaan)
# Melakukan uji chi-square
chi_square_test <- chisq.test(crosstab1)
# Menampilkan hasil uji chi-square
print(chi_square_test)#>
#> Pearson's Chi-squared test
#>
#> data: crosstab1
#> X-squared = 2.0074, df = 2, p-value = 0.3665
Hasil pengujian independensi variabel bidang pekerjaan dengan minimum gaji dapat dilihat pada output diatas. Nilai p-value sebesar 0.3665 yang lebih besar dari tingkat signifikansi yang digunakan (0.05). Oleh sebab itu, belum terdapat cukup bukti untuk bisa menolak hipotesis H0. Sehingga kesimpulannya adalah tidak terdapat hubungan yang signifikan antara variabel bidang pekerjaan dengan minimum gaji.
table(datamodel$Minimum.Gaji, datamodel$Level.Jabatan)#>
#> 1 2 3
#> 0 73 1 1
#> 1 257 41 0
Terdapat 330 pengamatan (88.47%) dengan tingkat jabatan low, 42 pengamatan (11.26%) dengan jabatan middle, dan 1 pengamatan (0.26%) dengan jabatan high. Untuk pengujian independensi, akan dilakukan dengan Fisher exact test karena terdapat > 20% sel dengan frekuensi harapan < 5.
# Membuat tabel kontingensi
crosstab2 <- table(datamodel$Minimum.Gaji, datamodel$Level.Jabatan)
# Melakukan uji chi-square
chi_square_test2 <- chisq.test(crosstab2)
# Menampilkan hasil uji chi-square
print(chi_square_test2)#>
#> Pearson's Chi-squared test
#>
#> data: crosstab2
#> X-squared = 13.022, df = 2, p-value = 0.001487
fisher.test(crosstab2)#>
#> Fisher's Exact Test for Count Data
#>
#> data: crosstab2
#> p-value = 0.0002695
#> alternative hypothesis: two.sided
Berdasarkan output diatas, diperoleh hasil p-value sebesar 0.0002695. Nilai p-value < 0.05 maka tolak H0, Hal ini menunjukkan adanya hubungan yang signifikan antara variabel level jabatan dan minimum gaji.
table(datamodel$Minimum.Gaji, datamodel$Lokasi.Perusahaan)#>
#> Dalam Pulau Jawa Luar Negeri Luar Pulau Jawa
#> 0 59 13 3
#> 1 276 16 6
Terdapat 335 pengamatan dengan lokasi perusahaan dalam Pulau Jawa, 9 pengamatan dengan lokasi luar Pulau Jsawa, dan sisanya 29 pengamatan di luar negeri.
# Membuat tabel kontingensi
crosstab3 <- table(datamodel$Minimum.Gaji, datamodel$Lokasi.Perusahaan)
# Melakukan uji chi-square
chi_square_test3 <- chisq.test(crosstab3)
# Menampilkan hasil uji chi-square
print(chi_square_test3)#>
#> Pearson's Chi-squared test
#>
#> data: crosstab3
#> X-squared = 13.31, df = 2, p-value = 0.001287
fisher.test(crosstab3)#>
#> Fisher's Exact Test for Count Data
#>
#> data: crosstab3
#> p-value = 0.001583
#> alternative hypothesis: two.sided
Berdasarkan uji independensi antara variabel lokasi perusahaan dan minimum gaji menggunakan metode Fisher exact test, ditemukan bahwa nilai p-value sebesar 0.001583. Nilai p-value ini < 0.05 menunjukkan adanya hubungan yang signifikan antara variabel lokasi perusahaan dan minimum gaji.
Setelah dilakukan analisis secara deskriptif dan pengujian independensi, maka kemudian dilakukan pemodelan regresi logistik dan pengujian model untuk melihat bagaimana pengaruh setiap variabel independent terhadap variabel dependen yang ada.
model_all <- glm(Minimum.Gaji ~ ., data = datamodel, family = binomial(link = "logit"))# Load required packages
# Fit the logistic regression model
model_all <- glm(Minimum.Gaji ~ ., data = datamodel, family = binomial(link = "logit"))
# Get the parameter estimates
parameter_estimates <- coef(model_all)
# Get the covariance matrix of the parameter estimates
cov_matrix <- vcov(model_all)
# Compute the standard errors
std_errors <- sqrt(diag(cov_matrix))
# Compute the Wald statistic and p-value for each parameter
wald_statistic <- (parameter_estimates / std_errors)^2
wald_pvalue <- 1 - pchisq(wald_statistic, df = 1)
# Create a data frame to store the results
wald_results <- data.frame(Parameter = names(parameter_estimates),
Estimate = parameter_estimates,
Std_Error = std_errors,
Wald_Statistic = wald_statistic,
P_Value = wald_pvalue)
# Print the results
print(wald_results)#> Parameter
#> (Intercept) (Intercept)
#> Bidang.PekerjaanManajemen & Administrasi Bidang.PekerjaanManajemen & Administrasi
#> Bidang.PekerjaanTeknologi & Pemasaran Bidang.PekerjaanTeknologi & Pemasaran
#> Level.Jabatan Level.Jabatan
#> Lokasi.PerusahaanLuar Negeri Lokasi.PerusahaanLuar Negeri
#> Lokasi.PerusahaanLuar Pulau Jawa Lokasi.PerusahaanLuar Pulau Jawa
#> Rata.rata.Lama.Bekerja Rata.rata.Lama.Bekerja
#> Estimate Std_Error Wald_Statistic
#> (Intercept) 0.08074415 0.6917157 0.01362595
#> Bidang.PekerjaanManajemen & Administrasi 0.14083319 0.3355091 0.17619813
#> Bidang.PekerjaanTeknologi & Pemasaran 0.49691046 0.3394556 2.14284345
#> Level.Jabatan 0.30499287 0.6520099 0.21881193
#> Lokasi.PerusahaanLuar Negeri -1.30225767 0.4163245 9.78430501
#> Lokasi.PerusahaanLuar Pulau Jawa -0.55423773 0.7623099 0.52860229
#> Rata.rata.Lama.Bekerja 0.35505555 0.1088747 10.63503385
#> P_Value
#> (Intercept) 0.907073816
#> Bidang.PekerjaanManajemen & Administrasi 0.674661070
#> Bidang.PekerjaanTeknologi & Pemasaran 0.143236186
#> Level.Jabatan 0.639946666
#> Lokasi.PerusahaanLuar Negeri 0.001760077
#> Lokasi.PerusahaanLuar Pulau Jawa 0.467195078
#> Rata.rata.Lama.Bekerja 0.001109653
library(lmtest)
### Comparing the crude model (logit1) to the adjusted model (logit2)
lrtest(model_all)Hasil uji likelihood ratio menampilkan nilai p-value (0.00002) < 0.05. Oleh karena itu, pada tingkat signifikansi 5% terdapat cukup bukti untuk menolak hipotesis nol. Kesimpulannya adalah setidaknya ada satu variabel independen dalam model yang memiliki pengaruh yang signifikan terhadap minimum gaji.
summary(model_all)#>
#> Call:
#> glm(formula = Minimum.Gaji ~ ., family = binomial(link = "logit"),
#> data = datamodel)
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) 0.08074 0.69172 0.117 0.90707
#> Bidang.PekerjaanManajemen & Administrasi 0.14083 0.33551 0.420 0.67466
#> Bidang.PekerjaanTeknologi & Pemasaran 0.49691 0.33946 1.464 0.14324
#> Level.Jabatan 0.30499 0.65201 0.468 0.63995
#> Lokasi.PerusahaanLuar Negeri -1.30226 0.41632 -3.128 0.00176
#> Lokasi.PerusahaanLuar Pulau Jawa -0.55424 0.76231 -0.727 0.46720
#> Rata.rata.Lama.Bekerja 0.35506 0.10887 3.261 0.00111
#>
#> (Intercept)
#> Bidang.PekerjaanManajemen & Administrasi
#> Bidang.PekerjaanTeknologi & Pemasaran
#> Level.Jabatan
#> Lokasi.PerusahaanLuar Negeri **
#> Lokasi.PerusahaanLuar Pulau Jawa
#> Rata.rata.Lama.Bekerja **
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> (Dispersion parameter for binomial family taken to be 1)
#>
#> Null deviance: 374.41 on 372 degrees of freedom
#> Residual deviance: 343.56 on 366 degrees of freedom
#> AIC: 357.56
#>
#> Number of Fisher Scoring iterations: 5
Selain uji likelihood ratio, dilakukan juga pengujian secara individu dengan uji Wald untuk mengetahui variabel yang berpengaruh signifikan terhadap model. Dengan melihat nilai p-value, suatu variabel dikatakan berpengaruh signifikan jika p-value < 0.05. Berdasarkan output summary diatas, variabel yang berpengaruh signifikan terhadap minimum gaji adalah lokasi perusahaan - luar negeri dan rata-rata lama bekerja.
Dengan mempertimbangkan hasil uji independensi dan uji Wald, variabel bidang pekerjaan akan dikeluarkan dari model. Variabel bidang pekerjaan dikeluarkan dari model karena hubungan dan pengaruhnya tidak signifikan terhadap minimum gaji. Sehingga kemudian dilakukan pemodelan kembali dengan menggunakan variabel level jabatan, lokasi perusahaan, rata-rata lama bekerja dan minimum gaji. Tabel 15 dibawah ini menampilkan nilai AIC yang diperoleh dari hasil pemodelan dengan backward dan forward.
model_2 <- glm(Minimum.Gaji ~ Level.Jabatan + Lokasi.Perusahaan + Rata.rata.Lama.Bekerja, data = datamodel, family = binomial(link = "logit"))# Membuat kombinasi model dengan menggunakan fungsi step
backward_model <- step(model_2, direction = "backward", trace = FALSE)
summary(backward_model)#>
#> Call:
#> glm(formula = Minimum.Gaji ~ Lokasi.Perusahaan + Rata.rata.Lama.Bekerja,
#> family = binomial(link = "logit"), data = datamodel)
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) 0.5862 0.2723 2.153 0.031346 *
#> Lokasi.PerusahaanLuar Negeri -1.3148 0.4131 -3.183 0.001460 **
#> Lokasi.PerusahaanLuar Pulau Jawa -0.6483 0.7382 -0.878 0.379857
#> Rata.rata.Lama.Bekerja 0.3727 0.1007 3.699 0.000216 ***
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> (Dispersion parameter for binomial family taken to be 1)
#>
#> Null deviance: 374.41 on 372 degrees of freedom
#> Residual deviance: 346.07 on 369 degrees of freedom
#> AIC: 354.07
#>
#> Number of Fisher Scoring iterations: 5
forward_model <- step(model_2, direction = "forward", trace = FALSE)
summary(forward_model)#>
#> Call:
#> glm(formula = Minimum.Gaji ~ Level.Jabatan + Lokasi.Perusahaan +
#> Rata.rata.Lama.Bekerja, family = binomial(link = "logit"),
#> data = datamodel)
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) 0.3407 0.6588 0.517 0.60509
#> Level.Jabatan 0.2698 0.6541 0.412 0.67999
#> Lokasi.PerusahaanLuar Negeri -1.2981 0.4142 -3.134 0.00173 **
#> Lokasi.PerusahaanLuar Pulau Jawa -0.6372 0.7372 -0.864 0.38739
#> Rata.rata.Lama.Bekerja 0.3546 0.1094 3.240 0.00119 **
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#>
#> (Dispersion parameter for binomial family taken to be 1)
#>
#> Null deviance: 374.41 on 372 degrees of freedom
#> Residual deviance: 345.89 on 368 degrees of freedom
#> AIC: 355.89
#>
#> Number of Fisher Scoring iterations: 5
# bandingkan AIC
backward_model$aic#> [1] 354.0655
forward_model$aic#> [1] 355.8858
Model backward menunjukkan kualitas yang lebih baik dibandingkan forward berdasarkan nilai AIC yang diberikan yakni sebesar 354.0655. Oleh karena itu, model backward inilah model final yang akan diinterpretasikan. Namun sebelum itu, akan dilakukan pengujian kesesuaian model dengan uji Hosmer-Lemeshow (Ĉ).
library(ResourceSelection)
hoslem.test(backward_model$y, fitted(backward_model))#>
#> Hosmer and Lemeshow goodness of fit (GOF) test
#>
#> data: backward_model$y, fitted(backward_model)
#> X-squared = 3.9574, df = 8, p-value = 0.8609
qchisq(0.95, 8)#> [1] 15.50731
Dengan tingkat signifikansi 0.05, tidak terdapat cukup bukti statistik untuk menolak hipotesis nol karena p-value pada Tabel 16 adalah sebesar 0.8609. Oleh karena itu, berdasarkan hasil uji tersebut dapat disimpulkan bahwa model backward yang dibangun cocok dengan data yang diamati.
ringkasan <- as.data.frame(backward_model$coefficients)
ringkasan$probabilitas <- exp(ringkasan$`backward_model$coefficients`)
ringkasanBerdasarkan nilai exp(β), dapat diinterpretasikan bahwa kemungkinan seorang pekerja yang bekerja di luar negeri memperoleh minimal gaji diatas rata-rata UMR adalah sebesar 0.26 kali dibandingkan pekerja yang bekerja di Pulau Jawa. Sedangkan, kemungkinan seorang pekerja yang bekerja di luar Pulau Jawa (namun masih di dalam negeri) memperoleh minimal gaji diatas rata-rata UMR adalah sebesar 0.52 kali dari pada pekerja yang bekerja di Pulau Jawa. Terakhir, setiap kenaikan rata-rata lama bekerja 1 poin, maka kemungkinan pekerja memperoleh minimal gaji diatas rata-rata UMR meningkat 1.45x lebih besar.
Mengetahui faktor-faktor yang berkontribusi terhadap tingkat gaji merupakan hal yang sangat penting untuk dipahami oleh pekerja dan pencari kerja. Eksperimen ini berusaha mencari tau faktor-faktor yang berdampak terhadap tingkat gaji yang diterima pekerja dengan menggunakan informasi bidang pekerjaan, level jabatan, lokasi perusahaan dan rata-rata lama bekerja sebagai variabel prediktor. Hasil pengujian independensi menunjukkan bahwa variabel level jabatan dan lokasi perusahaan memiliki hubungan yang signifikan dengan tingkat minimum gaji yang dibahas dalam penelitian ini. Selain itu, dengan pemodelan regresi logistik diperoleh kesimpulan bahwa pekerja yang bekerja di luar negeri memiliki kemungkinan sebesar 0.26 kali lebih tinggi untuk memperoleh gaji minimal di atas rata-rata Upah Minimum Regional (UMR) dibandingkan dengan pekerja yang bekerja di Pulau Jawa. Selain itu, pekerja yang bekerja di luar Pulau Jawa (namun masih di dalam negeri) memiliki kemungkinan sebesar 0.52 kali lebih tinggi untuk memperoleh gaji minimal di atas rata-rata UMR dibandingkan dengan pekerja di Pulau Jawa. Terakhir, setiap kenaikan 1 poin (tahun) dalam rata-rata lama bekerja akan meningkatkan kemungkinan pekerja untuk memperoleh gaji minimal di atas rata-rata UMR sebesar 1.45 kali lipat.