Universitas : UIN 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)
## 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.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
## Warning: package 'ggplot2' was built under R version 4.1.2
## Warning: package 'tibble' was built under R version 4.1.2
## Warning: package 'tidyr' was built under R version 4.1.2
## Warning: package 'readr' was built under R version 4.1.2
## Warning: package 'purrr' was built under R version 4.1.2
## Warning: package 'dplyr' was built under R version 4.1.2
## Warning: package 'forcats' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

Profil Mahasiswa Teknik informatika

Umur <- data.frame(
  Nama = c("Budi", "Amirul", "Pian", "Rizky", "Danu", "Yuni", "Sita", "Tika", "Nana", "Beta", "Moat", "Susan"), 
  Umur = c(17, 18, 18, 19, 20, 18, 17, 17, 19,20, 17, 18),
stringsAsFactors = FALSE)
Umur
##      Nama Umur
## 1    Budi   17
## 2  Amirul   18
## 3    Pian   18
## 4   Rizky   19
## 5    Danu   20
## 6    Yuni   18
## 7    Sita   17
## 8    Tika   17
## 9    Nana   19
## 10   Beta   20
## 11   Moat   17
## 12  Susan   18

NIM Mahasiswa

Nim <- data.frame(
  Nama = c("Budi", "Amirul", "Pian", "Rizky", "Danu", "Yuni", "Sita", "Tika", "Nana", "Beta", "Moat", "Susan"), 
  NIM = c(210605110010, 210605110011, 210605110012, 210605110013, 210605110014, 210605110015, 210605110016, 210605110017, 210605110018,210605110019, 210605110020, 210605110021),
stringsAsFactors = FALSE)
Nim
##      Nama          NIM
## 1    Budi 210605110010
## 2  Amirul 210605110011
## 3    Pian 210605110012
## 4   Rizky 210605110013
## 5    Danu 210605110014
## 6    Yuni 210605110015
## 7    Sita 210605110016
## 8    Tika 210605110017
## 9    Nana 210605110018
## 10   Beta 210605110019
## 11   Moat 210605110020
## 12  Susan 210605110021
library(dplyr)
Mahasiswa <- merge(
  x = Umur,
  y = Nim,
  by = 'Nama',
  all = TRUE
)
Mahasiswa
##      Nama Umur          NIM
## 1  Amirul   18 210605110011
## 2    Beta   20 210605110019
## 3    Budi   17 210605110010
## 4    Danu   20 210605110014
## 5    Moat   17 210605110020
## 6    Nana   19 210605110018
## 7    Pian   18 210605110012
## 8   Rizky   19 210605110013
## 9    Sita   17 210605110016
## 10  Susan   18 210605110021
## 11   Tika   17 210605110017
## 12   Yuni   18 210605110015

Asal Daerah

Asal <- data.frame(
  Nama = c("Budi", "Amirul", "Pian", "Rizky", "Danu", "Yuni", "Sita", "Tika", "Nana", "Beta", "Moat", "Susan"), 
  asal = c("Malang","Bekasi","Bogor","Bandung","Pekalongan","Sumba","NTB","NTT","Lombok","Palembang","Papua","Aceh"),
stringsAsFactors = FALSE)
Asal
##      Nama       asal
## 1    Budi     Malang
## 2  Amirul     Bekasi
## 3    Pian      Bogor
## 4   Rizky    Bandung
## 5    Danu Pekalongan
## 6    Yuni      Sumba
## 7    Sita        NTB
## 8    Tika        NTT
## 9    Nana     Lombok
## 10   Beta  Palembang
## 11   Moat      Papua
## 12  Susan       Aceh
library(dplyr)
Mahasiswa1 <- merge(
  x = Mahasiswa,
  y = Asal,
  by = 'Nama',
  all = TRUE
)
Mahasiswa1
##      Nama Umur          NIM       asal
## 1  Amirul   18 210605110011     Bekasi
## 2    Beta   20 210605110019  Palembang
## 3    Budi   17 210605110010     Malang
## 4    Danu   20 210605110014 Pekalongan
## 5    Moat   17 210605110020      Papua
## 6    Nana   19 210605110018     Lombok
## 7    Pian   18 210605110012      Bogor
## 8   Rizky   19 210605110013    Bandung
## 9    Sita   17 210605110016        NTB
## 10  Susan   18 210605110021       Aceh
## 11   Tika   17 210605110017        NTT
## 12   Yuni   18 210605110015      Sumba

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

