Dosen Pengampu : Prof. Dr. Suhartono, M.Kom
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
Pengertian Relasional Data Set
Relational data set merupakan umpulan 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. 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.
basis data relasional digunakan untuk mengorganisir berdasarkan model hubungan data. Banyak sekali perangkat lunak yang menggunakan sistem ini untuk mengatur dan memelihara basis data melalui hubungan setiap data
Tabel Data Penduduk Laki-Laki Berumur 10 Tahun Buta Huruf
lakilaki <- data.frame(
'Provinsi' = c("Aceh", "Sumatera Utara", "Sumatera Barat", "Sumatera Selatan", "Jambi", "Bengkulu", "Lampung", "Riau"),
"Laki-Laki(Persen)"= c(0.92, 0.49, 0.49, 0.69, 1.29, 1.06, 1.38, 0.54),
stringsAsFactors = FALSE)
lakilaki
## Provinsi Laki.Laki.Persen.
## 1 Aceh 0.92
## 2 Sumatera Utara 0.49
## 3 Sumatera Barat 0.49
## 4 Sumatera Selatan 0.69
## 5 Jambi 1.29
## 6 Bengkulu 1.06
## 7 Lampung 1.38
## 8 Riau 0.54
Tabel Data Penduduk Perempuan Berumur 10 Tahun Buta Huruf
perempuan <- data.frame(
'Provinsi' = c("Aceh", "Sumatera Utara", "Sumatera Barat", "Sumatera Selatan", "Jambi", "Bengkulu", "Lampung", "Riau"),
"Perempuan(Persen)"= c(2.34, 1.07, 0.96, 1.61, 2.31, 2.86, 3.59, 1.00),
stringsAsFactors = FALSE)
perempuan
## Provinsi Perempuan.Persen.
## 1 Aceh 2.34
## 2 Sumatera Utara 1.07
## 3 Sumatera Barat 0.96
## 4 Sumatera Selatan 1.61
## 5 Jambi 2.31
## 6 Bengkulu 2.86
## 7 Lampung 3.59
## 8 Riau 1.00
Penggabungan Data Laki-Laki dan Perempuan
library(dplyr)
datagabungan <- merge(
x = lakilaki,
y = perempuan,
by = 'Provinsi',
all = TRUE
)
datagabungan
## Provinsi Laki.Laki.Persen. Perempuan.Persen.
## 1 Aceh 0.92 2.34
## 2 Bengkulu 1.06 2.86
## 3 Jambi 1.29 2.31
## 4 Lampung 1.38 3.59
## 5 Riau 0.54 1.00
## 6 Sumatera Barat 0.49 0.96
## 7 Sumatera Selatan 0.69 1.61
## 8 Sumatera Utara 0.49 1.07
Inner Joins antara Data Laki-Laki dan Perempuan
InnerJoins <- lakilaki %>%
inner_join(perempuan, by = "Provinsi")
InnerJoins
## Provinsi Laki.Laki.Persen. Perempuan.Persen.
## 1 Aceh 0.92 2.34
## 2 Sumatera Utara 0.49 1.07
## 3 Sumatera Barat 0.49 0.96
## 4 Sumatera Selatan 0.69 1.61
## 5 Jambi 1.29 2.31
## 6 Bengkulu 1.06 2.86
## 7 Lampung 1.38 3.59
## 8 Riau 0.54 1.00
Outer Joins antar Data Laki-Laki dan Perempuan
1. A Left Join
leftjoin <- left_join(lakilaki,perempuan)
## Joining, by = "Provinsi"
leftjoin
## Provinsi Laki.Laki.Persen. Perempuan.Persen.
## 1 Aceh 0.92 2.34
## 2 Sumatera Utara 0.49 1.07
## 3 Sumatera Barat 0.49 0.96
## 4 Sumatera Selatan 0.69 1.61
## 5 Jambi 1.29 2.31
## 6 Bengkulu 1.06 2.86
## 7 Lampung 1.38 3.59
## 8 Riau 0.54 1.00
2. A Right Join
Rightjoins <- right_join(lakilaki,perempuan)
## Joining, by = "Provinsi"
Rightjoins
## Provinsi Laki.Laki.Persen. Perempuan.Persen.
## 1 Aceh 0.92 2.34
## 2 Sumatera Utara 0.49 1.07
## 3 Sumatera Barat 0.49 0.96
## 4 Sumatera Selatan 0.69 1.61
## 5 Jambi 1.29 2.31
## 6 Bengkulu 1.06 2.86
## 7 Lampung 1.38 3.59
## 8 Riau 0.54 1.00
3. A Full Join
fulljoin <- full_join(lakilaki,perempuan)
## Joining, by = "Provinsi"
fulljoin
## Provinsi Laki.Laki.Persen. Perempuan.Persen.
## 1 Aceh 0.92 2.34
## 2 Sumatera Utara 0.49 1.07
## 3 Sumatera Barat 0.49 0.96
## 4 Sumatera Selatan 0.69 1.61
## 5 Jambi 1.29 2.31
## 6 Bengkulu 1.06 2.86
## 7 Lampung 1.38 3.59
## 8 Riau 0.54 1.00
Visualisasi Relasional Data Set
plot(InnerJoins$Laki.Laki.Persen.,type = "o", col= "red")
lines(InnerJoins$Perempuan.Persen.,type = "o", col= "blue")
legend("top",c("Laki-Laki Buta Huruf","Perempuan Buta Huruf"),fill=c("red","blue"))
