Dosen Pengampu : Prof. Dr. Suhartono, Mkom

UIN Maulana Malik Ibrahim Malang

library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✔ ggplot2 3.3.6     ✔ purrr   0.3.4
## ✔ tibble  3.1.7     ✔ dplyr   1.0.9
## ✔ tidyr   1.2.0     ✔ stringr 1.4.0
## ✔ readr   2.1.2     ✔ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ 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("Ari", "Adul", "Andri", "Boman", "Danang", "Radit", "Ganes", "Isti", "hani"),
stringsAsFactors = FALSE)
Mahasiswa
##            NIM Nama.Mahasiswa
## 1 210605220001            Ari
## 2 210605220002           Adul
## 3 210605220003          Andri
## 4 210605220004          Boman
## 5 210605220005         Danang
## 6 210605220006          Radit
## 7 210605220007          Ganes
## 8 210605220008           Isti
## 9 210605220009           hani

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", "Pria", "Pria", "Wanita", "Wanita"),
stringsAsFactors = FALSE)
Gender
##            NIM Gender
## 1 210605220001   Pria
## 2 210605220002   Pria
## 3 210605220003 Wanita
## 4 210605220004   Pria
## 5 210605220005   Pria
## 6 210605220006   Pria
## 7 210605220007   Pria
## 8 210605220008 Wanita
## 9 210605220009 Wanita

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            Ari   Pria
## 2 210605220002           Adul   Pria
## 3 210605220003          Andri Wanita
## 4 210605220004          Boman   Pria
## 5 210605220005         Danang   Pria
## 6 210605220006          Radit   Pria
## 7 210605220007          Ganes   Pria
## 8 210605220008           Isti Wanita
## 9 210605220009           hani Wanita

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            Ari   Pria     Malang
## 2 210605220002           Adul   Pria     Malang
## 3 210605220003          Andri Wanita   Surabaya
## 4 210605220004          Boman   Pria    Jombang
## 5 210605220005         Danang   Pria     Blitar
## 6 210605220006          Radit   Pria   Pasuruan
## 7 210605220007          Ganes   Pria     Gresik
## 8 210605220008           Isti Wanita    Nganjuk
## 9 210605220009           hani Wanita  Mojokerto

Penerapan Data Set Mahasiswa pada Inner Join

innerjoin <- Mahasiswa %>%
  inner_join(Gender, by = "NIM")
innerjoin
##            NIM Nama.Mahasiswa Gender
## 1 210605220001            Ari   Pria
## 2 210605220002           Adul   Pria
## 3 210605220003          Andri Wanita
## 4 210605220004          Boman   Pria
## 5 210605220005         Danang   Pria
## 6 210605220006          Radit   Pria
## 7 210605220007          Ganes   Pria
## 8 210605220008           Isti Wanita
## 9 210605220009           hani Wanita

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