Pengertian

Relational Data adalah kumpulan item data dengan hubungan yang telah ditentukan sebelumnya. Berbagai item ini disusun menjadi satu set tabel dengan kolom dan baris.

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 Teknik Informatika Angkatan 2021

Mahasiswa <- data.frame(
  NIM = c(210605110088, 210605110089, 210605110090, 210605110091, 210605110092, 210605110093, 210605110094, 210605110095, 210605110096, 210605110097, 210605110098, 210605110099, 210605110100, 210605110101, 210605110102, 210605110103, 210605110104, 210605110105, 210605110107, 210605110108, 210605110109, 210605110110, 210605110111, 210605110112, 210605110113, 210605110114, 210605110115, 210605110116),
  'Nama' = c("Roihan Farras Setyadi","Aliffikri Hadini","Aninda Rizky Hartanti","Dika Afladhia Napiri","Willyan Imarta","Ilham Romadhon Ali Umri","Hasan Ilham Zauzan","Fairus Inam Pratama","Muhammad Irsyad Nurul Azmi","Muhammad Azra Dwi Rizky","Sayyed Aamir Hassan","Muhammad Haikal Akbar","Arneizha Biktarinanda","Maulana Hilmi Arkan","Muhammad Ridho","Amalia Amriadi","Moch Hasbi Ashidqy","Adila Qurrota A'yun","Rizal Alif","Faradina Aprilia","Adyatma Abidin","Didi Sarwin","M Rijal Khoironi","Nasywa Qoniatul Hayah","Muzzamil Rahmat Edi","Adnan Muhammad","Firda Arinda","Muhammad Naufal Hibatullah"),
  
  stringsAsFactors = FALSE)
Mahasiswa
##             NIM                       Nama
## 1  210605110088      Roihan Farras Setyadi
## 2  210605110089           Aliffikri Hadini
## 3  210605110090      Aninda Rizky Hartanti
## 4  210605110091       Dika Afladhia Napiri
## 5  210605110092             Willyan Imarta
## 6  210605110093    Ilham Romadhon Ali Umri
## 7  210605110094         Hasan Ilham Zauzan
## 8  210605110095        Fairus Inam Pratama
## 9  210605110096 Muhammad Irsyad Nurul Azmi
## 10 210605110097    Muhammad Azra Dwi Rizky
## 11 210605110098        Sayyed Aamir Hassan
## 12 210605110099      Muhammad Haikal Akbar
## 13 210605110100      Arneizha Biktarinanda
## 14 210605110101        Maulana Hilmi Arkan
## 15 210605110102             Muhammad Ridho
## 16 210605110103             Amalia Amriadi
## 17 210605110104         Moch Hasbi Ashidqy
## 18 210605110105        Adila Qurrota A'yun
## 19 210605110107                 Rizal Alif
## 20 210605110108           Faradina Aprilia
## 21 210605110109             Adyatma Abidin
## 22 210605110110                Didi Sarwin
## 23 210605110111           M Rijal Khoironi
## 24 210605110112      Nasywa Qoniatul Hayah
## 25 210605110113        Muzzamil Rahmat Edi
## 26 210605110114             Adnan Muhammad
## 27 210605110115               Firda Arinda
## 28 210605110116 Muhammad Naufal Hibatullah

Gender Mahasiswa Teknik Informatika Angkatan 2021

gender <- data.frame(
  NIM = c(210605110088, 210605110089, 210605110090, 210605110091, 210605110092, 210605110093, 210605110094, 210605110095, 210605110096, 210605110097, 210605110098, 210605110099, 210605110100, 210605110101, 210605110102, 210605110103, 210605110104, 210605110105, 210605110107, 210605110108, 210605110109, 210605110110, 210605110111, 210605110112, 210605110113, 210605110114, 210605110115, 210605110116),
  'gender' = c("Laki-Laki","Laki-Laki","Perempuan","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Perempuan","Laki-Laki","Laki-Laki","Perempuan","Laki-Laki","Perempuan","Laki-Laki","Perempuan","Laki-Laki","Laki-Laki","Laki-Laki","Perempuan","Laki-Laki","Laki-Laki","Perempuan","Laki-Laki"),
  
  stringsAsFactors = FALSE)
