Lembaga : 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()
## 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

Tabel Data Mahasiswa UIN Malang

Mahasiswa <- data.frame(
  NIM = c(210605110012, 210605110025, 210605110026, 210605110027, 210605110028, 210605110029, 210605110030, 210605110031, 210605110032, 210605110033, 210605110034, 210605110035, 210605110036, 210605110037, 210605110038, 210605110039, 210605110040, 210605110041, 210605110042, 210605110043 ), 'Nama Mahasiswa' = c("Imamatul Khoiriyah", "Daurin Nabilatul Munna", "Enggarani Wahyu Ekaputri", "Aldiana Damayanti", "Muhammad Tazkia Ikshanul Ma'arif", "Jea Syafrida Nurlaili", "Siti Rofidatus Saidah", "Dwi Putri Adilah", "Mutiara Aprilia Dzakiroh", "Muhammad Sulthon Khairudin", "Hilmi Zuhri Adi Brata", "Muhammad Zea Al Ghifari", "Hamzah Faizal Asyhari", "Kholilur Rohman", "Vivin Octavia Cahyani", "Ade Ray", "Muhammad Ihya' Ulumuddin Al-Hazmi", "Rizqi Al Fajri", "Hajratul Aswad", "Arvin Azaria Munsyi"),
stringsAsFactors = FALSE)
Mahasiswa
##             NIM                    Nama.Mahasiswa
## 1  210605110012                Imamatul Khoiriyah
## 2  210605110025            Daurin Nabilatul Munna
## 3  210605110026          Enggarani Wahyu Ekaputri
## 4  210605110027                 Aldiana Damayanti
## 5  210605110028  Muhammad Tazkia Ikshanul Ma'arif
## 6  210605110029             Jea Syafrida Nurlaili
## 7  210605110030             Siti Rofidatus Saidah
## 8  210605110031                  Dwi Putri Adilah
## 9  210605110032          Mutiara Aprilia Dzakiroh
## 10 210605110033        Muhammad Sulthon Khairudin
## 11 210605110034             Hilmi Zuhri Adi Brata
## 12 210605110035           Muhammad Zea Al Ghifari
## 13 210605110036             Hamzah Faizal Asyhari
## 14 210605110037                   Kholilur Rohman
## 15 210605110038             Vivin Octavia Cahyani
## 16 210605110039                           Ade Ray
## 17 210605110040 Muhammad Ihya' Ulumuddin Al-Hazmi
## 18 210605110041                    Rizqi Al Fajri
## 19 210605110042                    Hajratul Aswad
## 20 210605110043               Arvin Azaria Munsyi

Tabel Data Gender

