Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Jurusan : Teknik Informatika
Relasional data set merupakan kumpulan item data yang memiliki perpaduan atau hubungan yang telah ditentukan sebelumnya. Berbagai item ini diatur sebagai satu set tabel menggunakan kolom dan baris. Tabel digunakan untuk menyimpan informasi tentang objek yang ditampilkan dalam database. Tiap kolom dalam tabel memuat tipe data ekskusif , dan bidang tersebut menyimpan nilai aktual atribut. Baris dalam tabel mempresentasikan perpaduan nilai terkait berdasarkan satu objek atau entitas. Tiap baris pada tabel dapat ditandai dengan pengidentifikasi unik yang disebut kunci utama (keyword), dan baris di antara beberapa tabel dapat dibuat saling terkait menggunakan kunci asing. Berikut tahapan dalam menerapkan relasional data set pada RStudio menggunakan bahasa pemrograman R.
Tahap pertama yang harus dilakukan dalam menerapkan relasional data set pada RStudio adalah mengaktifkan library tidyverse dengan mengunduh packages atau library 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.4 v dplyr 1.0.8
## v tidyr 1.1.3 v stringr 1.4.0
## v readr 2.0.1 v forcats 0.5.1
## Warning: package 'dplyr' was built under R version 4.1.2
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
Tahapan kedua adalah membuat tabel data set yang akan dihubungkan dimana pada RStudio terdapat fungsi data.frame() yang berguna untuk menciptakan tabel. Berikut contoh membuat tabel dengan data gambaran umum pertinggian tinggi swasta pada tahun 2020.
data_Lembaga <-data.frame(Provinsi = c('Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'D.I. Yogyakarta', 'Aceh', 'Sumatera Utara', 'Sumatera Barat', 'Riau'
),
Lembaga = c(377, 259, 328, 103, 94, 219, 96, 77
),
stringsAsFactors = FALSE)
data_Program_Studi <-data.frame(Provinsi = c('D.K.I. Jakarta','Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'Aceh', 'Sumatera Utara', 'Sumatera Barat', 'Riau'
),
"Program Studi" = c(1163, 1993, 1555, 2277, 337, 1113, 415, 325),
stringsAsFactors = FALSE)
Tahapan ketiga adalah menampilkan data dari tabel yang telah di buat :
data_Lembaga
## Provinsi Lembaga
## 1 Jawa Barat 377
## 2 Jawa Tengah 259
## 3 Jawa Timur 328
## 4 D.I. Yogyakarta 103
## 5 Aceh 94
## 6 Sumatera Utara 219
## 7 Sumatera Barat 96
## 8 Riau 77
data_Program_Studi
## Provinsi Program.Studi
## 1 D.K.I. Jakarta 1163
## 2 Jawa Barat 1993
## 3 Jawa Tengah 1555
## 4 Jawa Timur 2277
## 5 Aceh 337
## 6 Sumatera Utara 1113
## 7 Sumatera Barat 415
## 8 Riau 325
Tahapan keempat adalah menggabungkan dua tabel yang telah dibuat. Untuk menghubungkan kedua tabel data set tersebut maka sebagai acuan untuk mencocokkan adalah pada variabel “key”. Dalam contoh ini, kita akan mencocokan antara variabel “Provinsi” pada tabel data_Lembaga dengan variabel “Provinsi” pada tabel data_Program_Studi, kedua tabel tersebut digeneralisasi secara langsung ke beberapa key dan ke beberapa value. Untuk mendapatkan gabungan kedua tabel adalah dengan cara menghubungkan setiap baris di tabel data_Lembaga yang ke nol, satu, kedua atau lebih, dengan setiap baris di tabel data_Program_Studi. Terdapat berbagai macam jenis gabungan dalam menghubungkan data set. Berikut macam-macam gabungan :
1. Inner Join
Inner join adalah proses menggabungkan dua tabel menggunakan variabel key (kata kunci) yang sama di kedua tabel saat kecocokan dibuat. Output dari inner join adalah data frame baru yang berisi key, value tabel data_Lembaga, dan value tabel data_Program_Studi. Untuk melakukan inner join kita dapat menggunak fungsi inner join yang tersedia pada library dplyr.
data_Lembaga %>%
inner_join(data_Program_Studi, by = "Provinsi")
## Provinsi Lembaga Program.Studi
## 1 Jawa Barat 377 1993
## 2 Jawa Tengah 259 1555
## 3 Jawa Timur 328 2277
## 4 Aceh 94 337
## 5 Sumatera Utara 219 1113
## 6 Sumatera Barat 96 415
## 7 Riau 77 325
Noted : Pada inner join baris yang tidak cocok tidak disertakan dalam hasil pada tabel gabungan. Artinya, secara umum inner join biasanya tidak sesuai untuk digunakan dalam analisis karena terlalu mudah untuk kehilangan data.
2. 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:
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.
Sebelum tahap keenam dimana kita akan menggabungkan dua tabel dengan jenis outer joins sebelumnya kita perlu membuat tabel yang akan digabungkan.
data_Lembaga <-data.frame(Provinsi = c('Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'D.I. Yogyakarta', 'Aceh', 'Sumatera Utara', 'Sumatera Barat', 'Riau'
),
Lembaga = c(377, 259, 328, 103, 94, 219, 96, 77 ),
stringsAsFactors = FALSE)
data_Program_Studi <-data.frame(Provinsi = c('D.K.I. Jakarta','Jawa Barat', 'Jawa Tengah', 'Jawa Timur', 'Aceh', 'Sumatera Utara', 'Sumatera Barat', 'Riau'
),
"Program Studi" = c(1634, 1993, 1555, 2277, 337, 1113, 415, 325 ),
stringsAsFactors = FALSE)
Tahapan keenam adalah menggabungkan dua tabel yang dengan jenis gabungan left joins yang menyimpan semua data di data_Lembaga.
left_join(data_Lembaga,data_Program_Studi)
## Joining, by = "Provinsi"
## Provinsi Lembaga Program.Studi
## 1 Jawa Barat 377 1993
## 2 Jawa Tengah 259 1555
## 3 Jawa Timur 328 2277
## 4 D.I. Yogyakarta 103 NA
## 5 Aceh 94 337
## 6 Sumatera Utara 219 1113
## 7 Sumatera Barat 96 415
## 8 Riau 77 325
Tahapan ketujuh adalah menggabungkan dua tabel yang dengan jenis gabungan right joins yang menyimpan semua data di data_Program_Studi.
right_join(data_Lembaga,data_Program_Studi)
## Joining, by = "Provinsi"
## Provinsi Lembaga Program.Studi
## 1 Jawa Barat 377 1993
## 2 Jawa Tengah 259 1555
## 3 Jawa Timur 328 2277
## 4 Aceh 94 337
## 5 Sumatera Utara 219 1113
## 6 Sumatera Barat 96 415
## 7 Riau 77 325
## 8 D.K.I. Jakarta NA 1634
Tahapan kedelapan adalah menggabungkan dua tabel yang dengan jenis gabungan full joins yang menjaga semua pengamatan di data_Lembaga dan data_Program_Studi.
full_join(data_Lembaga,data_Program_Studi)
## Joining, by = "Provinsi"
## Provinsi Lembaga Program.Studi
## 1 Jawa Barat 377 1993
## 2 Jawa Tengah 259 1555
## 3 Jawa Timur 328 2277
## 4 D.I. Yogyakarta 103 NA
## 5 Aceh 94 337
## 6 Sumatera Utara 219 1113
## 7 Sumatera Barat 96 415
## 8 Riau 77 325
## 9 D.K.I. Jakarta NA 1634
Operasi joint yang paling sering digunakan adalah left join. Gunakan proses left join setiap kali kita mencari data tambahan di tabel lain, karena pengamatan asli dipertahankan meskipun tidak ada kecocokan. left join harus menjadi sambungan proses secara default : prosedur ini adalah left join yang harus dipegang untuk digunakan kecuali kita memiliki alasan yang baik untuk memilih salah satu dari proses outher join lainnya. Berikut visualisasi operasi joint dengan diagram venn dari semua jenis operasi joint diatas.