gender
##             NIM    gender
## 1  210605110088 Laki-Laki
## 2  210605110089 Laki-Laki
## 3  210605110090 Perempuan
## 4  210605110091 Laki-Laki
## 5  210605110092 Laki-Laki
## 6  210605110093 Laki-Laki
## 7  210605110094 Laki-Laki
## 8  210605110095 Laki-Laki
## 9  210605110096 Laki-Laki
## 10 210605110097 Laki-Laki
## 11 210605110098 Laki-Laki
## 12 210605110099 Laki-Laki
## 13 210605110100 Perempuan
## 14 210605110101 Laki-Laki
## 15 210605110102 Laki-Laki
## 16 210605110103 Perempuan
## 17 210605110104 Laki-Laki
## 18 210605110105 Perempuan
## 19 210605110107 Laki-Laki
## 20 210605110108 Perempuan
## 21 210605110109 Laki-Laki
## 22 210605110110 Laki-Laki
## 23 210605110111 Laki-Laki
## 24 210605110112 Perempuan
## 25 210605110113 Laki-Laki
## 26 210605110114 Laki-Laki
## 27 210605110115 Perempuan
## 28 210605110116 Laki-Laki
library(dplyr)
mahasiswati1 <- merge(
  x = Mahasiswa,
  y = gender,
  by = 'NIM',
  all = TRUE
)
mahasiswati1
##             NIM                       Nama    gender
## 1  210605110088      Roihan Farras Setyadi Laki-Laki
## 2  210605110089           Aliffikri Hadini Laki-Laki
## 3  210605110090      Aninda Rizky Hartanti Perempuan
## 4  210605110091       Dika Afladhia Napiri Laki-Laki
## 5  210605110092             Willyan Imarta Laki-Laki
## 6  210605110093    Ilham Romadhon Ali Umri Laki-Laki
## 7  210605110094         Hasan Ilham Zauzan Laki-Laki
## 8  210605110095        Fairus Inam Pratama Laki-Laki
## 9  210605110096 Muhammad Irsyad Nurul Azmi Laki-Laki
## 10 210605110097    Muhammad Azra Dwi Rizky Laki-Laki
## 11 210605110098        Sayyed Aamir Hassan Laki-Laki
## 12 210605110099      Muhammad Haikal Akbar Laki-Laki
## 13 210605110100      Arneizha Biktarinanda Perempuan
## 14 210605110101        Maulana Hilmi Arkan Laki-Laki
## 15 210605110102             Muhammad Ridho Laki-Laki
## 16 210605110103             Amalia Amriadi Perempuan
## 17 210605110104         Moch Hasbi Ashidqy Laki-Laki
## 18 210605110105        Adila Qurrota A'yun Perempuan
## 19 210605110107                 Rizal Alif Laki-Laki
## 20 210605110108           Faradina Aprilia Perempuan
## 21 210605110109             Adyatma Abidin Laki-Laki
## 22 210605110110                Didi Sarwin Laki-Laki
## 23 210605110111           M Rijal Khoironi Laki-Laki
## 24 210605110112      Nasywa Qoniatul Hayah Perempuan
## 25 210605110113        Muzzamil Rahmat Edi Laki-Laki
## 26 210605110114             Adnan Muhammad Laki-Laki
## 27 210605110115               Firda Arinda Perempuan
## 28 210605110116 Muhammad Naufal Hibatullah Laki-Laki
Asal <- data.frame(
  NIM = c(210605110088, 210605110089, 210605110090, 210605110091, 210605110092, 210605110093, 210605110094, 210605110095, 210605110096, 210605110097, 210605110098, 210605110099, 210605110100, 210605110101, 210605110102, 210605110103, 210605110104, 210605110105, 210605110107, 210605110108, 210605110109, 210605110110, 210605110111, 210605110112, 210605110113, 210605110114, 210605110115, 210605110116),
  
  'Asal' = c("Probolinggo","Kendari","Bogor","Pekanbaru","Tulungagung","Pamekasan","Malang","Malang","Pasuruan","Tembilahan","Blitar","Jakarta","Pacitan","Blora","Pekanbaru","Maluk","Probolinggo","Bojonegoro","Kediri","Malang","Surabaya","Mataram","Malang","Blitar","Parepare","Cianjur","Lamongan","Depok"),
  stringsAsFactors = FALSE)
