Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Pengertian Relational

Database relasional adalah kumpulan item data dengan hubungan yang telah ditentukan sebelumnya. Berbagai item ini disusun menjadi satu set tabel dengan kolom dan baris. Tabel digunakan untuk menyimpan informasi tentang objek yang akan direpresentasikan dalam database. Tiap kolom pada tabel memuat jenis data tertentu dan bidang menyimpan nilai aktual atribut. Baris pada tabel merepresentasikan kumpulan nilai terkait dari satu objek atau entitas. Tiap baris pada tabel dapat ditandai dengan pengidentifikasi unik yang disebut kunci utama, dan baris di antara beberapa tabel dapat dibuat saling terkait menggunakan kunci asing. Data ini dapat diakses dengan berbagai cara tanpa menyusun ulang tabel basis data itu sendiri.

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()

Relational Data Sebagian Mahasiswa Teknik Informatika

Mahasiswa <- data.frame(
  NIM = c( 210605110131, 210605110132, 210605110133, 210605110134, 210605110135, 210605110136, 210605110137, 210605110138, 210605110139, 210605110140, 210605110141, 210605110142, 210605110143, 210605110144, 210605110145, 210605110146),
  'Nama' = c("MOH DAWUD", "FAIZAL REZA UBAIDILLAH", "DIMAS ARYA SAPUTRA", "ABDILLAH BAGUS SAPUTRA", "MUHAMMAD ZAKIN NADA ARYA", "JIHAN NAURAH", "AGATHA HAFIZ MAHARDIKA", "GIGIH AGUNG PRASETYO", "ANISA AYU PERMADANI", "KURNIA RAFI DARAJAD", "WANDA LEVIA DWI SAFIRTRI", "HAFIZ DANISWARA", "MUHAMMAD PUTRA ZIDAN NIZAR", "AGUSTINA MUFIDATUZZANIYA", "AWANG SIREGAR LENGGAH PERMEI", "IQLIMA RAHMA FITRI"),
 
   stringsAsFactors = FALSE)
Mahasiswa
##             NIM                         Nama
## 1  210605110131                    MOH DAWUD
## 2  210605110132       FAIZAL REZA UBAIDILLAH
## 3  210605110133           DIMAS ARYA SAPUTRA
## 4  210605110134       ABDILLAH BAGUS SAPUTRA
## 5  210605110135     MUHAMMAD ZAKIN NADA ARYA
## 6  210605110136                 JIHAN NAURAH
## 7  210605110137       AGATHA HAFIZ MAHARDIKA
## 8  210605110138         GIGIH AGUNG PRASETYO
## 9  210605110139          ANISA AYU PERMADANI
## 10 210605110140          KURNIA RAFI DARAJAD
## 11 210605110141     WANDA LEVIA DWI SAFIRTRI
## 12 210605110142              HAFIZ DANISWARA
## 13 210605110143   MUHAMMAD PUTRA ZIDAN NIZAR
## 14 210605110144     AGUSTINA MUFIDATUZZANIYA
## 15 210605110145 AWANG SIREGAR LENGGAH PERMEI
## 16 210605110146           IQLIMA RAHMA FITRI

Data Gender

