Universitas : UIN Maulana Malik Ibrahim Malang

Jurusan : Teknik Informatika

Linier Algebra C ’21

Pengenalan Relational Data

Jarang sekali analisis data hanya melibatkan satu tabel data. Jika memiliki banyak tabel data, kita harus menggabungkannya untuk menjawab pertanyaan yang kita minati. Secara kolektif, beberapa tabel data disebut data relasional karena yang penting adalah relasi, bukan hanya kumpulan data individual.

Hubungan selalu didefinisikan antara sepasang tabel. Semua relasi lain dibangun dari ide sederhana ini: relasi tiga tabel atau lebih selalu merupakan properti relasi antara masing-masing pasangan. Terkadang kedua elemen dari pasangan bisa menjadi tabel yang sama. Ini diperlukan jika, kita memiliki tabel orang, dan setiap orang memiliki referensi ke orang tua mereka.

Untuk bekerja dengan data relasional, kita memerlukan kata kerja yang bekerja dengan tabel berpasangan. Ada tiga keluarga kata kerja yang dirancang untuk bekerja dengan data relasional:

1. Mutating joins, yang menambahkan variabel baru ke satu bingkai data dari pengamatan yang cocok di yang lain.

2. Filtering joins, yang memfilter observasi dari satu frame data berdasarkan apakah mereka cocok atau tidak dengan observasi di tabel lain.

3. Set operations, yang memperlakukan pengamatan seolah-olah mereka adalah elemen himpunan.

Tempat paling umum untuk menemukan data relasional adalah dalam sistem manajemen basis data relasional (atau RDBMS), sebuah istilah yang mencakup hampir semua basis data modern. Jika kita pernah menggunakan database sebelumnya, kita pasti pernah menggunakan SQL. Secara umum, dplyr sedikit lebih mudah digunakan daripada SQL, karena dplyr dikhususkan untuk melakukan analisis data: dplyr membuat operasi analisis data umum lebih mudah, dengan mengorbankan membuat lebih sulit untuk melakukan hal-hal lain yang biasanya tidak diperlukan untuk analisis data.

Cara Membuat Relational Data

Cara 1 : Menginstal

Kita harus menginstal package tidyverse

install.packages(“tidyverse”)

Agar bisa digunakan, kita harus mengaktifkan library tidyverse sebagaimana berikut.

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

Cara 2

Cara kedua yaitu menggunakan data.frame() agar bisa menampilkan data dalam bentuk tabel. Seperti contoh berikut ini.

data_makanan <-data.frame(Makanan = c('Tempe', 'Pisang', 'Tahu', 'Daging Ayam', 'Nasi'), Karbohidrat = c(9, 23, 2, 0, 28), stringsAsFactors = FALSE)
data_protein <-data.frame(Makanan = c('Tempe', 'Pisang', 'Tahu', 'Daging Ayam', 'Nasi'), "Protein" = c(19, 1, 8, 27, 3), stringsAsFactors = FALSE)

Cara 3

Setelah menulis data, kita dapat menampilkannya dalam bentuk tabel dengan cara berikut ini.

data_makanan
##       Makanan Karbohidrat
## 1       Tempe           9
## 2      Pisang          23
## 3        Tahu           2
## 4 Daging Ayam           0
## 5        Nasi          28
data_protein
##       Makanan Protein
## 1       Tempe      19
## 2      Pisang       1
## 3        Tahu       8
## 4 Daging Ayam      27
## 5        Nasi       3

Cara 4 : Menggabungkan Dataset

Setelah membuat data menjadi tabel, kita juga bisa menggabungkannya. Ada beberapa cara untuk menggabungkan dataset, yaitu:

  1. Menggunakan Inner Join, yaitu menggabungkan kedua tabel yang menggunakan variabel “key” sebagai acuannya.
data_makanan %>%
  inner_join(data_protein, by = "Makanan")
##       Makanan Karbohidrat Protein
## 1       Tempe           9      19
## 2      Pisang          23       1
## 3        Tahu           2       8
## 4 Daging Ayam           0      27
## 5        Nasi          28       3
  1. Menggunakan Outer Join yang akan menyimpan data yang berbeda dengan Inner Join. Terdapat tiga macam Outer Join, yaitu :

    • A left joint, yaitu Outer Join yang menyimpan semua pengamatan di data_Sekolah.

    • A right joint, yaitu Outer Join yang menyimpan semua pengamatan di data_Jurusan.

    • A full joint, yaitu Outer Join yang menyimpan semua pengamatan di data_Sekolah dan data_Jurusan.

Proses joint akan bekerja jika kita menambahkan variabel “value” menjadi data “virtual” pada salah satu tabel tersebut. Hasilnya akan memiliki key yang cocok dan value diisi dengan NA.

Cara 5 : Menggabungkan Dua Tabel dengan Jenis Outer Join yang Kita Buat

data_makanan <-data.frame(Makanan = c('Tempe', 'Pisang', 'Tahu', 'Daging Ayam', 'Nasi'), Karbohidrat = c(9, 23, 2, 0, 28), stringsAsFactors = FALSE)

data_protein <-data.frame(Makanan = c('Tempe', 'Pisang', 'Tahu', 'Daging Ayam', 'Nasi'), "Protein" = c(19, 1, 8, 27, 3), stringsAsFactors = FALSE)

Cara 6 : Menggabungkan Dua Tabel dengan Cara left join

left_join(data_makanan,data_protein)
## Joining, by = "Makanan"
##       Makanan Karbohidrat Protein
## 1       Tempe           9      19
## 2      Pisang          23       1
## 3        Tahu           2       8
## 4 Daging Ayam           0      27
## 5        Nasi          28       3

Cara 7 : Menggabungkan Kedua Data dengan right join

right_join(data_makanan, data_protein)
## Joining, by = "Makanan"
##       Makanan Karbohidrat Protein
## 1       Tempe           9      19
## 2      Pisang          23       1
## 3        Tahu           2       8
## 4 Daging Ayam           0      27
## 5        Nasi          28       3

Cara 8

Cara terakhir untuk menggabungkan dua tabel yaitu dengan menggunakan full join yang mencangkup semuanya.

full_join(data_makanan, data_protein)
## Joining, by = "Makanan"
##       Makanan Karbohidrat Protein
## 1       Tempe           9      19
## 2      Pisang          23       1
## 3        Tahu           2       8
## 4 Daging Ayam           0      27
## 5        Nasi          28       3

Operasi yang paling banyak digunakan yaitu left join karena operasi ini memungkinkan kita untuk mencari data tambahan yang mempertahankan observasi asli meskipun tidak memiliki kecocokan.

Berikut merupakan gambaran berbagai operasi join menggunakan diagram venn.

Gambar 1: Diagram Venn Berbagai Jenis Join.

Referensi

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

https://r4ds.had.co.nz/relational-data.html