Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Pengertian Relational Data Set

Relasional data set adalah sekumpulan item/data yang memiliki perpaduan atau hubungan yang telah ditentukan dan diatur sebagai satu set tabel menggunakan kolom dan baris. 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 relational data set mahasiswa UIN Maulana Malik Ibrahim Malang.

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()

Profil Mahasiswa Pendidikan Agama Islam

Umur <- data.frame(
  Nama = c("Fuad", "Dwipa", "Pian", "Rizky", "Hasbi", "Yuni", "Wulan", "Tika", "Nana", "Yahdi", "Hafiz", "Susan"), 
  Umur = c(18, 18, 19, 19, 20, 18, 19, 18, 19,20, 20, 18),
stringsAsFactors = FALSE)
Umur
##     Nama Umur
## 1   Fuad   18
## 2  Dwipa   18
## 3   Pian   19
## 4  Rizky   19
## 5  Hasbi   20
## 6   Yuni   18
## 7  Wulan   19
## 8   Tika   18
## 9   Nana   19
## 10 Yahdi   20
## 11 Hafiz   20
## 12 Susan   18

NIM Mahasiswa

Nim <- data.frame(
  Nama = c("Fuad", "Dwipa", "Pian", "Rizky", "Hasbi", "Yuni", "Wulan", "Tika", "Nana", "Yahdi", "Hafiz", "Susan"), 
  NIM = c(210605110020, 210605110021, 210605110022, 210605110023, 210605110024, 210605110025, 210605110026, 210605110027, 210605110028,210605110029, 210605110030, 210605110031),
stringsAsFactors = FALSE)
Nim
##     Nama          NIM
## 1   Fuad 210605110020
## 2  Dwipa 210605110021
## 3   Pian 210605110022
## 4  Rizky 210605110023
## 5  Hasbi 210605110024
## 6   Yuni 210605110025
## 7  Wulan 210605110026
## 8   Tika 210605110027
## 9   Nana 210605110028
## 10 Yahdi 210605110029
## 11 Hafiz 210605110030
## 12 Susan 210605110031
library(dplyr)
Mahasiswa <- merge(
  x = Umur,
  y = Nim,
  by = 'Nama',
  all = TRUE
)
Mahasiswa
##     Nama Umur          NIM
## 1  Dwipa   18 210605110021
## 2   Fuad   18 210605110020
## 3  Hafiz   20 210605110030
## 4  Hasbi   20 210605110024
## 5   Nana   19 210605110028
## 6   Pian   19 210605110022
## 7  Rizky   19 210605110023
## 8  Susan   18 210605110031
## 9   Tika   18 210605110027
## 10 Wulan   19 210605110026
## 11 Yahdi   20 210605110029
## 12  Yuni   18 210605110025

Asal Daerah

Asal <- data.frame(
  Nama = c("Fuad", "Dwipa", "Pian", "Rizky", "Hasbi", "Yuni", "Wulan", "Tika", "Nana", "Yahdi", "Hafiz", "Susan"), 
  asal = c("Malang","Bekasi","Bogor","Bandung","Pekalongan","Sumba","NTB","NTT","Lombok","Palembang","Papua","Aceh"),
stringsAsFactors = FALSE)
Asal
##     Nama       asal
## 1   Fuad     Malang
## 2  Dwipa     Bekasi
## 3   Pian      Bogor
## 4  Rizky    Bandung
## 5  Hasbi Pekalongan
## 6   Yuni      Sumba
## 7  Wulan        NTB
## 8   Tika        NTT
## 9   Nana     Lombok
## 10 Yahdi  Palembang
## 11 Hafiz      Papua
## 12 Susan       Aceh
library(dplyr)
Mahasiswa1 <- merge(
  x = Mahasiswa,
  y = Asal,
  by = 'Nama',
  all = TRUE
)
Mahasiswa1
##     Nama Umur          NIM       asal
## 1  Dwipa   18 210605110021     Bekasi
## 2   Fuad   18 210605110020     Malang
## 3  Hafiz   20 210605110030      Papua
## 4  Hasbi   20 210605110024 Pekalongan
## 5   Nana   19 210605110028     Lombok
## 6   Pian   19 210605110022      Bogor
## 7  Rizky   19 210605110023    Bandung
## 8  Susan   18 210605110031       Aceh
## 9   Tika   18 210605110027        NTT
## 10 Wulan   19 210605110026        NTB
## 11 Yahdi   20 210605110029  Palembang
## 12  Yuni   18 210605110025      Sumba

Data Mahasiswa denga “NIM” sebagai key dan “Gander” sebagai value

