0.0.1 Dosen Pengampu : Prof. Dr. Suhartono, M.Kom

0.0.2 Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang

0.0.3 Jurusan : Teknik Informatika

0.0.4 Fakultas : Sains dan Teknologi


1 Pengertian Data Relational

Data Relational adalah suatu model basis data yang menggunakan tabel dua dimensi, yang terdiri atas baris dan kolom untuk menggambarkan sebuah berkas data. Model ini menunjukkan cara mengelola atau mengorganisasikan data secara fisik dalam memory sekunder, yang akan berdampak pula pada bagaimana kita mengelompokkan data dan membentuk keseluruhan data yang terkait dalam sistem yang kita buat.

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

2 Tabel Nomor Induk Siswa dan Nama Siswa

DataSiswa <- data.frame(
  INDUK = c(12571, 12572, 12573, 12574, 12576, 12577, 12578,  12579, 12580, 12581, 12583, 12586, 12587, 12588, 12590, 12591, 12592, 12593, 12594, 12595, 12596, 12597, 12598, 12599, 12600, 12601, 12601, 12604), 'Nama Siswa' = c("ACHMAD CHOIRUL AMRI", "ADITYA DWI KURNIAWAN", "AHMAD ARIYEGA", "ALKHAFI ARGADAIVA", "ANDIKA ANUGRAH RAMADHAN", "ANWAR AL FAUZAN", "AULYA INDRIANA", "AYAZ AL-FATIH", "DEFANY OKTAVIANA", "FAJAR DWI RANGGA", "GALIH ARYA SUSANTO", "MUCHAMAD KAHFY EKA SAPUTRA", "MUHAMMAD AZHAR", "MUHAMMAD FAJAR ALDIANSYAH", "MUHAMMAD HILMY IRFAN SYAKIR", "MUHAMMAD RIFKY RAMADHAN", "MUHAMMAD ZIDAN DIAS MAYAR", "NUR DIANSYAH","NURAENI KURNIA ASTUTI", "PUTRI JULIA ANGGRAINI", "R AGUNG YUDHA CHAYADI", "RAKHA ARIANSYAH", "REIHAN FERDIANSYAH", "RESA ANDINI DWINANTI", "RIDWAN ADI WICAKSONO", "RIFQA SHABHRINA RAMADANNISSA", "VITO YUSRI MAHESA", "ZELDA SEVRRYNA JUWITA"),
stringsAsFactors = FALSE) 
DataSiswa

3 Tabel Data Nomor Presensi Peserta

DataPeserta <- data.frame(
  INDUK = c(12571, 12572, 12573, 12574, 12576, 12577, 12578,  12579, 12580, 12581, 12583, 12586, 12587, 12588, 12590, 12591, 12592, 12593, 12594, 12595, 12596, 12597, 12598, 12599, 12600, 12601, 12601, 12604), NoPresensi = c("1", "2", "3", "4", "6", "7", "8", "9", "10", "11", "12", "15", "16", "17", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "32", "33"),
  stringsAsFactors = FALSE)
DataPeserta

4 Tabel Data siswa Dan Nomor Presensi

library(dplyr)
SiswaXii <- merge(
  x = DataSiswa,
  y = DataPeserta,
  by = 'INDUK',
  all = TRUE
)
SiswaXii

5 Tabel Data Skor Ujian

DataSkor <- data.frame(INDUK = c(12571, 12572, 12573, 12574, 12576, 12577, 12578,  12579, 12580, 12581, 12583, 12586, 12587, 12588, 12590, 12591, 12592, 12593, 12594, 12595, 12596, 12597, 12598, 12599, 12600, 12601, 12601, 12604), Nilai = c("66", "64", "54", "66", "58", "62", "66", "68", "62","64", "62", "58","52", "62", "40", "62","70", "60", "66", "68", "60", "58", "64", "64", "48", "70", "60", "48"),
stringsAsFactors = FALSE)
DataSkor

6 Tabel Data Nama Siswa,Nomor Presensi, dan Nilai Ujian

library(dplyr)
SiswaXii <- merge(
  x = SiswaXii,
  y = DataSkor,
  by = 'INDUK',
  all = TRUE
  )
SiswaXii

7 Data Set Menggunakan Key “INDUK” dan Value “Nama Siswa”

DataSiswa <- data.frame(
  INDUK = c(12571, 12572, 12573, 12574, 12576, 12577, 12578,  12579, 12580, 12581, 12583, 12586, 12587, 12588, 12590, 12591, 12592, 12593, 12594, 12595, 12596, 12597, 12598, 12599, 12600, 12601, 12601, 12604), 'Nama Siswa' = c("ACHMAD CHOIRUL AMRI", "ADITYA DWI KURNIAWAN", "AHMAD ARIYEGA", "ALKHAFI ARGADAIVA", "ANDIKA ANUGRAH RAMADHAN", "ANWAR AL FAUZAN", "AULYA INDRIANA", "AYAZ AL-FATIH", "DEFANY OKTAVIANA", "FAJAR DWI RANGGA", "GALIH ARYA SUSANTO", "MUCHAMAD KAHFY EKA SAPUTRA", "MUHAMMAD AZHAR", "MUHAMMAD FAJAR ALDIANSYAH", "MUHAMMAD HILMY IRFAN SYAKIR", "MUHAMMAD RIFKY RAMADHAN", "MUHAMMAD ZIDAN DIAS MAYAR", "NUR DIANSYAH","NURAENI KURNIA ASTUTI", "PUTRI JULIA ANGGRAINI", "R AGUNG YUDHA CHAYADI", "RAKHA ARIANSYAH", "REIHAN FERDIANSYAH", "RESA ANDINI DWINANTI", "RIDWAN ADI WICAKSONO", "RIFQA SHABHRINA RAMADANNISSA", "VITO YUSRI MAHESA", "ZELDA SEVRRYNA JUWITA"),
stringsAsFactors = FALSE) 
DataSiswa

8 Penerapan Data Set Inner Join

innerJoin <- DataSkor %>%
  inner_join(DataSiswa, by = "INDUK")
innerJoin

9 Penerapan Data Set Outer Join

< - 1. A Left Join

leftjoin <- left_join(DataSkor,DataSiswa)
## Joining, by = "INDUK"

< - 2. A Right Join

rightjoin <- right_join(DataSkor,DataSiswa)
## Joining, by = "INDUK"

< - 3. A Full Join

fulljoin <- full_join(DataSkor,DataSiswa)
## Joining, by = "INDUK"

10 Referensi

10.4 R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

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

10.5 Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.