gender <- data.frame(
   NIM = c(210605110012, 210605110025, 210605110026, 210605110027, 210605110028, 210605110029, 210605110030, 210605110031, 210605110032, 210605110033, 210605110034, 210605110035, 210605110036, 210605110037, 210605110038, 210605110039, 210605110040, 210605110041, 210605110042, 210605110043 ), gender = c("Putri", "Putri", "Putri", "Putri", "Putra", "Putri", "Putri", "Putri", "Putri", "Putra", "Putra", "Putra", "Putra", "Putra", "Putri", "Putra", "Putra", "Putra", "Putri", "Putra" ),
stringsAsFactors = FALSE)
gender
##             NIM gender
## 1  210605110012  Putri
## 2  210605110025  Putri
## 3  210605110026  Putri
## 4  210605110027  Putri
## 5  210605110028  Putra
## 6  210605110029  Putri
## 7  210605110030  Putri
## 8  210605110031  Putri
## 9  210605110032  Putri
## 10 210605110033  Putra
## 11 210605110034  Putra
## 12 210605110035  Putra
## 13 210605110036  Putra
## 14 210605110037  Putra
## 15 210605110038  Putri
## 16 210605110039  Putra
## 17 210605110040  Putra
## 18 210605110041  Putra
## 19 210605110042  Putri
## 20 210605110043  Putra
library(dplyr)
mahasiswagenap1 <- merge(
  x = Mahasiswa,
  y = gender,
  by = 'NIM',
  all = TRUE
)
mahasiswagenap1
##             NIM                    Nama.Mahasiswa gender
## 1  210605110012                Imamatul Khoiriyah  Putri
## 2  210605110025            Daurin Nabilatul Munna  Putri
## 3  210605110026          Enggarani Wahyu Ekaputri  Putri
## 4  210605110027                 Aldiana Damayanti  Putri
## 5  210605110028  Muhammad Tazkia Ikshanul Ma'arif  Putra
## 6  210605110029             Jea Syafrida Nurlaili  Putri
## 7  210605110030             Siti Rofidatus Saidah  Putri
## 8  210605110031                  Dwi Putri Adilah  Putri
## 9  210605110032          Mutiara Aprilia Dzakiroh  Putri
## 10 210605110033        Muhammad Sulthon Khairudin  Putra
## 11 210605110034             Hilmi Zuhri Adi Brata  Putra
## 12 210605110035           Muhammad Zea Al Ghifari  Putra
## 13 210605110036             Hamzah Faizal Asyhari  Putra
## 14 210605110037                   Kholilur Rohman  Putra
## 15 210605110038             Vivin Octavia Cahyani  Putri
## 16 210605110039                           Ade Ray  Putra
## 17 210605110040 Muhammad Ihya' Ulumuddin Al-Hazmi  Putra
## 18 210605110041                    Rizqi Al Fajri  Putra
## 19 210605110042                    Hajratul Aswad  Putri
## 20 210605110043               Arvin Azaria Munsyi  Putra

Tabel Data Tempat

tempat <- data.frame(
   NIM = c(210605110012, 210605110025, 210605110026, 210605110027, 210605110028, 210605110029, 210605110030, 210605110031, 210605110032, 210605110033, 210605110034, 210605110035, 210605110036, 210605110037, 210605110038, 210605110039, 210605110040, 210605110041, 210605110042, 210605110043 ),
tempat = c("Bojonegoro", "Kediri", "Nganjuk", "Bekasi", "Kediri", "Blitar", "Malang", "Senuro", "Pasuruan", "Bekasi", "Madiun", "Mataram", "Malang", "Probolinggo", "Grobongan", "Probolinggo", "Lamongan", "Duri", "Samili", "Sampang"),
stringsAsFactors = FALSE)
tempat
##             NIM      tempat
## 1  210605110012  Bojonegoro
## 2  210605110025      Kediri
## 3  210605110026     Nganjuk
## 4  210605110027      Bekasi
## 5  210605110028      Kediri
## 6  210605110029      Blitar
## 7  210605110030      Malang
## 8  210605110031      Senuro
## 9  210605110032    Pasuruan
## 10 210605110033      Bekasi
## 11 210605110034      Madiun
## 12 210605110035     Mataram
## 13 210605110036      Malang
## 14 210605110037 Probolinggo
## 15 210605110038   Grobongan
## 16 210605110039 Probolinggo
## 17 210605110040    Lamongan
## 18 210605110041        Duri
## 19 210605110042      Samili
## 20 210605110043     Sampang
library(dplyr)
mahasiswagenap2 <- merge(
  x = mahasiswagenap1,
  y = tempat,
  by = 'NIM',
  all = TRUE
  )
