Lembaga : UIN Maulana Malik Ibrahim, Teknik Informatika

Relational Data

Pengertian

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.

Kelompok yang bekerja dengan data relasional

Untuk berkerja dengan data relasional ini ada 3 kelompok yang bekerja dengan pasangan tabel. Diantaranya:

  1. Mutasi Gabungan, yang menambah Variabel baru ke satu bingkai data dari pengamatan yang cocok di yang lain.

  2. Gabungan pemfilteran, yang memfilter pengamatan dari satu bingkai data berdasarkan apakah mereka cocok atau tidak dengan pengamatan di tabel lain.

  3. Operasi set, yang memperlakukan observasi seolah-olah itu adalah elemen yang ditetapkan.

Cara Menggunakan Relational Data Set

Cara Pertama

Hal pertama yang kita lakukan yaitu mengaktifkan library tidyverse dengan cara menginstall package install.packages(“tidyverse”)

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

Cara Kedua

Cara kedua membuat data set dengan menggunakan data.frame() yang digunakan untuk membuat tabel data.

data_desa <-data.frame(Desa = c('Bapangan', 'Tahunan', 'Potroyudan', 'Bnagsri', 'Mlonggo', 'Senenan', 'Kauman', 'Krapyak'),
Penduduk = c(220, 310, 390, 600, 544, 475, 234, 195),
stringsAsFactors = FALSE)
data_rumah <-data.frame(Desa = c('Bapangan', 'Tahunan', 'Potroyudan', 'Bnagsri', 'Mlonggo', 'Senenan', 'Kauman', 'Krapyak'),
"Jumlah Rumah" = c (150, 255, 200, 452, 204, 212, 170, 100),
stringsAsFactors = FALSE)

Cara Ketiga

Setelah menulis data yang akan dijadikan tabel selajutnya kita menampilkan data tersebut :

data_desa
##         Desa Penduduk
## 1   Bapangan      220
## 2    Tahunan      310
## 3 Potroyudan      390
## 4    Bnagsri      600
## 5    Mlonggo      544
## 6    Senenan      475
## 7     Kauman      234
## 8    Krapyak      195
data_rumah
##         Desa Jumlah.Rumah
## 1   Bapangan          150
## 2    Tahunan          255
## 3 Potroyudan          200
## 4    Bnagsri          452
## 5    Mlonggo          204
## 6    Senenan          212
## 7     Kauman          170
## 8    Krapyak          100

Cara menggabungkan data set

Jika sudah bisa menjadikan data tersebut menjadi tabel langkah selanjutnya kita menghubungkan atau menggabungkan kedua tabel data set tersebut, sebagai acuan untuk mencocokkan adalah pada variabel “key”. Dalam contoh ini, kita akan mencocokan antara variabel “key” pada tabel x, dengan variabel “key” pada tabel y, kedua tabel tersebut digeneralisasi secara langsung ke beberapa key dan ke beberapa value.

Disi kita bisa menekankan bahwa penggabungan adalah mencocokan kedua tabel berdasarkan variabel “key” ; kemudian nilainya akan dibawa ke salah satu tabel.) Dalam gabungan yang sebenarnya, kecocokan akan ditunjukkan dengan titik. Jumlah titik = jumlah pencocokan = jumlah baris yang akan dibawah ke salah satu tabel.

Cara Keempat

Ada beberapa cara untuk menggabungkan.

  1. Dengan cara Inner Join

Jenis gabungan yang paling sederhana adalah Inner join. Inner join adalah proses penggabungan dua tabel, dimana dalam mencocokkan nya menggunakan dengan variabel “key” yang sama pada kedua tabel. (Tepatnya, ini adalah inner equijoin karena kuncinya adalah mencocokkan kedua tabel menggunakan operator persamaan. Karena kebanyakan gabungan yang ada adalah equijoin.)

data_desa %>%
  inner_join(data_rumah, by = "Desa")
