Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Pengertian Relasional Data Set

Relasional data set merupakan kumpulan item data yang memiliki perpaduan atau hubungan yang telah ditentukan sebelumnya. Berbagai item ini diatur sebagai satu set tabel menggunakan kolom dan baris. Tabel digunakan untuk menyimpan informasi tentang objek yang ditampilkan dalam database. Tiap kolom dalam tabel memuat tipe data ekskusif , dan bidang tersebut menyimpan nilai aktual atribut. Baris dalam tabel mempresentasikan perpaduan nilai terkait berdasarkan satu objek atau entitas. Tiap baris pada tabel dapat ditandai dengan pengidentifikasi unik yang disebut kunci utama (keyword), dan baris di antara beberapa tabel dapat dibuat saling terkait menggunakan kunci asing. Berikut tahapan dalam menerapkan relasional data set pada RStudio menggunakan bahasa pemrograman R.

Tahapan Pertama

Tahap pertama yang harus dilakukan dalam menerapkan relasional data set pada RStudio adalah mengaktifkan library tidyverse dengan mengunduh packages atau library tidyverse.

library(tidyverse)
## Warning: package 'tidyverse' was built under R version 4.1.2
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5     v purrr   0.3.4
## v tibble  3.1.4     v dplyr   1.0.8
## v tidyr   1.1.3     v stringr 1.4.0
## v readr   2.0.1     v forcats 0.5.1
## Warning: package 'dplyr' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

Tahapan Kedua

Tahapan kedua adalah membuat tabel data set yang akan dihubungkan dimana pada RStudio terdapat fungsi data.frame() yang berguna untuk menciptakan tabel. Berikut contoh membuat tabel dengan data gambaran umum pertinggian tinggi swasta pada tahun 2020.

data_Lembaga <-data.frame(Provinsi = c('Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'D.I. Yogyakarta', 'Aceh', 'Sumatera Utara', 'Sumatera Barat', 'Riau'
),
Lembaga = c(377, 259, 328, 103, 94, 219, 96, 77
 ), 
stringsAsFactors = FALSE)
data_Program_Studi <-data.frame(Provinsi = c('D.K.I. Jakarta','Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'Aceh', 'Sumatera Utara', 'Sumatera Barat', 'Riau'
),
"Program Studi" = c(1163, 1993, 1555,  2277,  337, 1113, 415, 325), 
stringsAsFactors = FALSE)

Tahapan Ketiga

Tahapan ketiga adalah menampilkan data dari tabel yang telah di buat :

data_Lembaga
##          Provinsi Lembaga
## 1      Jawa Barat     377
## 2     Jawa Tengah     259
## 3      Jawa Timur     328
## 4 D.I. Yogyakarta     103
## 5            Aceh      94
## 6  Sumatera Utara     219
## 7  Sumatera Barat      96
## 8            Riau      77
data_Program_Studi
##         Provinsi Program.Studi
## 1 D.K.I. Jakarta          1163
## 2     Jawa Barat          1993
## 3    Jawa Tengah          1555
## 4     Jawa Timur          2277
## 5           Aceh           337
## 6 Sumatera Utara          1113
## 7 Sumatera Barat           415
## 8           Riau           325

Tahapan Keempat

Tahapan keempat adalah menggabungkan dua tabel yang telah dibuat. Untuk menghubungkan kedua tabel data set tersebut maka sebagai acuan untuk mencocokkan adalah pada variabel “key”. Dalam contoh ini, kita akan mencocokan antara variabel “Provinsi” pada tabel data_Lembaga dengan variabel “Provinsi” pada tabel data_Program_Studi, kedua tabel tersebut digeneralisasi secara langsung ke beberapa key dan ke beberapa value. Untuk mendapatkan gabungan kedua tabel adalah dengan cara menghubungkan setiap baris di tabel data_Lembaga yang ke nol, satu, kedua atau lebih, dengan setiap baris di tabel data_Program_Studi. Terdapat berbagai macam jenis gabungan dalam menghubungkan data set. Berikut macam-macam gabungan :

1. Inner Join

Inner join adalah proses menggabungkan dua tabel menggunakan variabel key (kata kunci) yang sama di kedua tabel saat kecocokan dibuat. Output dari inner join adalah data frame baru yang berisi key, value tabel data_Lembaga, dan value tabel data_Program_Studi. Untuk melakukan inner join kita dapat menggunak fungsi inner join yang tersedia pada library dplyr.

data_Lembaga %>% 
inner_join(data_Program_Studi, by = "Provinsi")
##         Provinsi Lembaga Program.Studi
## 1     Jawa Barat     377          1993
## 2    Jawa Tengah     259          1555
## 3     Jawa Timur     328          2277
## 4           Aceh      94           337
## 5 Sumatera Utara     219          1113
## 6 Sumatera Barat      96           415
## 7           Riau      77           325

