Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Mata Kuliah : Linear Algebra
Prodi : Teknik Informatika
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Relational data set merupakan kumpulan item data yang memiliki perpaduan yang telah ditentukan sebelumnya. Berbagai item 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 eksklusif dan bidang tersebut menyimpan nilai aktual atribut. Baris dalam tabel mempresentasikan perpaduan nilai terkait berdasarkan satu objek. Tiap baris pada tabel dapat ditandai dengan pengidentifikasian unik yang disebut kunci utama (keyword) dan baris di antara beberapa tabel dapat dibuat saling terikat menggunakan kunci asing. Berikut tahapan relational data set pada RStudio menggunakan bahasa pemrograman R.
Tahap pertama adalah mengaktifkan library tidyverse dengan mengunduh packages atau library tidyverse.
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.6 v dplyr 1.0.8
## v tidyr 1.2.0 v stringr 1.4.0
## v readr 2.1.2 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
Tahapan kedua adalah membuat dan menampilkan data yang nantinya akan digabungkan. Untuk menciptakan data bisa menggunakan syntax data.frame(). Berikut contoh membuat tabel dengan data gambaran umum siswa lolos SNMPTN dan SBMPTN tahun 2021.
data_SNMPTN <-data.frame(Provinsi = c('Jawa Barat', 'Jawa Timur', 'Sumatera Utara', 'DKI Jakarta', 'Sulawesi Selatan'),
SNMPTN = c(10.715, 16.998, 7.983, 4.676, 4.435),
stringsAsFactors = FALSE)
data_SNMPTN
## Provinsi SNMPTN
## 1 Jawa Barat 10.715
## 2 Jawa Timur 16.998
## 3 Sumatera Utara 7.983
## 4 DKI Jakarta 4.676
## 5 Sulawesi Selatan 4.435
data_SBMPTN <-data.frame(Provinsi = c('Jawa Timur', 'Jawa Tengah', 'Jawa Barat', 'Sumatera Utara', 'DKI Jakarta'),
SBMPTN = c(25.232, 18.899, 16.104, 14.321, 9.526),
stringsAsFactors = FALSE)
data_SBMPTN
## Provinsi SBMPTN
## 1 Jawa Timur 25.232
## 2 Jawa Tengah 18.899
## 3 Jawa Barat 16.104
## 4 Sumatera Utara 14.321
## 5 DKI Jakarta 9.526
Tahapan ketiga adalah menggabungkan dua data yang telah dibuat. Untuk menggabungkan dua data tersebut maka terdapat variabel “key” sebagai acuan dari tiap data untuk digabungkan menjadi satu data. Cara menggabungkannya terdapat dua macam, yaitu Inner Join dan Outer Join.
Inner Join adalah proses menggabungkan dua tabel menggunakan variabel “key” yang sama di kedua tabel saat kecocokan dibuat. Output dari inner join adalah data frame baru yang berisi key dan value dari dua data. Untuk melakukan inner join dapat menggunakan fungsi inner join yang tersedia pada library dlpyr. Pada inner join baris yang tidak cocok tidak disertakan dalam hasil pada tabel gabungan.
library(dplyr)
data_SNMPTN %>%
inner_join(data_SBMPTN, by = "Provinsi")
## Provinsi SNMPTN SBMPTN
## 1 Jawa Barat 10.715 16.104
## 2 Jawa Timur 16.998 25.232
## 3 Sumatera Utara 7.983 14.321
## 4 DKI Jakarta 4.676 9.526
Outer Join akan menyimpan data yang berbeda dengan inner join, dimana data yang sesuai akan muncul di salah satu tabel. Proses outer join ini bekerja dengan menambahkan variabel “value” menjadi data “virtual” pada salah satu tabel. Hasilnya dapat memiliki key yang selalu cocok (jika tidak ada kunci lain yang cocok) dan value diisi dengan NA. Terdapa tiga macam outer join yaitu :
Left Join adalah menggabungkan dua data yang menyimpan semua pengamatan di data_SNMPTN
left_join(data_SNMPTN, data_SBMPTN)
## Joining, by = "Provinsi"
## Provinsi SNMPTN SBMPTN
## 1 Jawa Barat 10.715 16.104
## 2 Jawa Timur 16.998 25.232
## 3 Sumatera Utara 7.983 14.321
## 4 DKI Jakarta 4.676 9.526
## 5 Sulawesi Selatan 4.435 NA
Right Join adalah menggabungkan dua data yang menyimpan semua pengamatan di data_SBMPTN
right_join(data_SNMPTN, data_SBMPTN)
## Joining, by = "Provinsi"
## Provinsi SNMPTN SBMPTN
## 1 Jawa Barat 10.715 16.104
## 2 Jawa Timur 16.998 25.232
## 3 Sumatera Utara 7.983 14.321
## 4 DKI Jakarta 4.676 9.526
## 5 Jawa Tengah NA 18.899
Full Join adalah menggabungkan dua data yang menyimpan semua pengamatan di data_SNMPTN dan juga data_SBMPTN
full_join(data_SNMPTN, data_SBMPTN)
## Joining, by = "Provinsi"
## Provinsi SNMPTN SBMPTN
## 1 Jawa Barat 10.715 16.104
## 2 Jawa Timur 16.998 25.232
## 3 Sumatera Utara 7.983 14.321
## 4 DKI Jakarta 4.676 9.526
## 5 Sulawesi Selatan 4.435 NA
## 6 Jawa Tengah NA 18.899