##         Desa Penduduk Jumlah.Rumah
## 1   Bapangan      220          150
## 2    Tahunan      310          255
## 3 Potroyudan      390          200
## 4    Bnagsri      600          452
## 5    Mlonggo      544          204
## 6    Senenan      475          212
## 7     Kauman      234          170
## 8    Krapyak      195          100
  1. Outer Join Outer join akan menyimpan data yang berbeda dengan inner join , dimana data yang sesuai dan muncul di salah satu tabel. Terdapa tiga macam Outer joins:

    1. A left joint adalah menyimpan semua pengamatan di data_Lembaga.
    2. A right joint adalah menyimpan semua pengamatan di data_Program_Studi.
    3. A full joint adalah menjaga semua pengamatan di data_Lembaga dan data_Program_Studi.
Proses joint ini bekerja dengan menambahkan variabel “value” menjadi data “virtual” pada salah satu tabel. Hasil nya dapat memiliki key yang selalu cocok (jika tidak ada kunci lain yang cocok), dan value diisi dengan NA.

Cara Kelima

Selanjutnya kita menggabungkan dua tabel dengan jenis Outer Joins yang kita telah buat.

data_desa <-data.frame(Desa = c('Bapangan', 'Tahunan', 'Potroyudan', 'Bnagsri', 'Mlonggo', 'Senenan', 'Kauman', 'Krapyak'),
Penduduk = c(220, 310, 390, 600, 544, 475, 234, 195),
stringsAsFactors = FALSE)


data_rumah <-data.frame(Desa = c('Bapangan', 'Tahunan', 'Potroyudan', 'Bnagsri', 'Mlonggo', 'Senenan', 'Kauman', 'Krapyak'),
"Jumlah Rumah" = c (150, 255, 200, 452, 204, 212, 170, 100),
stringsAsFactors = FALSE)

Cara Keenam

Menggabungkan dua tabel dengan cara left join

left_join(data_desa,data_rumah)
## Joining, by = "Desa"
##         Desa Penduduk Jumlah.Rumah
## 1   Bapangan      220          150
## 2    Tahunan      310          255
## 3 Potroyudan      390          200
## 4    Bnagsri      600          452
## 5    Mlonggo      544          204
## 6    Senenan      475          212
## 7     Kauman      234          170
## 8    Krapyak      195          100

Cara Ketujuh

Menggabungkan kedua data dengan cara right joins

right_join(data_desa,data_rumah)
## Joining, by = "Desa"
##         Desa Penduduk Jumlah.Rumah
## 1   Bapangan      220          150
## 2    Tahunan      310          255
## 3 Potroyudan      390          200
## 4    Bnagsri      600          452
## 5    Mlonggo      544          204
## 6    Senenan      475          212
## 7     Kauman      234          170
## 8    Krapyak      195          100

Cara Kedelapan

Cara ini cara terakhir untuk menggabungkan dua tabel dengan gabungan full joins yang mencangkup semuanya.

full_join(data_desa,data_rumah)
## Joining, by = "Desa"
##         Desa Penduduk Jumlah.Rumah
## 1   Bapangan      220          150
## 2    Tahunan      310          255
## 3 Potroyudan      390          200
## 4    Bnagsri      600          452
## 5    Mlonggo      544          204
## 6    Senenan      475          212
## 7     Kauman      234          170
## 8    Krapyak      195          100

Operasi joint yang paling umum digunakan adalah left joint : Kita menggunakan proses left joint setiap kali kita mencari data tambahan dari tabel lain, karena observasi asli tetap dipertahankan meskipun tidak ada kecocokan. left joint harus menjadi proses joint secara default : proses ini left joint kita pertahankan untuk digunakan, kecuali kita memiliki alasan kuat untuk memilih salah satu proses outer joint yang lain. Cara lain untuk menggambarkan berbagai jenis operasi outher joint adalah dengan diagram Venn:

gambar diagram outer joins

Referensi

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

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