Noted : Pada inner join baris yang tidak cocok tidak disertakan dalam hasil pada tabel gabungan. Artinya, secara umum inner join biasanya tidak sesuai untuk digunakan dalam analisis karena terlalu mudah untuk kehilangan data.

2. Outer Join

Outer join akan menyimpan data yang berbeda dengan inner join , dimana data yang sesuai dan muncul di salah satu tabel. Terdapa tiga macam Outer joins:

  1. A left joint adalah menyimpan semua pengamatan di data_Lembaga.
  2. A right joint adalah menyimpan semua pengamatan di data_Program_Studi.
  3. A full joint adalah menjaga semua pengamatan di data_Lembaga dan data_Program_Studi.

Proses joint ini bekerja dengan menambahkan variabel “value” menjadi data “virtual” pada salah satu tabel. Hasil nya dapat memiliki key yang selalu cocok (jika tidak ada kunci lain yang cocok), dan value diisi dengan NA.

Tahapan Kelima

Sebelum tahap keenam dimana kita akan menggabungkan dua tabel dengan jenis outer joins sebelumnya kita perlu membuat tabel yang akan digabungkan.

data_Lembaga <-data.frame(Provinsi = c('Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'D.I. Yogyakarta', 'Aceh', 'Sumatera Utara', 'Sumatera Barat', 'Riau'
),
Lembaga = c(377, 259, 328, 103, 94, 219, 96, 77 ), 
stringsAsFactors = FALSE)

data_Program_Studi <-data.frame(Provinsi = c('D.K.I. Jakarta','Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'Aceh', 'Sumatera Utara', 'Sumatera Barat', 'Riau'
),
"Program Studi" = c(1634, 1993, 1555,  2277, 337, 1113, 415, 325 ), 
stringsAsFactors = FALSE)

Tahapan Keenam

Tahapan keenam adalah menggabungkan dua tabel yang dengan jenis gabungan left joins yang menyimpan semua data di data_Lembaga.

left_join(data_Lembaga,data_Program_Studi)
## Joining, by = "Provinsi"
##          Provinsi Lembaga Program.Studi
## 1      Jawa Barat     377          1993
## 2     Jawa Tengah     259          1555
## 3      Jawa Timur     328          2277
## 4 D.I. Yogyakarta     103            NA
## 5            Aceh      94           337
## 6  Sumatera Utara     219          1113
## 7  Sumatera Barat      96           415
## 8            Riau      77           325

Tahapan Ketujuh

Tahapan ketujuh adalah menggabungkan dua tabel yang dengan jenis gabungan right joins yang menyimpan semua data di data_Program_Studi.

right_join(data_Lembaga,data_Program_Studi)
## Joining, by = "Provinsi"
##         Provinsi Lembaga Program.Studi
## 1     Jawa Barat     377          1993
## 2    Jawa Tengah     259          1555
## 3     Jawa Timur     328          2277
## 4           Aceh      94           337
## 5 Sumatera Utara     219          1113
## 6 Sumatera Barat      96           415
## 7           Riau      77           325
## 8 D.K.I. Jakarta      NA          1634

Tahapan Kedelapan

Tahapan kedelapan adalah menggabungkan dua tabel yang dengan jenis gabungan full joins yang menjaga semua pengamatan di data_Lembaga dan data_Program_Studi.

full_join(data_Lembaga,data_Program_Studi)
## Joining, by = "Provinsi"
##          Provinsi Lembaga Program.Studi
## 1      Jawa Barat     377          1993
## 2     Jawa Tengah     259          1555
## 3      Jawa Timur     328          2277
## 4 D.I. Yogyakarta     103            NA
## 5            Aceh      94           337
## 6  Sumatera Utara     219          1113
## 7  Sumatera Barat      96           415
## 8            Riau      77           325
## 9  D.K.I. Jakarta      NA          1634

Operasi joint yang paling sering digunakan adalah left join. Gunakan proses left join setiap kali kita mencari data tambahan di tabel lain, karena pengamatan asli dipertahankan meskipun tidak ada kecocokan. left join harus menjadi sambungan proses secara default : prosedur ini adalah left join yang harus dipegang untuk digunakan kecuali kita memiliki alasan yang baik untuk memilih salah satu dari proses outher join lainnya. Berikut visualisasi operasi joint dengan diagram venn dari semua jenis operasi joint diatas.

Referensi

https://aws.amazon.com/id/relational-database/

https://pddikti.kemdikbud.go.id/asset/data/publikasi/Statistik%20Pendidikan%20Tinggi%202020.pdf

https://rpubs.com/suhartono-uinmaliki/861286

https://www.ionos.com/digitalguide/hosting/technical-matters/sql-outer-join/