mahasiswagenap2
##             NIM                    Nama.Mahasiswa gender      tempat
## 1  210605110012                Imamatul Khoiriyah  Putri  Bojonegoro
## 2  210605110025            Daurin Nabilatul Munna  Putri      Kediri
## 3  210605110026          Enggarani Wahyu Ekaputri  Putri     Nganjuk
## 4  210605110027                 Aldiana Damayanti  Putri      Bekasi
## 5  210605110028  Muhammad Tazkia Ikshanul Ma'arif  Putra      Kediri
## 6  210605110029             Jea Syafrida Nurlaili  Putri      Blitar
## 7  210605110030             Siti Rofidatus Saidah  Putri      Malang
## 8  210605110031                  Dwi Putri Adilah  Putri      Senuro
## 9  210605110032          Mutiara Aprilia Dzakiroh  Putri    Pasuruan
## 10 210605110033        Muhammad Sulthon Khairudin  Putra      Bekasi
## 11 210605110034             Hilmi Zuhri Adi Brata  Putra      Madiun
## 12 210605110035           Muhammad Zea Al Ghifari  Putra     Mataram
## 13 210605110036             Hamzah Faizal Asyhari  Putra      Malang
## 14 210605110037                   Kholilur Rohman  Putra Probolinggo
## 15 210605110038             Vivin Octavia Cahyani  Putri   Grobongan
## 16 210605110039                           Ade Ray  Putra Probolinggo
## 17 210605110040 Muhammad Ihya' Ulumuddin Al-Hazmi  Putra    Lamongan
## 18 210605110041                    Rizqi Al Fajri  Putra        Duri
## 19 210605110042                    Hajratul Aswad  Putri      Samili
## 20 210605110043               Arvin Azaria Munsyi  Putra     Sampang

Tabel Data Jumlah Kelompok

jumlah <- data.frame(
  NIM = c(210605110012, 210605110025, 210605110026, 210605110027, 210605110028, 210605110029, 210605110030, 210605110031, 210605110032, 210605110033, 210605110034, 210605110035, 210605110036, 210605110037, 210605110038, 210605110039, 210605110040, 210605110041, 210605110042, 210605110043 ),
  'Jumlah Kelompok' = c(10,12,14,16,18,20,9,7,5,3,1,21,23,25,27,2,6,8,4,26),
  stringsAsFactors = FALSE
)
jumlah
##             NIM Jumlah.Kelompok
## 1  210605110012              10
## 2  210605110025              12
## 3  210605110026              14
## 4  210605110027              16
## 5  210605110028              18
## 6  210605110029              20
## 7  210605110030               9
## 8  210605110031               7
## 9  210605110032               5
## 10 210605110033               3
## 11 210605110034               1
## 12 210605110035              21
## 13 210605110036              23
## 14 210605110037              25
## 15 210605110038              27
## 16 210605110039               2
## 17 210605110040               6
## 18 210605110041               8
## 19 210605110042               4
## 20 210605110043              26
library(dplyr)
mahasiswagenap3 <- merge(
  x = mahasiswagenap2,
  y = jumlah,
  by = 'NIM',
  all = TRUE
  )
mahasiswagenap3
##             NIM                    Nama.Mahasiswa gender      tempat
## 1  210605110012                Imamatul Khoiriyah  Putri  Bojonegoro
## 2  210605110025            Daurin Nabilatul Munna  Putri      Kediri
## 3  210605110026          Enggarani Wahyu Ekaputri  Putri     Nganjuk
## 4  210605110027                 Aldiana Damayanti  Putri      Bekasi
## 5  210605110028  Muhammad Tazkia Ikshanul Ma'arif  Putra      Kediri
## 6  210605110029             Jea Syafrida Nurlaili  Putri      Blitar
## 7  210605110030             Siti Rofidatus Saidah  Putri      Malang
## 8  210605110031                  Dwi Putri Adilah  Putri      Senuro
## 9  210605110032          Mutiara Aprilia Dzakiroh  Putri    Pasuruan
## 10 210605110033        Muhammad Sulthon Khairudin  Putra      Bekasi
## 11 210605110034             Hilmi Zuhri Adi Brata  Putra      Madiun
## 12 210605110035           Muhammad Zea Al Ghifari  Putra     Mataram
## 13 210605110036             Hamzah Faizal Asyhari  Putra      Malang
## 14 210605110037                   Kholilur Rohman  Putra Probolinggo
## 15 210605110038             Vivin Octavia Cahyani  Putri   Grobongan
## 16 210605110039                           Ade Ray  Putra Probolinggo
## 17 210605110040 Muhammad Ihya' Ulumuddin Al-Hazmi  Putra    Lamongan
## 18 210605110041                    Rizqi Al Fajri  Putra        Duri
## 19 210605110042                    Hajratul Aswad  Putri      Samili
## 20 210605110043               Arvin Azaria Munsyi  Putra     Sampang
##    Jumlah.Kelompok
## 1               10
## 2               12
## 3               14
## 4               16
## 5               18
## 6               20
## 7                9
## 8                7
## 9                5
## 10               3
## 11               1
## 12              21
## 13              23
## 14              25
## 15              27
## 16               2
## 17               6
## 18               8
## 19               4
## 20              26