gender <- data.frame(
  
   NIM = c(210605110131, 210605110132, 210605110133, 210605110134, 210605110135, 210605110136, 210605110137, 210605110138, 210605110139, 210605110140, 210605110141, 210605110142, 210605110143, 210605110144, 210605110145, 210605110146),
 
  
  'gender' = c("putra", "putra", "putra", "putra", "putra", "putri", 
"putra", "putra", "putri", "putra", "putri", "putra", "putra", "putri", "putra", "putri"),

  
stringsAsFactors = FALSE)
gender
##             NIM gender
## 1  210605110131  putra
## 2  210605110132  putra
## 3  210605110133  putra
## 4  210605110134  putra
## 5  210605110135  putra
## 6  210605110136  putri
## 7  210605110137  putra
## 8  210605110138  putra
## 9  210605110139  putri
## 10 210605110140  putra
## 11 210605110141  putri
## 12 210605110142  putra
## 13 210605110143  putra
## 14 210605110144  putri
## 15 210605110145  putra
## 16 210605110146  putri
library(dplyr)
mahasiswati1 <- merge(
  x = Mahasiswa,
  y = gender,
  by = 'NIM',
  all = TRUE
)
mahasiswati1
##             NIM                         Nama gender
## 1  210605110131                    MOH DAWUD  putra
## 2  210605110132       FAIZAL REZA UBAIDILLAH  putra
## 3  210605110133           DIMAS ARYA SAPUTRA  putra
## 4  210605110134       ABDILLAH BAGUS SAPUTRA  putra
## 5  210605110135     MUHAMMAD ZAKIN NADA ARYA  putra
## 6  210605110136                 JIHAN NAURAH  putri
## 7  210605110137       AGATHA HAFIZ MAHARDIKA  putra
## 8  210605110138         GIGIH AGUNG PRASETYO  putra
## 9  210605110139          ANISA AYU PERMADANI  putri
## 10 210605110140          KURNIA RAFI DARAJAD  putra
## 11 210605110141     WANDA LEVIA DWI SAFIRTRI  putri
## 12 210605110142              HAFIZ DANISWARA  putra
## 13 210605110143   MUHAMMAD PUTRA ZIDAN NIZAR  putra
## 14 210605110144     AGUSTINA MUFIDATUZZANIYA  putri
## 15 210605110145 AWANG SIREGAR LENGGAH PERMEI  putra
## 16 210605110146           IQLIMA RAHMA FITRI  putri

Asal Mabna

Mabna <- data.frame(
  
  NIM = c(210605110131, 210605110132, 210605110133, 210605110134, 210605110135, 210605110136, 210605110137, 210605110138, 210605110139, 210605110140, 210605110141, 210605110142, 210605110143, 210605110144, 210605110145, 210605110146), 
 

  'Mabna' = c("Al Ghazali", "Al Ghazali", "Al Ghazali", "Al Ghazali", "Ibu Rusyd", "Khadijah Al Kubra", "Ibnu Rusyd", "Ibnu Rusyd", "Khadijah Al Kubra", "Ibnu Rusyd", "Khadijah Al Kubra", "Ibnu Rusyd", "Ibnu Rusyd", "Khadijah Al Kubra", "Ibnu Sina", "Khadijah Al Kubra"),
  
stringsAsFactors = FALSE)
Mabna
##             NIM             Mabna
## 1  210605110131        Al Ghazali
## 2  210605110132        Al Ghazali
## 3  210605110133        Al Ghazali
## 4  210605110134        Al Ghazali
## 5  210605110135         Ibu Rusyd
## 6  210605110136 Khadijah Al Kubra
## 7  210605110137        Ibnu Rusyd
## 8  210605110138        Ibnu Rusyd
## 9  210605110139 Khadijah Al Kubra
## 10 210605110140        Ibnu Rusyd
## 11 210605110141 Khadijah Al Kubra
## 12 210605110142        Ibnu Rusyd
## 13 210605110143        Ibnu Rusyd
## 14 210605110144 Khadijah Al Kubra
## 15 210605110145         Ibnu Sina
## 16 210605110146 Khadijah Al Kubra
library(dplyr)
mahasiswati2 <- merge(
  x = mahasiswati1,
  y = Mabna,
  by = 'NIM',
  all = TRUE
  )
