Dosen Pengampu : Prof. Dr. Suhartono, Mkom

UIN Maulana Malik Ibrahim Malang

library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.6     v purrr   0.3.4
## v tibble  3.1.7     v dplyr   1.0.9
## 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()

Tabel Data NIM dan Nama Mahasiswa

Mahasiswa <- data.frame(
  NIM = c(210605220001, 210605220002, 210605220003, 210605220004, 210605220005, 210605220006, 210605220007, 210605220008, 210605220009), 'Nama Mahasiswa' = c("Agus", "Amir", "Ayu", "Budi", "Dana", "Ratih", "Galih", "Intan", "Sofyan"),
stringsAsFactors = FALSE)
Mahasiswa
##            NIM Nama.Mahasiswa
## 1 210605220001           Agus
## 2 210605220002           Amir
## 3 210605220003            Ayu
## 4 210605220004           Budi
## 5 210605220005           Dana
## 6 210605220006          Ratih
## 7 210605220007          Galih
## 8 210605220008          Intan
## 9 210605220009         Sofyan

Tabel Data Jenis Kelamin Mahasiswa

Gender <- data.frame(
NIM = c(210605220001, 210605220002, 210605220003, 210605220004, 210605220005, 210605220006, 210605220007, 210605220008, 210605220009), 'Gender' = c("Pria", "Pria", "Wanita", "Pria", "Pria", "Wanita", "Wanita", "Wanita", "Pria"),
stringsAsFactors = FALSE)
Gender
##            NIM Gender
## 1 210605220001   Pria
## 2 210605220002   Pria
## 3 210605220003 Wanita
## 4 210605220004   Pria
## 5 210605220005   Pria
## 6 210605220006 Wanita
## 7 210605220007 Wanita
## 8 210605220008 Wanita
## 9 210605220009   Pria

Menggabungkan Data NIM, Nama, dan Jenis Kelamin Mahasiswa

library(dplyr)
mahasiswa1 <- merge(
  x = Mahasiswa,
  y = Gender,
  by = 'NIM',
  all = TRUE
)
mahasiswa1
##            NIM Nama.Mahasiswa Gender
## 1 210605220001           Agus   Pria
## 2 210605220002           Amir   Pria
## 3 210605220003            Ayu Wanita
## 4 210605220004           Budi   Pria
## 5 210605220005           Dana   Pria
## 6 210605220006          Ratih Wanita
## 7 210605220007          Galih Wanita
## 8 210605220008          Intan Wanita
## 9 210605220009         Sofyan   Pria

Tabel Data Asal Daerah Mahasiswa

AsalDaerah <- data.frame(
NIM = c(210605220001, 210605220002, 210605220003, 210605220004, 210605220005, 210605220006, 210605220007, 210605220008, 210605220009), 'AsalDaerah' = c("Malang", "Malang", "Surabaya", "Jombang", "Blitar", "Pasuruan", "Gresik", "Nganjuk", "Mojokerto"),
stringsAsFactors = FALSE)
AsalDaerah
##            NIM AsalDaerah
## 1 210605220001     Malang
## 2 210605220002     Malang
## 3 210605220003   Surabaya
## 4 210605220004    Jombang
## 5 210605220005     Blitar
## 6 210605220006   Pasuruan
## 7 210605220007     Gresik
## 8 210605220008    Nganjuk
## 9 210605220009  Mojokerto

Menggabungkan Data NIM, Nama, Jenis Kelamin, dan Asal Daerah

library(dplyr)
mahasiswa2 <- merge(
  x = mahasiswa1,
  y = AsalDaerah,
  by = 'NIM',
  all = TRUE
  )
mahasiswa2
##            NIM Nama.Mahasiswa Gender AsalDaerah
## 1 210605220001           Agus   Pria     Malang
## 2 210605220002           Amir   Pria     Malang
## 3 210605220003            Ayu Wanita   Surabaya
## 4 210605220004           Budi   Pria    Jombang
## 5 210605220005           Dana   Pria     Blitar
## 6 210605220006          Ratih Wanita   Pasuruan
## 7 210605220007          Galih Wanita     Gresik
## 8 210605220008          Intan Wanita    Nganjuk
## 9 210605220009         Sofyan   Pria  Mojokerto

Penerapan Data Set Mahasiswa pada Inner Join

innerjoin <- Mahasiswa %>%
  inner_join(Gender, by = "NIM")
innerjoin
##            NIM Nama.Mahasiswa Gender
## 1 210605220001           Agus   Pria
## 2 210605220002           Amir   Pria
## 3 210605220003            Ayu Wanita
## 4 210605220004           Budi   Pria
## 5 210605220005           Dana   Pria
## 6 210605220006          Ratih Wanita
## 7 210605220007          Galih Wanita
## 8 210605220008          Intan Wanita
## 9 210605220009         Sofyan   Pria

Penerapan Data Set Mahasiswa pada Outer Join

  1. Left Join
leftjoin <- left_join(Mahasiswa,Gender)
## Joining, by = "NIM"
  1. Right Join
rightjoin <- right_join(Mahasiswa,Gender)
## Joining, by = "NIM"
  1. Full Join
fulljoin <- full_join(Mahasiswa,Gender)
## Joining, by = "NIM"
summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Sumber :

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