Nim <- data.frame(
  Nama = c("Budi", "Amirul", "Pian", "Rizky", "Danu", "Yuni", "Sita", "Tika", "Nana", "Beta", "Moat", "Susan"), 
  NIM = c(210605110010, 210605110011, 210605110012, 210605110013, 210605110014, 210605110015, 210605110016, 210605110017, 210605110018,210605110019, 210605110020, 210605110021),
stringsAsFactors = FALSE)
Nim
##      Nama          NIM
## 1    Budi 210605110010
## 2  Amirul 210605110011
## 3    Pian 210605110012
## 4   Rizky 210605110013
## 5    Danu 210605110014
## 6    Yuni 210605110015
## 7    Sita 210605110016
## 8    Tika 210605110017
## 9    Nana 210605110018
## 10   Beta 210605110019
## 11   Moat 210605110020
## 12  Susan 210605110021

Penerapan Data Mahasiswa Teknik Informatika Angkatan 2021 pada inner Join

innerjoin <- Mahasiswa1 %>%
  inner_join(Nim, by = "Nama")
innerjoin
##      Nama Umur        NIM.x       asal        NIM.y
## 1  Amirul   18 210605110011     Bekasi 210605110011
## 2    Beta   20 210605110019  Palembang 210605110019
## 3    Budi   17 210605110010     Malang 210605110010
## 4    Danu   20 210605110014 Pekalongan 210605110014
## 5    Moat   17 210605110020      Papua 210605110020
## 6    Nana   19 210605110018     Lombok 210605110018
## 7    Pian   18 210605110012      Bogor 210605110012
## 8   Rizky   19 210605110013    Bandung 210605110013
## 9    Sita   17 210605110016        NTB 210605110016
## 10  Susan   18 210605110021       Aceh 210605110021
## 11   Tika   17 210605110017        NTT 210605110017
## 12   Yuni   18 210605110015      Sumba 210605110015

Penerapan Data Mahasiswa Teknik Informatika 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  Amirul   18 210605110011     Bekasi
## 2    Beta   20 210605110019  Palembang
## 3    Budi   17 210605110010     Malang
## 4    Danu   20 210605110014 Pekalongan
## 5    Moat   17 210605110020      Papua
## 6    Nana   19 210605110018     Lombok
## 7    Pian   18 210605110012      Bogor
## 8   Rizky   19 210605110013    Bandung
## 9    Sita   17 210605110016        NTB
## 10  Susan   18 210605110021       Aceh
## 11   Tika   17 210605110017        NTT
## 12   Yuni   18 210605110015      Sumba

2.A Right join

rightjoin <- right_join(Mahasiswa1,Nim)
## Joining, by = c("Nama", "NIM")
rightjoin
##      Nama Umur          NIM       asal
## 1  Amirul   18 210605110011     Bekasi
## 2    Beta   20 210605110019  Palembang
## 3    Budi   17 210605110010     Malang
## 4    Danu   20 210605110014 Pekalongan
## 5    Moat   17 210605110020      Papua
## 6    Nana   19 210605110018     Lombok
## 7    Pian   18 210605110012      Bogor
## 8   Rizky   19 210605110013    Bandung
## 9    Sita   17 210605110016        NTB
## 10  Susan   18 210605110021       Aceh
## 11   Tika   17 210605110017        NTT
## 12   Yuni   18 210605110015      Sumba

3. A full join

fulljoin <- full_join(Mahasiswa1,Nim)
## Joining, by = c("Nama", "NIM")
fulljoin
##      Nama Umur          NIM       asal
## 1  Amirul   18 210605110011     Bekasi
## 2    Beta   20 210605110019  Palembang
## 3    Budi   17 210605110010     Malang
## 4    Danu   20 210605110014 Pekalongan
## 5    Moat   17 210605110020      Papua
## 6    Nana   19 210605110018     Lombok
## 7    Pian   18 210605110012      Bogor
## 8   Rizky   19 210605110013    Bandung
## 9    Sita   17 210605110016        NTB
## 10  Susan   18 210605110021       Aceh
## 11   Tika   17 210605110017        NTT
## 12   Yuni   18 210605110015      Sumba