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 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)
## -- 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()
## 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.4     v dplyr   1.0.7
## v tidyr   1.1.4     v stringr 1.4.0
## v readr   2.0.2     v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag()    masks stats::lag()

2 Tabel No Induk dan Nama Siswa Kelas 12 MIPA 5

DataSiswa <- data.frame(
  INDUK = c(27423, 74224,  27425,  27426,  27427,  27428, 27429,  27430,  27431, 27432, 27433, 27434, 27435, 27436,  27437, 27438, 27439,  27440, 27441, 27442, 27443, 27444, 27445, 27446, 27447, 27448, 27449, 27450, 27451, 27452, 27453, 27454, 27455, 27456, 27457 ), 'Nama Siswa' = c("Aisyah Virlyana Wardhany", "Anasidza Rahmatun  isya", "Angel Septia Pramesti", "Aprilia Syafna Ningtyas", "Aura Safira Bilqis Al-Nuri", "Azka Ilma Zhafirah", "Dea Aprilia Putri Anjali Subagya", "Della Septi Kuntum Wijayanti", "Dewi Puji Badi`ul Fitriyah", "Estuning Tyas", "Fadhillah Fatimah Az-Zahro", "Faza Fahimatul `Ilmiyah", "Hasna Farrosah Diwany", "Hasyima Mazya Isthifaiyya", "Hilyatul Auliya`", "Isna Septa Mareza", "Jihan Azzahra Ardi Puteri", "Khildah Athiyyah", "Kurnia Widya Bunga Putri Maharani", "Lailil Mukarromah", "Mega Noviantri Hikma Ramadani", "Nafirah Khusna Aura Fajriyani", "Nafirah Khusna Aura Fajriyani", "Putri Maharani Salsa Bilatussalama", "Qurrotu Ainin Nadhifah", "Revi Qur`ani Syahraini", "Rizki Hidayatul Khoiriyah", "Rohilah Ilal Ilah", "Shafira Halmahera", "Shalma Annisa Desyanti", "Siska Dewi Ang  raini", "Syifaun Najwa", "Thiflah Sa`diyah Alma Sholihah", "Zalfa Awwala Qurrota A`yun", "Zelda Zawal Zettira Zahroh"),
stringsAsFactors = FALSE)
DataSiswa

3 Tabel Data Nomor Peserta

DataPeserta <- data.frame(
   INDUK = c(27423, 74224,  27425,  27426,  27427,  27428, 27429,  27430,  27431, 27432, 27433, 27434, 27435, 27436,  27437, 27438, 27439,  27440, 27441, 27442, 27443, 27444, 27445, 27446, 27447, 27448, 27449, 27450, 27451, 27452, 27453, 27454, 27455, 27456, 27457), NoPeserta = c("333-797-143", "333-797-144","333-797-145", "333-797-146", "333-797-147", "333-797-148", "333-797-149", "333-797-150", "333-797-151", "333-797-152", "333-797-153", "333-797-154", "333-797-155", "333-797-156", "333-797-157", "333-797-158", "333-797-159", "333-797-160", "333-797-161", "333-797-162", "333-797-163", "333-797-164", "333-797-165", "333-797-166", "333-797-167", "333-797-168", "333-797-169", "333-797-170", "333-797-171", "333-797-172", "333-797-173", "333-797-174", "333-797-175", "333-797-176", "333-797-177"),
stringsAsFactors = FALSE)
DataPeserta

4 Tabel Data Siswa dan Nomor Peserta Ujian

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

5 Tabel Data Skor Ujian

DataSkor <- data.frame(
   INDUK = c(27423, 74224,  27425,  27426,  27427,  27428, 27429,  27430,  27431, 27432, 27433, 27434, 27435, 27436,  27437, 27438, 27439,  27440, 27441, 27442, 27443, 27444, 27445, 27446, 27447, 27448, 27449, 27450, 27451, 27452, 27453, 27454, 27455, 27456, 27457),
Nilai = c("70", "85", "50", "70", "65", "55", "90", "100", "70", "95", "70", "65", "85", "85", "80", "70", "65", "65", "70", "55", "45", "75", "70", "80", "85", "80", "80", "80", "60", "45", "75", "75", "95", "75", "65"),
stringsAsFactors = FALSE)
DataSkor

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

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

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

DataSiswa <- data.frame(
   INDUK = c(27423, 74224,  27425,  27426,  27427,  27428, 27429,  27430,  27431, 27432, 27433, 27434, 27435, 27436,  27437, 27438, 27439,  27440, 27441, 27442, 27443, 27444, 27445, 27446, 27447, 27448, 27449, 27450, 27451, 27452, 27453, 27454, 27455, 27456, 27457), 'Nama Siswa' = c("Aisyah Virlyana Wardhany", "Anasidza Rahmatun  isya", "Angel Septia Pramesti", "Aprilia Syafna Ningtyas", "Aura Safira Bilqis Al-Nuri", "Azka Ilma Zhafirah", "Dea Aprilia Putri Anjali Subagya", "Della Septi Kuntum Wijayanti", "Dewi Puji Badi`ul Fitriyah", "Estuning Tyas", "Fadhillah Fatimah Az-Zahro", "Faza Fahimatul `Ilmiyah", "Hasna Farrosah Diwany", "Hasyima Mazya Isthifaiyya", "Hilyatul Auliya`", "Isna Septa Mareza", "Jihan Azzahra Ardi Puteri", "Khildah Athiyyah", "Kurnia Widya Bunga Putri Maharani", "Lailil Mukarromah", "Mega Noviantri Hikma Ramadani", "Nafirah Khusna Aura Fajriyani", "Nafirah Khusna Aura Fajriyani", "Putri Maharani Salsa Bilatussalama", "Qurrotu Ainin Nadhifah", "Revi Qur`ani Syahraini", "Rizki Hidayatul Khoiriyah", "Rohilah Ilal Ilah", "Shafira Halmahera", "Shalma Annisa Desyanti", "Siska Dewi Ang  raini", "Syifaun Najwa", "Thiflah Sa`diyah Alma Sholihah", "Zalfa Awwala Qurrota A`yun", "Zelda Zawal Zettira Zahroh"),
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"
## Joining, by = "INDUK"
## Joining, by = "INDUK"
leftjoin

2.) A Right Join

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

3.) A Full Join

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

\(Referensi\)