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:

  1. Mengetahui kondisi dan gambaran umum dataset mahasiswa.
  1. Mengidentifikasi adanya data kosong atau missing value.
  1. Mengidentifikasi adanya inkonsistensi dalam penulisan data.
  1. Mengidentifikasi adanya data duplikat.
  1. Mengidentifikasi nilai data yang tidak wajar atau noisy data.
  1. Melakukan proses pembersihan dan perapian data.
  1. Mengubah data yang telah dibersihkan menjadi data yang lebih siap digunakan untuk analisis.
  1. Melakukan encoding pada variabel jam belajar mahasiswa.
  1. Membuat visualisasi sederhana dari data yang telah dibersihkan.
  1. 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:

  1. ID_Mahasiswa
  2. Nama
  3. Gender
  4. Umur
  5. Semester
  6. Program_Studi
  7. Kota_Asal
  8. Jam_Belajar_per_Minggu
  9. Kehadiran_Persen
  10. Nilai_Tugas
  11. Nilai_Ujian
  12. Nilai_Akhir
  13. Jam_Internet_per_Hari
  14. Jam_Tidur_per_Hari
  15. 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.
1.215
baris (objek: mahasiswa)
15
kolom atau variabel
Terstruktur
bentuk tabel baris dan kolom

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:

  1. Missing value
  2. Inkonsistensi data
  3. Duplikasi data
  4. 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:

  1. Membersihkan data duplikat.
  2. Memperbaiki kapitalisasi data.
  3. Menyeragamkan penulisan Gender.
  4. Menangani nilai noisy data.
  5. Mengubah nilai tidak valid menjadi NA.
  6. Mengisi nilai kosong pada variabel numerik menggunakan median.
  7. 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:

  1. Regresi linear berganda.
  2. Uji normalitas residual.
  3. Uji homoskedastisitas.
  4. Pengelompokan jam belajar.
  5. Encoding kategori jam belajar.
  6. 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:

  1. Uji normalitas residual menggunakan Kolmogorov-Smirnov.
  2. 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:

  1. Jam_Tidur_per_Hari sebagai variabel respons.
  2. Jam_Internet_per_Hari sebagai variabel prediktor.
  3. 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:

  1. ID_Mahasiswa
  2. Jam_Tidur_per_Hari
  3. Jam_Internet_per_Hari
  4. 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:

  1. < 10 jam = Rendah
  2. 10–20 jam = Sedang
  3. 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:

  1. Rendah = 1
  2. Sedang = 2
  3. 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:

  1. ID_Mahasiswa
  2. 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:

  1. ID_Mahasiswa
  2. Jam_Belajar_Factor
  3. 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:

  1. Jam_Belajar_Factor
  2. Jam_Belajar_Code

Kode yang digunakan adalah:

  1. Jam_Belajar_Factor = Rendah, Sedang, Tinggi
  2. 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.