Asal
##             NIM        Asal
## 1  210605110088 Probolinggo
## 2  210605110089     Kendari
## 3  210605110090       Bogor
## 4  210605110091   Pekanbaru
## 5  210605110092 Tulungagung
## 6  210605110093   Pamekasan
## 7  210605110094      Malang
## 8  210605110095      Malang
## 9  210605110096    Pasuruan
## 10 210605110097  Tembilahan
## 11 210605110098      Blitar
## 12 210605110099     Jakarta
## 13 210605110100     Pacitan
## 14 210605110101       Blora
## 15 210605110102   Pekanbaru
## 16 210605110103       Maluk
## 17 210605110104 Probolinggo
## 18 210605110105  Bojonegoro
## 19 210605110107      Kediri
## 20 210605110108      Malang
## 21 210605110109    Surabaya
## 22 210605110110     Mataram
## 23 210605110111      Malang
## 24 210605110112      Blitar
## 25 210605110113    Parepare
## 26 210605110114     Cianjur
## 27 210605110115    Lamongan
## 28 210605110116       Depok
library(dplyr)
mahasiswati2 <- merge(
  x = mahasiswati1,
  y = Asal,
  by = 'NIM',
  all = TRUE
)
mahasiswati2
##             NIM                       Nama    gender        Asal
## 1  210605110088      Roihan Farras Setyadi Laki-Laki Probolinggo
## 2  210605110089           Aliffikri Hadini Laki-Laki     Kendari
## 3  210605110090      Aninda Rizky Hartanti Perempuan       Bogor
## 4  210605110091       Dika Afladhia Napiri Laki-Laki   Pekanbaru
## 5  210605110092             Willyan Imarta Laki-Laki Tulungagung
## 6  210605110093    Ilham Romadhon Ali Umri Laki-Laki   Pamekasan
## 7  210605110094         Hasan Ilham Zauzan Laki-Laki      Malang
## 8  210605110095        Fairus Inam Pratama Laki-Laki      Malang
## 9  210605110096 Muhammad Irsyad Nurul Azmi Laki-Laki    Pasuruan
## 10 210605110097    Muhammad Azra Dwi Rizky Laki-Laki  Tembilahan
## 11 210605110098        Sayyed Aamir Hassan Laki-Laki      Blitar
## 12 210605110099      Muhammad Haikal Akbar Laki-Laki     Jakarta
## 13 210605110100      Arneizha Biktarinanda Perempuan     Pacitan
## 14 210605110101        Maulana Hilmi Arkan Laki-Laki       Blora
## 15 210605110102             Muhammad Ridho Laki-Laki   Pekanbaru
## 16 210605110103             Amalia Amriadi Perempuan       Maluk
## 17 210605110104         Moch Hasbi Ashidqy Laki-Laki Probolinggo
## 18 210605110105        Adila Qurrota A'yun Perempuan  Bojonegoro
## 19 210605110107                 Rizal Alif Laki-Laki      Kediri
## 20 210605110108           Faradina Aprilia Perempuan      Malang
## 21 210605110109             Adyatma Abidin Laki-Laki    Surabaya
## 22 210605110110                Didi Sarwin Laki-Laki     Mataram
## 23 210605110111           M Rijal Khoironi Laki-Laki      Malang
## 24 210605110112      Nasywa Qoniatul Hayah Perempuan      Blitar
## 25 210605110113        Muzzamil Rahmat Edi Laki-Laki    Parepare
## 26 210605110114             Adnan Muhammad Laki-Laki     Cianjur
## 27 210605110115               Firda Arinda Perempuan    Lamongan
## 28 210605110116 Muhammad Naufal Hibatullah Laki-Laki       Depok