mahasiswati2
##             NIM                         Nama gender             Mabna
## 1  210605110131                    MOH DAWUD  putra        Al Ghazali
## 2  210605110132       FAIZAL REZA UBAIDILLAH  putra        Al Ghazali
## 3  210605110133           DIMAS ARYA SAPUTRA  putra        Al Ghazali
## 4  210605110134       ABDILLAH BAGUS SAPUTRA  putra        Al Ghazali
## 5  210605110135     MUHAMMAD ZAKIN NADA ARYA  putra         Ibu Rusyd
## 6  210605110136                 JIHAN NAURAH  putri Khadijah Al Kubra
## 7  210605110137       AGATHA HAFIZ MAHARDIKA  putra        Ibnu Rusyd
## 8  210605110138         GIGIH AGUNG PRASETYO  putra        Ibnu Rusyd
## 9  210605110139          ANISA AYU PERMADANI  putri Khadijah Al Kubra
## 10 210605110140          KURNIA RAFI DARAJAD  putra        Ibnu Rusyd
## 11 210605110141     WANDA LEVIA DWI SAFIRTRI  putri Khadijah Al Kubra
## 12 210605110142              HAFIZ DANISWARA  putra        Ibnu Rusyd
## 13 210605110143   MUHAMMAD PUTRA ZIDAN NIZAR  putra        Ibnu Rusyd
## 14 210605110144     AGUSTINA MUFIDATUZZANIYA  putri Khadijah Al Kubra
## 15 210605110145 AWANG SIREGAR LENGGAH PERMEI  putra         Ibnu Sina
## 16 210605110146           IQLIMA RAHMA FITRI  putri Khadijah Al Kubra

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

Gender<- data.frame(
    NIM = c(210605110131, 210605110132, 210605110133, 210605110134, 210605110135, 210605110136, 210605110137, 210605110138, 210605110139, 210605110140, 210605110141, 210605110142, 210605110143, 210605110144, 210605110145, 210605110146),
 
  
  'gender' = c("putra", "putra", "putra", "putra", "putra", "putri", "putra", "putra", "putri", "putra", "putri", "putra", "putra", "putri", "putra", "putri"),

  stringsAsFactors = FALSE)
Gender
##             NIM gender
## 1  210605110131  putra
## 2  210605110132  putra
## 3  210605110133  putra
## 4  210605110134  putra
## 5  210605110135  putra
## 6  210605110136  putri
## 7  210605110137  putra
## 8  210605110138  putra
## 9  210605110139  putri
## 10 210605110140  putra
## 11 210605110141  putri
## 12 210605110142  putra
## 13 210605110143  putra
## 14 210605110144  putri
## 15 210605110145  putra
## 16 210605110146  putri
innerjoin <- Mahasiswa %>%
  inner_join(Gender, by = "NIM")
innerjoin
##             NIM                         Nama gender
## 1  210605110131                    MOH DAWUD  putra
## 2  210605110132       FAIZAL REZA UBAIDILLAH  putra
## 3  210605110133           DIMAS ARYA SAPUTRA  putra
## 4  210605110134       ABDILLAH BAGUS SAPUTRA  putra
## 5  210605110135     MUHAMMAD ZAKIN NADA ARYA  putra
## 6  210605110136                 JIHAN NAURAH  putri
## 7  210605110137       AGATHA HAFIZ MAHARDIKA  putra
## 8  210605110138         GIGIH AGUNG PRASETYO  putra
## 9  210605110139          ANISA AYU PERMADANI  putri
## 10 210605110140          KURNIA RAFI DARAJAD  putra
## 11 210605110141     WANDA LEVIA DWI SAFIRTRI  putri
## 12 210605110142              HAFIZ DANISWARA  putra
## 13 210605110143   MUHAMMAD PUTRA ZIDAN NIZAR  putra
## 14 210605110144     AGUSTINA MUFIDATUZZANIYA  putri
## 15 210605110145 AWANG SIREGAR LENGGAH PERMEI  putra
## 16 210605110146           IQLIMA RAHMA FITRI  putri

Penerapan Data Mahasiswa Teknik Informatika Angkatan 21 pada Set Outer Join

  1. A Left Join
