EKSPLORASI DAN IDENTIFIKASI PERMASALAHAN KUALITAS DATA MAHASISWA
I. PENDAHULUAN
1.1 Latar Belakang
Data mahasiswa merupakan salah satu jenis data yang dapat digunakan untuk menggambarkan berbagai karakteristik mahasiswa. Data tersebut dapat mencakup informasi mengenai identitas mahasiswa, kondisi akademik, kebiasaan belajar, penggunaan internet, waktu tidur, hingga tingkat kepuasan mahasiswa terhadap kegiatan perkuliahan.
Data yang dikumpulkan dalam suatu dataset tidak selalu berada dalam kondisi yang langsung dapat digunakan untuk analisis. Dalam proses pengumpulan maupun penginputan data, dapat ditemukan berbagai permasalahan seperti adanya data yang kosong atau missing value, penulisan kategori yang tidak konsisten, data yang muncul lebih dari satu kali, serta nilai yang tidak sesuai atau tidak masuk akal.
Permasalahan tersebut perlu diperhatikan karena kualitas data dapat memengaruhi proses analisis yang dilakukan. Data yang memiliki kesalahan atau ketidakkonsistenan dapat menghasilkan informasi yang kurang tepat apabila langsung digunakan tanpa melalui proses pemeriksaan dan pembersihan.
Oleh karena itu, sebelum dilakukan analisis lebih lanjut, diperlukan proses eksplorasi dan pemeriksaan kualitas data. Pada kegiatan ini dilakukan eksplorasi terhadap dataset mahasiswa untuk mengetahui kondisi data, mengidentifikasi permasalahan yang terdapat di dalam dataset, serta melakukan proses data cleaning agar data menjadi lebih terstruktur dan siap digunakan untuk tahap analisis berikutnya.
Permasalahan kualitas data yang diamati dalam dataset meliputi missing value, inkonsistensi data, duplikasi data, dan noisy data.
1.2 Tujuan
Tujuan dari kegiatan eksplorasi dan identifikasi permasalahan kualitas data mahasiswa adalah sebagai berikut:
- Mengetahui kondisi dan gambaran umum dataset mahasiswa.
- Mengidentifikasi adanya data kosong atau missing value.
- Mengidentifikasi adanya inkonsistensi dalam penulisan data.
- Mengidentifikasi adanya data duplikat.
- Mengidentifikasi nilai data yang tidak wajar atau noisy data.
- Melakukan proses pembersihan dan perapian data.
- Mengubah data yang telah dibersihkan menjadi data yang lebih siap digunakan untuk analisis.
- Melakukan encoding pada variabel jam belajar mahasiswa.
- Membuat visualisasi sederhana dari data yang telah dibersihkan.
- Melakukan analisis lanjutan menggunakan data yang telah melalui proses pembersihan.
II. GAMBARAN DATASET
Dataset yang digunakan merupakan dataset mahasiswa yang terdiri dari 1.215 baris dan 15 variabel. Objek yang diamati dalam dataset adalah mahasiswa.
Variabel yang terdapat dalam dataset adalah:
- ID_Mahasiswa
- Nama
- Gender
- Umur
- Semester
- Program_Studi
- Kota_Asal
- Jam_Belajar_per_Minggu
- Kehadiran_Persen
- Nilai_Tugas
- Nilai_Ujian
- Nilai_Akhir
- Jam_Internet_per_Hari
- Jam_Tidur_per_Hari
- Kepuasan_Kuliah
Variabel-variabel tersebut menggambarkan beberapa aspek mahasiswa, mulai dari karakteristik identitas, kondisi akademik, kebiasaan belajar, penggunaan internet, waktu tidur, hingga kepuasan terhadap perkuliahan.
Secara struktur, dataset berbentuk data tabular yang terdiri dari baris dan kolom. Setiap baris merepresentasikan satu data mahasiswa, sedangkan setiap kolom merepresentasikan variabel tertentu.2.1 Import Dataset
Data dimasukkan ke dalam R dengan menyalin data dari Excel yang dilakukan dengan mengcopy as path.
## # A tibble: 6 × 15
## ID_Mahasiswa Nama Gender Umur Semester Program_Studi Kota_Asal
## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr>
## 1 100740 Mahasiswa_0740 Laki-laki 20 3 Statistika Pekanbaru
## 2 100789 Mahasiswa_0789 Perempuan 21 3 Statistika Dumai
## 3 100044 Mahasiswa_0044 Perempuan 19 3 Matematika Pekanbaru
## 4 100156 Mahasiswa_0156 Laki-laki 24 5 Statistika Pekanbaru
## 5 100495 Mahasiswa_0495 Perempuan 20 5 Statistika Pekanbaru
## 6 100971 Mahasiswa_0971 Perempuan 21 3 Statistika Pekanbaru
## # ℹ 8 more variables: Jam_Belajar_per_Minggu <dbl>, Kehadiran_Persen <dbl>,
## # Nilai_Tugas <chr>, Nilai_Ujian <chr>, Nilai_Akhir <dbl>,
## # Jam_Internet_per_Hari <dbl>, Jam_Tidur_per_Hari <dbl>,
## # Kepuasan_Kuliah <dbl>
## ID_Mahasiswa Nama Gender Umur
## Min. :100001 Length :1215 Length :1215 Min. : -3.00
## 1st Qu.:100302 N.unique :1200 N.unique : 8 1st Qu.: 20.00
## Median :100601 N.blank : 0 N.blank : 0 Median : 21.00
## Mean :100601 Min.nchar: 14 Min.nchar: 1 Mean : 20.69
## 3rd Qu.:100901 Max.nchar: 19 Max.nchar: 9 3rd Qu.: 22.00
## Max. :101200 Max. :150.00
##
## Semester Program_Studi Kota_Asal Jam_Belajar_per_Minggu
## Min. :3.000 Length :1215 Length :1215 Min. : 2.00
## 1st Qu.:3.000 N.unique : 3 N.unique : 13 1st Qu.:10.50
## Median :3.000 N.blank : 0 N.blank : 0 Median :13.90
## Mean :3.375 Min.nchar: 10 Min.nchar: 5 Mean :13.85
## 3rd Qu.:4.000 Max.nchar: 10 Max.nchar: 9 3rd Qu.:17.20
## Max. :5.000 Max. :29.60
## NAs :12
## Kehadiran_Persen Nilai_Tugas Nilai_Ujian Nilai_Akhir
## Min. :-10.00 Length :1215 Length :1215 Min. : -8.00
## 1st Qu.: 82.90 N.unique : 381 N.unique : 201 1st Qu.: 81.80
## Median : 87.70 N.blank : 0 N.blank : 0 Median : 86.10
## Mean : 87.69 Min.nchar: 2 Min.nchar: 2 Mean : 85.48
## 3rd Qu.: 93.00 Max.nchar: 18 Max.nchar: 18 3rd Qu.: 89.80
## Max. :125.00 NAs : 8 NAs : 8 Max. :120.00
## NAs :10
## Jam_Internet_per_Hari Jam_Tidur_per_Hari Kepuasan_Kuliah
## Min. :-1.000 Min. : 1.000 Min. :0.00
## 1st Qu.: 3.400 1st Qu.: 6.000 1st Qu.:3.00
## Median : 4.500 Median : 6.700 Median :4.00
## Mean : 4.552 Mean : 6.724 Mean :3.62
## 3rd Qu.: 5.700 3rd Qu.: 7.400 3rd Qu.:4.00
## Max. :30.000 Max. :20.000 Max. :8.00
## NAs :8
## Umur Semester Jam_Belajar_per_Minggu
## 0 0 12
## Kehadiran_Persen Nilai_Tugas Nilai_Ujian
## 10 8 8
## Nilai_Akhir Jam_Internet_per_Hari Jam_Tidur_per_Hari
## 0 0 0
## Kepuasan_Kuliah
## 8
III. IDENTIFIKASI PERMASALAHAN KUALITAS DATA
Berdasarkan hasil eksplorasi dataset, ditemukan beberapa jenis permasalahan kualitas data, yaitu:
- Missing value
- Inkonsistensi data
- Duplikasi data
- Noisy data
Keempat permasalahan tersebut akan diperiksa dan ditangani pada tahap berikutnya.
3.1 Missing Value
Missing value merupakan kondisi ketika suatu bagian data tidak memiliki nilai atau nilainya kosong. Keberadaan missing value dapat menyebabkan jumlah data yang digunakan dalam suatu analisis menjadi berkurang. Selain itu, apabila tidak ditangani dengan tepat, missing value dapat memengaruhi hasil pengolahan data.
Berdasarkan eksplorasi pada dataset, ditemukan beberapa variabel yang memiliki data kosong.
## Jam_Belajar_per_Minggu Kehadiran_Persen Nilai_Tugas
## 12 10 8
## Nilai_Ujian Kepuasan_Kuliah
## 8 8
3.2 Inkonsistensi Data
Inkonsistensi terjadi ketika suatu kategori yang sebenarnya memiliki arti sama ditulis dengan bentuk yang berbeda. Kondisi tersebut dapat menyebabkan kategori yang sama terbaca sebagai beberapa kategori berbeda.
3.2.1 Inkonsistensi Gender
Pada variabel Gender, ditemukan beberapa bentuk penulisan untuk kategori laki-laki, yaitu Laki-laki, Male, Pria, dan L. Sementara itu, kategori perempuan ditulis sebagai Perempuan, Female, Wanita, dan P.
## [1] "Laki-laki" "Perempuan" "L" "Wanita" "Female" "P"
## [7] "Male" "Pria"
3.2.2 Inkonsistensi Kota Asal
Permasalahan inkonsistensi juga ditemukan pada variabel Kota_Asal. Beberapa kota memiliki perbedaan penggunaan huruf besar dan kecil, misalnya Pekanbaru, pekanbaru, dan PEKANBARU.
## [1] "Pekanbaru" "Dumai" "Medan" "Padang" "Jambi" "JAMBI"
## [7] "MEDAN" "pekanbaru" "DUMAI" "padang" "PADANG" "jambi"
## [13] "PEKANBARU"
3.3 Duplikasi Data
Duplikasi data merupakan kondisi ketika suatu data muncul lebih dari satu kali. Data duplikat dapat menyebabkan satu mahasiswa terhitung lebih dari satu kali dan berpotensi memengaruhi hasil analisis.
Pada eksplorasi awal ditemukan 15 ID_Mahasiswa yang muncul lebih dari satu kali dan terdapat 14 baris yang merupakan duplikat identik.
3.3.1 Pemeriksaan ID Mahasiswa
##
## 100032 100096 100213 100425 100435 100443 100557 100761 100769 100844 100866
## 2 2 2 2 2 2 2 2 2 2 2
## 100947 100994 101011 101086
## 2 2 2 2
3.3.2 Pemeriksaan Duplikat Identik
## [1] 14
3.3.3 Menampilkan Data Duplikat
## # A tibble: 14 × 15
## ID_Mahasiswa Nama Gender Umur Semester Program_Studi Kota_Asal
## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr>
## 1 100769 Mahasiswa_0769 Laki-laki 19 3 Statistika Padang
## 2 100032 Mahasiswa_0032 Laki-laki 21 3 Statistika Medan
## 3 100443 Mahasiswa_0443 Laki-laki 20 3 Statistika Pekanbaru
## 4 101086 Mahasiswa_1086 Perempuan 19 4 Matematika Jambi
## 5 100947 Mahasiswa_0947 Laki-laki 22 4 Statistika Padang
## 6 100435 Mahasiswa_0435 Laki-laki 21 5 Statistika Padang
## 7 100213 Mahasiswa_0213 Perempuan 20 3 Statistika Pekanbaru
## 8 100844 Mahasiswa_0844 Perempuan 23 4 Statistika Pekanbaru
## 9 100866 Mahasiswa_0866 Perempuan 22 3 Statistika Medan
## 10 100761 Mahasiswa_0761 Laki-laki 21 3 Statistika Pekanbaru
## 11 100994 Mahasiswa_0994 Perempuan 22 3 Statistika Medan
## 12 100557 Mahasiswa_0557 Laki-laki 21 3 Matematika Pekanbaru
## 13 100425 Mahasiswa_0425 Laki-laki 21 3 Statistika Padang
## 14 100096 Mahasiswa_0096 Perempuan 24 3 Statistika Jambi
## # ℹ 8 more variables: Jam_Belajar_per_Minggu <dbl>, Kehadiran_Persen <dbl>,
## # Nilai_Tugas <dbl>, Nilai_Ujian <dbl>, Nilai_Akhir <dbl>,
## # Jam_Internet_per_Hari <dbl>, Jam_Tidur_per_Hari <dbl>,
## # Kepuasan_Kuliah <dbl>
3.4 Noisy Data
Noisy data merupakan data yang memiliki nilai tidak wajar, tidak logis, atau berada di luar rentang yang seharusnya. Pada dataset ditemukan beberapa nilai yang tidak sesuai dengan karakteristik variabel, sehingga perlu dilakukan pemeriksaan satu per satu.
3.4.1 Data Noisy pada Umur
Variabel umur seharusnya berada pada rentang yang wajar untuk mahasiswa. Pada dataset ditemukan nilai yang tidak wajar, termasuk nilai negatif dan umur yang sangat tinggi.
Untuk melihat nilai tersebut digunakan:
## # A tibble: 2 × 2
## ID_Mahasiswa Umur
## <dbl> <dbl>
## 1 100637 150
## 2 100895 -3
Nilai umur yang berada di luar rentang tersebut kemudian dianggap tidak valid.
3.4.2 Data Noisy pada Kehadiran
Variabel Kehadiran_Persen seharusnya berada pada rentang 0 sampai 100 persen.
## # A tibble: 2 × 2
## ID_Mahasiswa Kehadiran_Persen
## <dbl> <dbl>
## 1 100080 -10
## 2 101068 125
Nilai negatif maupun nilai di atas 100 dianggap tidak valid.
3.4.3 Data Noisy pada Nilai Akademik
Nilai tugas, nilai ujian, dan nilai akhir menggunakan skala 0 sampai 100.
## # A tibble: 6 × 3
## ID_Mahasiswa Jenis_Nilai Nilai
## <dbl> <chr> <dbl>
## 1 101129 Nilai_Akhir -8
## 2 100849 Nilai_Ujian -2
## 3 100781 Nilai_Ujian 150
## 4 100259 Nilai_Tugas 105
## 5 100548 Nilai_Tugas -5
## 6 100861 Nilai_Akhir 120
3.4.4 Data Noisy pada Kepuasan Kuliah
Variabel Kepuasan_Kuliah menggunakan skala 1 sampai 5.
## # A tibble: 2 × 2
## ID_Mahasiswa Kepuasan_Kuliah
## <dbl> <dbl>
## 1 100827 8
## 2 100726 0
Nilai 0 dan 8 yang ditemukan dalam dataset berada di luar skala tersebut sehingga dianggap sebagai data tidak valid.
3.4.5 Data Noisy pada Jam Internet
Variabel Jam_Internet_per_Hari menunjukkan jumlah jam penggunaan internet dalam satu hari. Nilai negatif tidak mungkin terjadi, sedangkan nilai lebih dari 24 jam tidak sesuai dengan jumlah waktu dalam satu hari.
## # A tibble: 2 × 2
## ID_Mahasiswa Jam_Internet_per_Hari
## <dbl> <dbl>
## 1 101011 30
## 2 101099 -1
IV. DATA WRANGLING
Data wrangling adalah proses mengolah dan membersihkan data mentah agar menjadi data yang lebih terstruktur, konsisten, dan siap digunakan untuk analisis. Data yang diperoleh dari proses pengumpulan biasanya belum langsung dapat digunakan karena masih dapat ditemukan masalah seperti data duplikat, kesalahan penulisan, data yang tidak sesuai dengan rentang seharusnya (noisy data), serta nilai yang kosong (missing value).
Pada kegiatan ini, proses data wrangling dilakukan berdasarkan permasalahan yang ditemukan pada tahap sebelumnya.
Tahapan yang dilakukan meliputi:
- Membersihkan data duplikat.
- Memperbaiki kapitalisasi data.
- Menyeragamkan penulisan Gender.
- Menangani nilai noisy data.
- Mengubah nilai tidak valid menjadi NA.
- Mengisi nilai kosong pada variabel numerik menggunakan median.
- Melakukan pemeriksaan ulang setelah proses pembersihan.
4.1 Membersihkan Data Duplikat
Langkah pertama dalam data wrangling adalah menghapus data duplikat identik. Duplikat identik terlebih dahulu dihapus menggunakan distinct(). Setelah itu, dilakukan pemeriksaan berdasarkan ID_Mahasiswa agar setiap mahasiswa hanya memiliki satu baris data.
Setelah penghapusan dilakukan, jumlah data duplikat diperiksa kembali dengan:
## [1] 0
Pemeriksaan ini bertujuan memastikan bahwa dataset tidak lagi memiliki baris yang sama secara keseluruhan.
4.2 Memperbaiki Kapitalisasi Kota Asal
Pada variabel Kota_Asal, ditemukan perbedaan penggunaan huruf besar dan kecil. Untuk menyeragamkan penulisan tersebut digunakan fungsi str_trim() dan str_to_title().
Fungsi str_trim() digunakan untuk menghapus spasi yang tidak diperlukan pada awal atau akhir teks. Sementara itu, str_to_title() digunakan untuk membuat huruf awal setiap kata menjadi huruf kapital.
Dengan demikian, penulisan seperti pekanbaru, PEKANBARU, dan Pekanbaru akan memiliki bentuk yang sama, yaitu Pekanbaru.
4.3 Menyeragamkan Penulisan Gender
Variasi penulisan pada variabel Gender diseragamkan dengan menggabungkan beberapa bentuk penulisan ke dalam kategori yang sama.
Setelah proses standarisasi selesai, kategori Gender diperiksa kembali menggunakan:
##
## Laki-laki Perempuan
## 539 661
Dengan proses tersebut, beberapa bentuk penulisan yang memiliki arti sama dapat disatukan sehingga kategori Gender menjadi lebih konsisten.
4.4 Standarisasi Program Studi
Variabel Program_Studi juga dilakukan standarisasi untuk mengurangi kemungkinan adanya perbedaan penulisan.
Proses ini dilakukan agar penulisan nama program studi menjadi lebih seragam dan mudah digunakan dalam analisis.
4.5 Menangani Data Noisy
Setelah nilai noisy ditemukan, nilai tersebut tidak langsung diganti dengan angka tertentu. Nilai yang berada di luar batas logis terlebih dahulu diubah menjadi NA.
Dengan cara ini, nilai yang tidak valid dapat diperlakukan sebagai data yang perlu ditangani bersama dengan missing value.
Setelah nilai tidak valid diubah menjadi NA, jumlah missing value dapat mengalami peningkatan. Hal tersebut terjadi karena nilai yang sebelumnya tercatat sebagai angka kini dianggap sebagai data kosong karena tidak memenuhi batas yang ditentukan.
4.6 Mengisi Nilai Kosong dengan Median
Langkah selanjutnya adalah menangani nilai kosong yang berasal dari missing value awal maupun nilai noisy yang sebelumnya telah diubah menjadi NA.
Pada kegiatan ini digunakan median sebagai metode untuk mengisi missing value pada variabel numerik.
Median merupakan nilai tengah setelah data diurutkan. Penggunaan median dapat membantu mengisi nilai yang hilang berdasarkan nilai tengah dari data yang masih tersedia.
Kode tersebut menjalankan proses pengisian secara berulang pada seluruh variabel numerik. Setiap nilai NA akan digantikan dengan median dari variabel yang bersangkutan.
4.7 Pemeriksaan Setelah Cleaning
Setelah seluruh proses data cleaning selesai, dataset diperiksa kembali untuk memastikan bahwa proses yang dilakukan telah berjalan dengan baik.
Pemeriksaan Missing Value
## ID_Mahasiswa Nama Gender
## 0 0 0
## Umur Semester Program_Studi
## 0 0 0
## Kota_Asal Jam_Belajar_per_Minggu Kehadiran_Persen
## 0 0 0
## Nilai_Tugas Nilai_Ujian Nilai_Akhir
## 0 0 0
## Jam_Internet_per_Hari Jam_Tidur_per_Hari Kepuasan_Kuliah
## 0 0 0
Pemeriksaan ini digunakan untuk melihat apakah masih terdapat nilai NA pada dataset. Jika proses pengisian berhasil, variabel numerik yang sebelumnya memiliki missing value tidak lagi memiliki nilai kosong.
Pemeriksaan Duplikasi
## [1] 0
Pemeriksaan tersebut dilakukan untuk memastikan bahwa tidak terdapat lagi baris yang sama secara keseluruhan.
Pemeriksaan Struktur Data
## tibble [1,200 × 15] (S3: tbl_df/tbl/data.frame)
## $ ID_Mahasiswa : num [1:1200] 100740 100789 100044 100156 100495 ...
## $ Nama : chr [1:1200] "Mahasiswa_0740" "Mahasiswa_0789" "Mahasiswa_0044" "Mahasiswa_0156" ...
## $ Gender : chr [1:1200] "Laki-laki" "Perempuan" "Perempuan" "Laki-laki" ...
## $ Umur : num [1:1200] 20 21 19 24 20 21 21 19 21 20 ...
## $ Semester : num [1:1200] 3 3 3 5 5 3 5 5 3 3 ...
## $ Program_Studi : chr [1:1200] "Statistika" "Statistika" "Matematika" "Statistika" ...
## $ Kota_Asal : chr [1:1200] "Pekanbaru" "Dumai" "Pekanbaru" "Pekanbaru" ...
## $ Jam_Belajar_per_Minggu: num [1:1200] 3.6 13 13.3 11.8 13.8 20.1 7 14.4 10.4 21.4 ...
## $ Kehadiran_Persen : num [1:1200] 90 81 83.4 87.9 93.8 87.7 78.6 90.4 85.8 88.4 ...
## $ Nilai_Tugas : num [1:1200] 45 74.7 76.9 55.4 83.7 71.3 52.1 69.9 70.2 77.5 ...
## $ Nilai_Ujian : num [1:1200] 95.2 81.6 94.3 93.4 100 91.5 83.7 100 99.2 89.1 ...
## $ Nilai_Akhir : num [1:1200] 78.6 81.1 86.7 80 93.8 86.6 71.5 89.5 85.5 88.4 ...
## $ Jam_Internet_per_Hari : num [1:1200] 5.8 3.4 4.4 4.6 5.6 5.9 2.1 5.3 7.4 7.3 ...
## $ Jam_Tidur_per_Hari : num [1:1200] 4.9 7.7 5.6 7.5 6.3 6.3 7 7.1 6.1 5.5 ...
## $ Kepuasan_Kuliah : num [1:1200] 5 4 4 3 5 3 3 2 3 4 ...
Fungsi str() digunakan untuk melihat struktur dataset, termasuk nama variabel, tipe data, dan beberapa informasi mengenai isi data.
Melihat Data Setelah Cleaning
## # A tibble: 6 × 15
## ID_Mahasiswa Nama Gender Umur Semester Program_Studi Kota_Asal
## <dbl> <chr> <chr> <dbl> <dbl> <chr> <chr>
## 1 100740 Mahasiswa_0740 Laki-laki 20 3 Statistika Pekanbaru
## 2 100789 Mahasiswa_0789 Perempuan 21 3 Statistika Dumai
## 3 100044 Mahasiswa_0044 Perempuan 19 3 Matematika Pekanbaru
## 4 100156 Mahasiswa_0156 Laki-laki 24 5 Statistika Pekanbaru
## 5 100495 Mahasiswa_0495 Perempuan 20 5 Statistika Pekanbaru
## 6 100971 Mahasiswa_0971 Perempuan 21 3 Statistika Pekanbaru
## # ℹ 8 more variables: Jam_Belajar_per_Minggu <dbl>, Kehadiran_Persen <dbl>,
## # Nilai_Tugas <dbl>, Nilai_Ujian <dbl>, Nilai_Akhir <dbl>,
## # Jam_Internet_per_Hari <dbl>, Jam_Tidur_per_Hari <dbl>,
## # Kepuasan_Kuliah <dbl>
Perintah head() digunakan untuk melihat beberapa baris pertama dataset setelah proses cleaning.
Pemeriksaan akhir diperlukan karena proses cleaning dapat mengubah beberapa bagian dari dataset. Dengan demikian, kondisi data setelah proses wrangling dapat dibandingkan dengan kondisi sebelum dilakukan pembersihan.
V. Analisis Data Setelah Wrangling
Setelah proses eksplorasi dan data wrangling selesai, dataset dapat digunakan untuk analisis lanjutan.
Analisis yang dilakukan dalam kegiatan ini meliputi:
- Regresi linear berganda.
- Uji normalitas residual.
- Uji homoskedastisitas.
- Pengelompokan jam belajar.
- Encoding kategori jam belajar.
- Visualisasi kategori jam belajar.
5.1 Uji Asumsi Model
Model regresi perlu diperiksa melalui beberapa asumsi untuk mengetahui apakah kondisi residual model sesuai dengan asumsi yang diperlukan.
Pada kegiatan ini dilakukan dua jenis pengujian, yaitu:
- Uji normalitas residual menggunakan Kolmogorov-Smirnov.
- Uji homoskedastisitas menggunakan Breusch-Pagan.
5.1.1 Regresi Linear Berganda
Regresi linear berganda digunakan untuk melihat hubungan antara satu variabel respons dengan dua atau lebih variabel prediktor.
Pada analisis ini digunakan:
- Jam_Tidur_per_Hari sebagai variabel respons.
- Jam_Internet_per_Hari sebagai variabel prediktor.
- Jam_Belajar_per_Minggu sebagai variabel prediktor.
Model regresi dibentuk menggunakan fungsi lm().
##
## Call:
## lm(formula = Jam_Tidur_per_Hari ~ Jam_Internet_per_Hari + Jam_Belajar_per_Minggu,
## data = data_mhs)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5.7469 -0.6735 -0.0133 0.6596 13.2214
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.485925 0.121806 53.248 <2e-16 ***
## Jam_Internet_per_Hari 0.009782 0.017758 0.551 0.5818
## Jam_Belajar_per_Minggu 0.013997 0.006252 2.239 0.0254 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.078 on 1197 degrees of freedom
## Multiple R-squared: 0.004434, Adjusted R-squared: 0.002771
## F-statistic: 2.666 on 2 and 1197 DF, p-value: 0.06997
Secara umum, model regresi yang digunakan dapat dituliskan sebagai:
Jam Tidur = β₀ + β₁(Jam Internet) + β₂(Jam Belajar) + ε
Output dari summary(model) memberikan informasi mengenai koefisien regresi serta berbagai statistik yang dapat digunakan untuk mengevaluasi model.
5.1.2 Uji Normalitas Residual
Residual merupakan selisih antara nilai aktual dengan nilai yang dihasilkan oleh model.
Uji Kolmogorov-Smirnov digunakan untuk melihat apakah residual mengikuti distribusi normal.
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: residu
## D = 0.031506, p-value = 0.1845
## alternative hypothesis: two-sided
Hasil pengujian digunakan sebagai dasar untuk mengevaluasi terpenuhi atau tidaknya asumsi normalitas residual pada model.
5.1.3 Uji Homoskedastisitas
Homoskedastisitas menunjukkan kondisi ketika varians residual relatif sama pada berbagai nilai prediksi.
Untuk memeriksa kondisi tersebut digunakan uji Breusch-Pagan.
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 0.66852, df = 2, p-value = 0.7159
Hasil pengujian digunakan untuk melihat apakah terdapat indikasi perubahan varians residual pada model regresi.
VI. Integrasi Data I
Integrasi data merupakan proses menggabungkan beberapa sumber data yang memiliki informasi mengenai objek yang sama. Pada Integrasi Data I, proses penggabungan dilakukan menggunakan ID_Mahasiswa sebagai key atau kunci penghubung.
Tujuan dari integrasi ini adalah menggabungkan informasi dari Data 1 dan Data 2 sehingga diperoleh data yang lebih lengkap. Data 2 berisi informasi tambahan berupa Kategori_Belajar yang diperoleh dari pengelompokan Jam_Belajar_per_Minggu.
6.1 Data 1
Data 1 merupakan data utama yang berisi informasi mahasiswa terkait waktu tidur, penggunaan internet, dan waktu belajar.
Variabel yang digunakan adalah:
- ID_Mahasiswa
- Jam_Tidur_per_Hari
- Jam_Internet_per_Hari
- Jam_Belajar_per_Minggu
Data 1 dibuat menggunakan syntax berikut:
## # A tibble: 6 × 4
## ID_Mahasiswa Jam_Tidur_per_Hari Jam_Internet_per_Hari Jam_Belajar_per_Minggu
## <dbl> <dbl> <dbl> <dbl>
## 1 100740 4.9 5.8 3.6
## 2 100789 7.7 3.4 13
## 3 100044 5.6 4.4 13.3
## 4 100156 7.5 4.6 11.8
## 5 100495 6.3 5.6 13.8
## 6 100971 6.3 5.9 20.1
ID_Mahasiswa digunakan sebagai kunci untuk menghubungkan Data 1 dengan Data 2.
6.2 Data 2
Data 2 merupakan data tambahan yang berisi kategori berdasarkan jumlah jam belajar mahasiswa.
Variabel Jam_Belajar_per_Minggu dikelompokkan menjadi tiga kategori, yaitu:
- < 10 jam = Rendah
- 10–20 jam = Sedang
20 jam = Tinggi
Pengelompokan dilakukan menggunakan syntax berikut:
Selanjutnya, Data 2 dibuat dengan:
## # A tibble: 6 × 2
## ID_Mahasiswa Kategori_Belajar
## <dbl> <chr>
## 1 100740 Rendah
## 2 100789 Sedang
## 3 100044 Sedang
## 4 100156 Sedang
## 5 100495 Sedang
## 6 100971 Tinggi
Data 2 kemudian digunakan sebagai informasi tambahan dalam proses penggabungan data.
6.3 Data Gabungan
Data 1 dan Data 2 digabungkan dengan menggunakan ID_Mahasiswa sebagai key. Metode left_join() digunakan agar seluruh data yang terdapat pada Data 1 tetap dipertahankan.
## # A tibble: 6 × 5
## ID_Mahasiswa Jam_Tidur_per_Hari Jam_Internet_per_Hari Jam_Belajar_per_Minggu
## <dbl> <dbl> <dbl> <dbl>
## 1 100740 4.9 5.8 3.6
## 2 100789 7.7 3.4 13
## 3 100044 5.6 4.4 13.3
## 4 100156 7.5 4.6 11.8
## 5 100495 6.3 5.6 13.8
## 6 100971 6.3 5.9 20.1
## # ℹ 1 more variable: Kategori_Belajar <chr>
Hasil integrasi diperiksa menggunakan:
## [1] 1200 5
## [1] 0
Pemeriksaan tersebut bertujuan memastikan ukuran data hasil penggabungan dan mengetahui apakah terdapat kategori belajar yang masih kosong.
Grafik Data Gabungan I
Grafik tersebut digunakan untuk melihat jumlah mahasiswa pada
masing-masing kelompok jam belajar, yaitu Rendah, Sedang, dan
Tinggi.
6.4 Data Encoding
Pada tahap encoding, kategori Kategori_Belajar diubah menjadi data faktor kemudian diberikan kode numerik.
Urutan kategori yang digunakan adalah:
- Rendah = 1
- Sedang = 2
- Tinggi = 3
Tahap pertama adalah membuat variabel faktor:
Setelah itu, kategori faktor diberikan kode numerik:
Hasil encoding kemudian diperiksa menggunakan:
## # A tibble: 10 × 4
## ID_Mahasiswa Jam_Belajar_per_Minggu Jam_Belajar_Factor Jam_Belajar_Code
## <dbl> <dbl> <ord> <dbl>
## 1 100740 3.6 Rendah 1
## 2 100789 13 Sedang 2
## 3 100044 13.3 Sedang 2
## 4 100156 11.8 Sedang 2
## 5 100495 13.8 Sedang 2
## 6 100971 20.1 Tinggi 3
## 7 100271 7 Rendah 1
## 8 100591 14.4 Sedang 2
## 9 100124 10.4 Sedang 2
## 10 100114 21.4 Tinggi 3
Encoding ini menghasilkan representasi numerik dari kategori jam belajar yang selanjutnya dapat digunakan pada proses Integrasi Data II.
6.5 Kesimpulan Integrasi Data I
Berdasarkan proses yang dilakukan, Integrasi Data I menggabungkan Data 1 dan Data 2 dengan menggunakan ID_Mahasiswa sebagai key. Hasil penggabungan memuat informasi mengenai jam tidur, jam internet, jam belajar, serta kategori jam belajar mahasiswa.
Setelah itu, kategori jam belajar diubah menjadi faktor dan diberikan kode numerik. Hasil encoding tersebut digunakan sebagai data tambahan untuk tahap Integrasi Data II.
VII. Integrasi Data II
Integrasi Data II merupakan kelanjutan dari Integrasi Data I setelah proses pengelompokan dan encoding selesai dilakukan.
Pada tahap ini, data utama digabungkan dengan data yang telah memiliki kategori faktor dan kode numerik untuk variabel jam belajar.
Penggabungan tetap menggunakan ID_Mahasiswa sebagai key sehingga informasi yang berasal dari kedua data dapat disesuaikan dengan mahasiswa yang tepat.
7.1 Data 1
Data 1 pada Integrasi Data II berisi informasi mengenai penggunaan internet mahasiswa.
Variabel yang digunakan adalah:
- ID_Mahasiswa
- Jam_Internet_per_Hari
Syntax yang digunakan:
## # A tibble: 6 × 2
## ID_Mahasiswa Jam_Internet_per_Hari
## <dbl> <dbl>
## 1 100740 5.8
## 2 100789 3.4
## 3 100044 4.4
## 4 100156 4.6
## 5 100495 5.6
## 6 100971 5.9
Data tersebut digunakan sebagai data utama pada proses Integrasi Data II.
7.2 Data 2
Data 2 merupakan data hasil encoding yang memuat kategori faktor dan kode numerik dari jam belajar.
Variabel yang digunakan adalah:
- ID_Mahasiswa
- Jam_Belajar_Factor
- Jam_Belajar_Code
Syntax yang digunakan:
## # A tibble: 6 × 3
## ID_Mahasiswa Jam_Belajar_Factor Jam_Belajar_Code
## <dbl> <ord> <dbl>
## 1 100740 Rendah 1
## 2 100789 Sedang 2
## 3 100044 Sedang 2
## 4 100156 Sedang 2
## 5 100495 Sedang 2
## 6 100971 Tinggi 3
Data 2 digunakan untuk memberikan informasi tambahan mengenai kategori dan kode jam belajar masing-masing mahasiswa.
7.3 Data Gabungan
Data 1 dan Data 2 kemudian digabungkan menggunakan ID_Mahasiswa sebagai kunci penghubung.
## # A tibble: 6 × 4
## ID_Mahasiswa Jam_Internet_per_Hari Jam_Belajar_Factor Jam_Belajar_Code
## <dbl> <dbl> <ord> <dbl>
## 1 100740 5.8 Rendah 1
## 2 100789 3.4 Sedang 2
## 3 100044 4.4 Sedang 2
## 4 100156 4.6 Sedang 2
## 5 100495 5.6 Sedang 2
## 6 100971 5.9 Tinggi 3
Pemeriksaan kategori dilakukan menggunakan:
##
## Rendah Sedang Tinggi
## 260 815 125
Pemeriksaan tersebut digunakan untuk memastikan bahwa proses penggabungan data dan hasil encoding telah berjalan sesuai dengan yang diharapkan.
Grafik Data Gabungan II
Grafik tersebut menunjukkan jumlah mahasiswa berdasarkan kategori jam
belajar setelah proses integrasi dilakukan.
7.4 Data Encoding
Data encoding pada Integrasi Data II terdiri atas dua variabel, yaitu:
- Jam_Belajar_Factor
- Jam_Belajar_Code
Kode yang digunakan adalah:
- Jam_Belajar_Factor = Rendah, Sedang, Tinggi
- Jam_Belajar_Code = 1, 2, 3
Hasil encoding dapat dilihat menggunakan:
## # A tibble: 10 × 3
## ID_Mahasiswa Jam_Belajar_Factor Jam_Belajar_Code
## <dbl> <ord> <dbl>
## 1 100740 Rendah 1
## 2 100789 Sedang 2
## 3 100044 Sedang 2
## 4 100156 Sedang 2
## 5 100495 Sedang 2
## 6 100971 Tinggi 3
## 7 100271 Rendah 1
## 8 100591 Sedang 2
## 9 100124 Sedang 2
## 10 100114 Tinggi 3
Dengan adanya kode numerik tersebut, informasi kategori jam belajar memiliki bentuk yang dapat digunakan dalam analisis yang membutuhkan representasi numerik.
7.5 Kesimpulan Integrasi Data II
Integrasi Data II dilakukan dengan menggabungkan informasi Jam_Internet_per_Hari dengan hasil encoding variabel jam belajar menggunakan ID_Mahasiswa sebagai key.
Hasil akhir integrasi memuat informasi mengenai penggunaan internet, kategori jam belajar, serta kode numerik dari kategori tersebut. Dataset hasil integrasi selanjutnya dapat dimanfaatkan untuk analisis maupun visualisasi.