Data Mahasiswa dengan “NIM” sebagai key dan “Gender” sebagai value

Gender <- data.frame(
  NIM = c(210605110088, 210605110089, 210605110090, 210605110091, 210605110092, 210605110093, 210605110094, 210605110095, 210605110096, 210605110097, 210605110098, 210605110099, 210605110100, 210605110101, 210605110102, 210605110103, 210605110104, 210605110105, 210605110107, 210605110108, 210605110109, 210605110110, 210605110111, 210605110112, 210605110113, 210605110114, 210605110115, 210605110116),
  
  'gender' = c("Laki-Laki","Laki-Laki","Perempuan","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Laki-Laki","Perempuan","Laki-Laki","Laki-Laki","Perempuan","Laki-Laki","Perempuan","Laki-Laki","Perempuan","Laki-Laki","Laki-Laki","Laki-Laki","Perempuan","Laki-Laki","Laki-Laki","Perempuan","Laki-Laki"),
  
  stringsAsFactors = FALSE)
Gender
##             NIM    gender
## 1  210605110088 Laki-Laki
## 2  210605110089 Laki-Laki
## 3  210605110090 Perempuan
## 4  210605110091 Laki-Laki
## 5  210605110092 Laki-Laki
## 6  210605110093 Laki-Laki
## 7  210605110094 Laki-Laki
## 8  210605110095 Laki-Laki
## 9  210605110096 Laki-Laki
## 10 210605110097 Laki-Laki
## 11 210605110098 Laki-Laki
## 12 210605110099 Laki-Laki
## 13 210605110100 Perempuan
## 14 210605110101 Laki-Laki
## 15 210605110102 Laki-Laki
## 16 210605110103 Perempuan
## 17 210605110104 Laki-Laki
## 18 210605110105 Perempuan
## 19 210605110107 Laki-Laki
## 20 210605110108 Perempuan
## 21 210605110109 Laki-Laki
## 22 210605110110 Laki-Laki
## 23 210605110111 Laki-Laki
## 24 210605110112 Perempuan
## 25 210605110113 Laki-Laki
## 26 210605110114 Laki-Laki
## 27 210605110115 Perempuan
## 28 210605110116 Laki-Laki

Penerapan Data Mahasiswa Teknik Informatika Angkatan 2021 pada inner Join

innerjoin <- Mahasiswa %>%
  inner_join(Gender, by = "NIM")