leftjoin <- left_join(Mahasiswa,Gender)
## Joining, by = "NIM"
leftjoin
##             NIM                         Nama gender
## 1  210605110131                    MOH DAWUD  putra
## 2  210605110132       FAIZAL REZA UBAIDILLAH  putra
## 3  210605110133           DIMAS ARYA SAPUTRA  putra
## 4  210605110134       ABDILLAH BAGUS SAPUTRA  putra
## 5  210605110135     MUHAMMAD ZAKIN NADA ARYA  putra
## 6  210605110136                 JIHAN NAURAH  putri
## 7  210605110137       AGATHA HAFIZ MAHARDIKA  putra
## 8  210605110138         GIGIH AGUNG PRASETYO  putra
## 9  210605110139          ANISA AYU PERMADANI  putri
## 10 210605110140          KURNIA RAFI DARAJAD  putra
## 11 210605110141     WANDA LEVIA DWI SAFIRTRI  putri
## 12 210605110142              HAFIZ DANISWARA  putra
## 13 210605110143   MUHAMMAD PUTRA ZIDAN NIZAR  putra
## 14 210605110144     AGUSTINA MUFIDATUZZANIYA  putri
## 15 210605110145 AWANG SIREGAR LENGGAH PERMEI  putra
## 16 210605110146           IQLIMA RAHMA FITRI  putri
  1. A Right Join
rightjoin <- right_join(Mahasiswa,Gender)
## Joining, by = "NIM"
rightjoin
##             NIM                         Nama gender
## 1  210605110131                    MOH DAWUD  putra
## 2  210605110132       FAIZAL REZA UBAIDILLAH  putra
## 3  210605110133           DIMAS ARYA SAPUTRA  putra
## 4  210605110134       ABDILLAH BAGUS SAPUTRA  putra
## 5  210605110135     MUHAMMAD ZAKIN NADA ARYA  putra
## 6  210605110136                 JIHAN NAURAH  putri
## 7  210605110137       AGATHA HAFIZ MAHARDIKA  putra
## 8  210605110138         GIGIH AGUNG PRASETYO  putra
## 9  210605110139          ANISA AYU PERMADANI  putri
## 10 210605110140          KURNIA RAFI DARAJAD  putra
## 11 210605110141     WANDA LEVIA DWI SAFIRTRI  putri
## 12 210605110142              HAFIZ DANISWARA  putra
## 13 210605110143   MUHAMMAD PUTRA ZIDAN NIZAR  putra
## 14 210605110144     AGUSTINA MUFIDATUZZANIYA  putri
## 15 210605110145 AWANG SIREGAR LENGGAH PERMEI  putra
## 16 210605110146           IQLIMA RAHMA FITRI  putri
  1. A full Join
fulljoin <- full_join(Mahasiswa,Gender)
## Joining, by = "NIM"
fulljoin
##             NIM                         Nama gender
## 1  210605110131                    MOH DAWUD  putra
## 2  210605110132       FAIZAL REZA UBAIDILLAH  putra
## 3  210605110133           DIMAS ARYA SAPUTRA  putra
## 4  210605110134       ABDILLAH BAGUS SAPUTRA  putra
## 5  210605110135     MUHAMMAD ZAKIN NADA ARYA  putra
## 6  210605110136                 JIHAN NAURAH  putri
## 7  210605110137       AGATHA HAFIZ MAHARDIKA  putra
## 8  210605110138         GIGIH AGUNG PRASETYO  putra
## 9  210605110139          ANISA AYU PERMADANI  putri
## 10 210605110140          KURNIA RAFI DARAJAD  putra
## 11 210605110141     WANDA LEVIA DWI SAFIRTRI  putri
## 12 210605110142              HAFIZ DANISWARA  putra
## 13 210605110143   MUHAMMAD PUTRA ZIDAN NIZAR  putra
## 14 210605110144     AGUSTINA MUFIDATUZZANIYA  putri
## 15 210605110145 AWANG SIREGAR LENGGAH PERMEI  putra
## 16 210605110146           IQLIMA RAHMA FITRI  putri

Daftar Pustaka

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

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