Data Set dengan Catatan: Key “NIM” dan Value “Gender”

gender <- data.frame(
   NIM = c(210605110012, 210605110025, 210605110026, 210605110027, 210605110028, 210605110029, 210605110030, 210605110031, 210605110032, 210605110033, 210605110034, 210605110035, 210605110036, 210605110037, 210605110038, 210605110039, 210605110040, 210605110041, 210605110042, 210605110043 ), gender = c("Putri", "Putri", "Putri", "Putri", "Putra", "Putri", "Putri", "Putri", "Putri", "Putra", "Putra", "Putra", "Putra", "Putra", "Putri", "Putra", "Putra", "Putra", "Putri", "Putra" ),
stringsAsFactors = FALSE)
gender
##             NIM gender
## 1  210605110012  Putri
## 2  210605110025  Putri
## 3  210605110026  Putri
## 4  210605110027  Putri
## 5  210605110028  Putra
## 6  210605110029  Putri
## 7  210605110030  Putri
## 8  210605110031  Putri
## 9  210605110032  Putri
## 10 210605110033  Putra
## 11 210605110034  Putra
## 12 210605110035  Putra
## 13 210605110036  Putra
## 14 210605110037  Putra
## 15 210605110038  Putri
## 16 210605110039  Putra
## 17 210605110040  Putra
## 18 210605110041  Putra
## 19 210605110042  Putri
## 20 210605110043  Putra

Penerapan Data Set Inner Join

innerjoin <- Mahasiswa %>%
  inner_join(gender, by = "NIM")
innerjoin
##             NIM                    Nama.Mahasiswa gender
## 1  210605110012                Imamatul Khoiriyah  Putri
## 2  210605110025            Daurin Nabilatul Munna  Putri
## 3  210605110026          Enggarani Wahyu Ekaputri  Putri
## 4  210605110027                 Aldiana Damayanti  Putri
## 5  210605110028  Muhammad Tazkia Ikshanul Ma'arif  Putra
## 6  210605110029             Jea Syafrida Nurlaili  Putri
## 7  210605110030             Siti Rofidatus Saidah  Putri
## 8  210605110031                  Dwi Putri Adilah  Putri
## 9  210605110032          Mutiara Aprilia Dzakiroh  Putri
## 10 210605110033        Muhammad Sulthon Khairudin  Putra
## 11 210605110034             Hilmi Zuhri Adi Brata  Putra
## 12 210605110035           Muhammad Zea Al Ghifari  Putra
## 13 210605110036             Hamzah Faizal Asyhari  Putra
## 14 210605110037                   Kholilur Rohman  Putra
## 15 210605110038             Vivin Octavia Cahyani  Putri
## 16 210605110039                           Ade Ray  Putra
## 17 210605110040 Muhammad Ihya' Ulumuddin Al-Hazmi  Putra
## 18 210605110041                    Rizqi Al Fajri  Putra
## 19 210605110042                    Hajratul Aswad  Putri
## 20 210605110043               Arvin Azaria Munsyi  Putra

Penerapan Data Set Outer Join

1. A left joint