innerjoin
##             NIM                       Nama    gender
## 1  210605110088      Roihan Farras Setyadi Laki-Laki
## 2  210605110089           Aliffikri Hadini Laki-Laki
## 3  210605110090      Aninda Rizky Hartanti Perempuan
## 4  210605110091       Dika Afladhia Napiri Laki-Laki
## 5  210605110092             Willyan Imarta Laki-Laki
## 6  210605110093    Ilham Romadhon Ali Umri Laki-Laki
## 7  210605110094         Hasan Ilham Zauzan Laki-Laki
## 8  210605110095        Fairus Inam Pratama Laki-Laki
## 9  210605110096 Muhammad Irsyad Nurul Azmi Laki-Laki
## 10 210605110097    Muhammad Azra Dwi Rizky Laki-Laki
## 11 210605110098        Sayyed Aamir Hassan Laki-Laki
## 12 210605110099      Muhammad Haikal Akbar Laki-Laki
## 13 210605110100      Arneizha Biktarinanda Perempuan
## 14 210605110101        Maulana Hilmi Arkan Laki-Laki
## 15 210605110102             Muhammad Ridho Laki-Laki
## 16 210605110103             Amalia Amriadi Perempuan
## 17 210605110104         Moch Hasbi Ashidqy Laki-Laki
## 18 210605110105        Adila Qurrota A'yun Perempuan
## 19 210605110107                 Rizal Alif Laki-Laki
## 20 210605110108           Faradina Aprilia Perempuan
## 21 210605110109             Adyatma Abidin Laki-Laki
## 22 210605110110                Didi Sarwin Laki-Laki
## 23 210605110111           M Rijal Khoironi Laki-Laki
## 24 210605110112      Nasywa Qoniatul Hayah Perempuan
## 25 210605110113        Muzzamil Rahmat Edi Laki-Laki
## 26 210605110114             Adnan Muhammad Laki-Laki
## 27 210605110115               Firda Arinda Perempuan
## 28 210605110116 Muhammad Naufal Hibatullah Laki-Laki

Penerapan Data Mahasiswa Teknik Informatika Angkatan 2021 pada Set Outer Join

1. A Left Join

leftjoin <- left_join(Mahasiswa,Gender)
## Joining, by = "NIM"
leftjoin
##             NIM                       Nama    gender
## 1  210605110088      Roihan Farras Setyadi Laki-Laki
## 2  210605110089           Aliffikri Hadini Laki-Laki
## 3  210605110090      Aninda Rizky Hartanti Perempuan
## 4  210605110091       Dika Afladhia Napiri Laki-Laki
## 5  210605110092             Willyan Imarta Laki-Laki
## 6  210605110093    Ilham Romadhon Ali Umri Laki-Laki
## 7  210605110094         Hasan Ilham Zauzan Laki-Laki
## 8  210605110095        Fairus Inam Pratama Laki-Laki
## 9  210605110096 Muhammad Irsyad Nurul Azmi Laki-Laki
## 10 210605110097    Muhammad Azra Dwi Rizky Laki-Laki
## 11 210605110098        Sayyed Aamir Hassan Laki-Laki
## 12 210605110099      Muhammad Haikal Akbar Laki-Laki
## 13 210605110100      Arneizha Biktarinanda Perempuan
## 14 210605110101        Maulana Hilmi Arkan Laki-Laki
## 15 210605110102             Muhammad Ridho Laki-Laki
## 16 210605110103             Amalia Amriadi Perempuan
## 17 210605110104         Moch Hasbi Ashidqy Laki-Laki
## 18 210605110105        Adila Qurrota A'yun Perempuan
## 19 210605110107                 Rizal Alif Laki-Laki
## 20 210605110108           Faradina Aprilia Perempuan
## 21 210605110109             Adyatma Abidin Laki-Laki
## 22 210605110110                Didi Sarwin Laki-Laki
## 23 210605110111           M Rijal Khoironi Laki-Laki
## 24 210605110112      Nasywa Qoniatul Hayah Perempuan
## 25 210605110113        Muzzamil Rahmat Edi Laki-Laki
## 26 210605110114             Adnan Muhammad Laki-Laki
## 27 210605110115               Firda Arinda Perempuan
## 28 210605110116 Muhammad Naufal Hibatullah Laki-Laki

2. A Right Join