Nim <- data.frame(
  Nama = c("Fuad", "Dwipa", "Pian", "Rizky", "Hasbi", "Yuni", "Wulan", "Tika", "Nana", "Yahdi", "Hafiz", "Susan"), 
  NIM = c(210605110020, 210605110021, 210605110022, 210605110023, 210605110024, 210605110025, 210605110026, 210605110027, 210605110028,210605110029, 210605110030, 210605110031),
stringsAsFactors = FALSE)
Nim
##     Nama          NIM
## 1   Fuad 210605110020
## 2  Dwipa 210605110021
## 3   Pian 210605110022
## 4  Rizky 210605110023
## 5  Hasbi 210605110024
## 6   Yuni 210605110025
## 7  Wulan 210605110026
## 8   Tika 210605110027
## 9   Nana 210605110028
## 10 Yahdi 210605110029
## 11 Hafiz 210605110030
## 12 Susan 210605110031

Penerapan Data Mahasiswa Pendidikan Agama Islam Angkatan 2021 pada inner Join

innerjoin <- Mahasiswa1 %>%
  inner_join(Nim, by = "Nama")
innerjoin
##     Nama Umur        NIM.x       asal        NIM.y
## 1  Dwipa   18 210605110021     Bekasi 210605110021
## 2   Fuad   18 210605110020     Malang 210605110020
## 3  Hafiz   20 210605110030      Papua 210605110030
## 4  Hasbi   20 210605110024 Pekalongan 210605110024
## 5   Nana   19 210605110028     Lombok 210605110028
## 6   Pian   19 210605110022      Bogor 210605110022
## 7  Rizky   19 210605110023    Bandung 210605110023
## 8  Susan   18 210605110031       Aceh 210605110031
## 9   Tika   18 210605110027        NTT 210605110027
## 10 Wulan   19 210605110026        NTB 210605110026
## 11 Yahdi   20 210605110029  Palembang 210605110029
## 12  Yuni   18 210605110025      Sumba 210605110025

Penerapan Data Mahasiswa Pendidikan Agama Islam Angkatan 2021 pada Set Outer Join

1. A left join

leftjoin <- left_join(Mahasiswa1,Nim)
## Joining, by = c("Nama", "NIM")
leftjoin
##     Nama Umur          NIM       asal
## 1  Dwipa   18 210605110021     Bekasi
## 2   Fuad   18 210605110020     Malang
## 3  Hafiz   20 210605110030      Papua
## 4  Hasbi   20 210605110024 Pekalongan
## 5   Nana   19 210605110028     Lombok
## 6   Pian   19 210605110022      Bogor
## 7  Rizky   19 210605110023    Bandung
## 8  Susan   18 210605110031       Aceh
## 9   Tika   18 210605110027        NTT
## 10 Wulan   19 210605110026        NTB
## 11 Yahdi   20 210605110029  Palembang
## 12  Yuni   18 210605110025      Sumba

2. A Right join

rightjoin <- right_join(Mahasiswa1,Nim)
## Joining, by = c("Nama", "NIM")
rightjoin
##     Nama Umur          NIM       asal
## 1  Dwipa   18 210605110021     Bekasi
## 2   Fuad   18 210605110020     Malang
## 3  Hafiz   20 210605110030      Papua
## 4  Hasbi   20 210605110024 Pekalongan
## 5   Nana   19 210605110028     Lombok
## 6   Pian   19 210605110022      Bogor
## 7  Rizky   19 210605110023    Bandung
## 8  Susan   18 210605110031       Aceh
## 9   Tika   18 210605110027        NTT
## 10 Wulan   19 210605110026        NTB
## 11 Yahdi   20 210605110029  Palembang
## 12  Yuni   18 210605110025      Sumba

3. A full join

fulljoin <- full_join(Mahasiswa1,Nim)
## Joining, by = c("Nama", "NIM")
fulljoin
##     Nama Umur          NIM       asal
## 1  Dwipa   18 210605110021     Bekasi
## 2   Fuad   18 210605110020     Malang
## 3  Hafiz   20 210605110030      Papua
## 4  Hasbi   20 210605110024 Pekalongan
## 5   Nana   19 210605110028     Lombok
## 6   Pian   19 210605110022      Bogor
## 7  Rizky   19 210605110023    Bandung
## 8  Susan   18 210605110031       Aceh
## 9   Tika   18 210605110027        NTT
## 10 Wulan   19 210605110026        NTB
## 11 Yahdi   20 210605110029  Palembang
## 12  Yuni   18 210605110025      Sumba

Refensi

https://www.bing.com/search?q=apa+itu+rasional+data&qs=n&form=QBRE&sp=-1&pq=apa+itu+rasional+data&sc=1-21&sk=&cvid=E6FC9C0DADA74CC4BF895763DB78E13A

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