leftjoin <- left_join(Mahasiswa,gender)
## Joining, by = "NIM"
## Joining, by = "NIM"
leftjoin
##             NIM                    Nama.Mahasiswa gender
## 1  210605110012                Imamatul Khoiriyah  Putri
## 2  210605110025            Daurin Nabilatul Munna  Putri
## 3  210605110026          Enggarani Wahyu Ekaputri  Putri
## 4  210605110027                 Aldiana Damayanti  Putri
## 5  210605110028  Muhammad Tazkia Ikshanul Ma'arif  Putra
## 6  210605110029             Jea Syafrida Nurlaili  Putri
## 7  210605110030             Siti Rofidatus Saidah  Putri
## 8  210605110031                  Dwi Putri Adilah  Putri
## 9  210605110032          Mutiara Aprilia Dzakiroh  Putri
## 10 210605110033        Muhammad Sulthon Khairudin  Putra
## 11 210605110034             Hilmi Zuhri Adi Brata  Putra
## 12 210605110035           Muhammad Zea Al Ghifari  Putra
## 13 210605110036             Hamzah Faizal Asyhari  Putra
## 14 210605110037                   Kholilur Rohman  Putra
## 15 210605110038             Vivin Octavia Cahyani  Putri
## 16 210605110039                           Ade Ray  Putra
## 17 210605110040 Muhammad Ihya' Ulumuddin Al-Hazmi  Putra
## 18 210605110041                    Rizqi Al Fajri  Putra
## 19 210605110042                    Hajratul Aswad  Putri
## 20 210605110043               Arvin Azaria Munsyi  Putra

2. A right joint

rightjoin <- right_join(Mahasiswa,gender)
## Joining, by = "NIM"
## Joining, by = "NIM"
rightjoin
##             NIM                    Nama.Mahasiswa gender
## 1  210605110012                Imamatul Khoiriyah  Putri
## 2  210605110025            Daurin Nabilatul Munna  Putri
## 3  210605110026          Enggarani Wahyu Ekaputri  Putri
## 4  210605110027                 Aldiana Damayanti  Putri
## 5  210605110028  Muhammad Tazkia Ikshanul Ma'arif  Putra
## 6  210605110029             Jea Syafrida Nurlaili  Putri
## 7  210605110030             Siti Rofidatus Saidah  Putri
## 8  210605110031                  Dwi Putri Adilah  Putri
## 9  210605110032          Mutiara Aprilia Dzakiroh  Putri
## 10 210605110033        Muhammad Sulthon Khairudin  Putra
## 11 210605110034             Hilmi Zuhri Adi Brata  Putra
## 12 210605110035           Muhammad Zea Al Ghifari  Putra
## 13 210605110036             Hamzah Faizal Asyhari  Putra
## 14 210605110037                   Kholilur Rohman  Putra
## 15 210605110038             Vivin Octavia Cahyani  Putri
## 16 210605110039                           Ade Ray  Putra
## 17 210605110040 Muhammad Ihya' Ulumuddin Al-Hazmi  Putra
## 18 210605110041                    Rizqi Al Fajri  Putra
## 19 210605110042                    Hajratul Aswad  Putri
## 20 210605110043               Arvin Azaria Munsyi  Putra

3. A full joint

fulljoin <- full_join(Mahasiswa,gender)
## Joining, by = "NIM"
## Joining, by = "NIM"
fulljoin
##             NIM                    Nama.Mahasiswa gender
## 1  210605110012                Imamatul Khoiriyah  Putri
## 2  210605110025            Daurin Nabilatul Munna  Putri
## 3  210605110026          Enggarani Wahyu Ekaputri  Putri
## 4  210605110027                 Aldiana Damayanti  Putri
## 5  210605110028  Muhammad Tazkia Ikshanul Ma'arif  Putra
## 6  210605110029             Jea Syafrida Nurlaili  Putri
## 7  210605110030             Siti Rofidatus Saidah  Putri
## 8  210605110031                  Dwi Putri Adilah  Putri
## 9  210605110032          Mutiara Aprilia Dzakiroh  Putri
## 10 210605110033        Muhammad Sulthon Khairudin  Putra
## 11 210605110034             Hilmi Zuhri Adi Brata  Putra
## 12 210605110035           Muhammad Zea Al Ghifari  Putra
## 13 210605110036             Hamzah Faizal Asyhari  Putra
## 14 210605110037                   Kholilur Rohman  Putra
## 15 210605110038             Vivin Octavia Cahyani  Putri
## 16 210605110039                           Ade Ray  Putra
## 17 210605110040 Muhammad Ihya' Ulumuddin Al-Hazmi  Putra
## 18 210605110041                    Rizqi Al Fajri  Putra
## 19 210605110042                    Hajratul Aswad  Putri
## 20 210605110043               Arvin Azaria Munsyi  Putra

Referensi

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