rightjoin <- right_join(Mahasiswa,Gender)
## Joining, by = "NIM"
rightjoin
##             NIM                       Nama    gender
## 1  210605110088      Roihan Farras Setyadi Laki-Laki
## 2  210605110089           Aliffikri Hadini Laki-Laki
## 3  210605110090      Aninda Rizky Hartanti Perempuan
## 4  210605110091       Dika Afladhia Napiri Laki-Laki
## 5  210605110092             Willyan Imarta Laki-Laki
## 6  210605110093    Ilham Romadhon Ali Umri Laki-Laki
## 7  210605110094         Hasan Ilham Zauzan Laki-Laki
## 8  210605110095        Fairus Inam Pratama Laki-Laki
## 9  210605110096 Muhammad Irsyad Nurul Azmi Laki-Laki
## 10 210605110097    Muhammad Azra Dwi Rizky Laki-Laki
## 11 210605110098        Sayyed Aamir Hassan Laki-Laki
## 12 210605110099      Muhammad Haikal Akbar Laki-Laki
## 13 210605110100      Arneizha Biktarinanda Perempuan
## 14 210605110101        Maulana Hilmi Arkan Laki-Laki
## 15 210605110102             Muhammad Ridho Laki-Laki
## 16 210605110103             Amalia Amriadi Perempuan
## 17 210605110104         Moch Hasbi Ashidqy Laki-Laki
## 18 210605110105        Adila Qurrota A'yun Perempuan
## 19 210605110107                 Rizal Alif Laki-Laki
## 20 210605110108           Faradina Aprilia Perempuan
## 21 210605110109             Adyatma Abidin Laki-Laki
## 22 210605110110                Didi Sarwin Laki-Laki
## 23 210605110111           M Rijal Khoironi Laki-Laki
## 24 210605110112      Nasywa Qoniatul Hayah Perempuan
## 25 210605110113        Muzzamil Rahmat Edi Laki-Laki
## 26 210605110114             Adnan Muhammad Laki-Laki
## 27 210605110115               Firda Arinda Perempuan
## 28 210605110116 Muhammad Naufal Hibatullah Laki-Laki

3. A Full Join

fulljoin <- full_join(Mahasiswa,Gender)
## Joining, by = "NIM"
fulljoin
##             NIM                       Nama    gender
## 1  210605110088      Roihan Farras Setyadi Laki-Laki
## 2  210605110089           Aliffikri Hadini Laki-Laki
## 3  210605110090      Aninda Rizky Hartanti Perempuan
## 4  210605110091       Dika Afladhia Napiri Laki-Laki
## 5  210605110092             Willyan Imarta Laki-Laki
## 6  210605110093    Ilham Romadhon Ali Umri Laki-Laki
## 7  210605110094         Hasan Ilham Zauzan Laki-Laki
## 8  210605110095        Fairus Inam Pratama Laki-Laki
## 9  210605110096 Muhammad Irsyad Nurul Azmi Laki-Laki
## 10 210605110097    Muhammad Azra Dwi Rizky Laki-Laki
## 11 210605110098        Sayyed Aamir Hassan Laki-Laki
## 12 210605110099      Muhammad Haikal Akbar Laki-Laki
## 13 210605110100      Arneizha Biktarinanda Perempuan
## 14 210605110101        Maulana Hilmi Arkan Laki-Laki
## 15 210605110102             Muhammad Ridho Laki-Laki
## 16 210605110103             Amalia Amriadi Perempuan
## 17 210605110104         Moch Hasbi Ashidqy Laki-Laki
## 18 210605110105        Adila Qurrota A'yun Perempuan
## 19 210605110107                 Rizal Alif Laki-Laki
## 20 210605110108           Faradina Aprilia Perempuan
## 21 210605110109             Adyatma Abidin Laki-Laki
## 22 210605110110                Didi Sarwin Laki-Laki
## 23 210605110111           M Rijal Khoironi Laki-Laki
## 24 210605110112      Nasywa Qoniatul Hayah Perempuan
## 25 210605110113        Muzzamil Rahmat Edi Laki-Laki
## 26 210605110114             Adnan Muhammad Laki-Laki
## 27 210605110115               Firda Arinda Perempuan
## 28 210605110116 Muhammad Naufal Hibatullah Laki-Laki

Referensi

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

https://aws.amazon.com/id/relational-database/