Modul 6 - Joining Tables
Modul 6 - Joining Tables
1. Pendahuluan
1.1 Tujuan Praktikum
1.1.1 Membuat database dengan nama “modul06” pada software PostgreSQL
1.1.2 Membuat tabel “Kemiskinan” pada database “modul06” pada software
PostgreSQL
1.1.3 Melakukan joining tables dan spatial join pada data vektor
1.2 Dasar Teori
1.2.1 Pengertian Database
Database adalah kumpulan informasi yang disimpan di dalam komputer
secara sistematik sehingga dapat diperiksa menggunakan suatu program
komputer untuk memperoleh informasi dari basis data tersebut. Database
adalah representasi kumpulan fakta yang saling berhubungan disimpan
secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang
tidak perlu, untuk memenuhi berbagai kebutuhan. Database merupakan
sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu pada
tujuan tertentu pula. Database adalah s [1]usunan record data operasional
lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan
secara terintegrasi dengan menggunakan metode tertentu dalam komputer
sehingga mampu memenuhi informasi yang optimal yang dibutuhkan oleh
para pengguna. [1]
Kelas X Page 1
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
berbagai jenis data, termasuk teks, gambar, audio, dan JSON, PostgreSQL
cocok untuk beragam aplikasi. Selain itu, dukungan transaksi ACID yang
kuat menjadikannya pilihan yang tepat untuk aplikasi yang memerlukan
integritas data. Kelebihan lainnya adalah kinerjanya yang baik, dengan
indeks yang kuat, optimasi kueri, dan kemampuan untuk menangani beban
tinggi. Selain itu, sebagai perangkat lunak sumber terbuka, PostgreSQL dapat
digunakan tanpa biaya lisensi, dan komunitas pengembang yang besar terus
berkontribusi untuk memperbaiki dan memperbarui sistem. Kemampuan
PostgreSQL untuk mengatasi aplikasi yang berkembang juga membuatnya
sangat skalabel.
Kelas X Page 3
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
PostGIS adalah salah satu perangkat lunak open source yang paling
populer di dunia untuk pengelolaan data geospasial, dan karena terintegrasi
dengan PostgreSQL, memungkinkan pengembang untuk membangun
aplikasi basis data geografis yang kuat dan skalabel dengan biaya yang
rendah.
Kelas X Page 4
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
Kelas X Page 5
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
Joining tables sangat penting dalam pemrosesan data di basis data relasional
karena memungkinkan Anda untuk menggabungkan data dari berbagai tabel
untuk menganalisis, melaporkan, atau mengambil informasi yang lebih
kompleks. Ini adalah salah satu dasar dari bahasa SQL (Structured Query
Language) yang digunakan untuk mengelola dan mengambil data dari basis
data relasional.
2. Pembahasan
2.1 Tahapan Pelaksanaan Praktikum
Kelas X Page 6
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
Kelas X Page 7
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
Gambar 10. Hasil Left Join Tabel Kemiskinan dan Tabel Jawa_Dissolve
Kelas X Page 8
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
Gambar 11. Syntax Join Tabel Kemiskinan dan Jawaregion yang Hanya Menampilkan
Kolom Jml_Penduduk_Miskin, Garis_Kemiskinan, Propinsi, dan Klasifikas
Gambar 12. Hasil Join Tabel Kemiskinan dan Jawaregion yang Hanya Menampilkan
Kolom Jml_Penduduk_Miskin, Garis_Kemiskinan, Propinsi, dan Klasifikas
Gambar 13. Syntax Spatial Join untuk Menampilkan Pola_Ruang di Desa Cibenda
Gambar 14. Hasil Spatial Join untuk Menampilkan Pola_Ruang di Desa Cibenda
2.2.2 Analisis
Kelas X Page 9
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
Kelas X Page
10
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
Kelas X Page
11
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
yang sama tergantung sisi tabel. Eksekusi dapat lebih efisien jika ditulis
ulang sebagai join dan tidak dapat memodifikasi tabel yang sama dalam
pernyataan SQL yang sama. Keduanya dapat lebih lambat untuk dieksekusi
jika salah satu sisi tabel besar dan jika tidak diindeks dengan benar, maka
kinerja akan buruk. Full join mengembalikan semua baris dari kedua tabel
baik yang memiliki baris cocok atau tidak. Jika tidak cocok dari tabel kiri,
maka tabel kanan akan mengisi nilai null. Full join dapat lambat untuk
dieksekusi jika kedua tabel besar. Join terbaik dapat ditentukan sesuai
dengan kebutuhan masing-masing.
Terdapat kasus lain di luar dari tabel dalam modul ini. Misalkan
terdapat dua tabel, yaitu Tabel A dan Tabel B. Tabel A berisi id_nama dan
nama serta Tabel B berisi id_kota dan kota. Berikut adalah tabel-tabelnya.
Tabel_A Tabel_B
id_nama nama id_kota kota
1 Rhafli 1 Dpk
2 Rizki 2 Bdg
3 Pratama 4 Mdn
Kemudian, pada SQL, dapat digunakan script SELECT Tabel_A.id_nama,
Tabel_A.nama, Tabel_B.kota FROM Tabel_A LEFT JOIN Tabel_B ON
Tabel_A .id_nama = Tabel_B.id_kota. Script di atas merupakan SQL untuk
left join. Hasil dari script tersebut akan menjadi seperti berikut.
id_nam
nama
a kota
1 Rhafli Dpk
2 Rizki Bdg
3 Pratama NULL
Pada inner join, script yang digunakan adalah SELECT
Tabel_A.id_nama, Tabel_A.nama, Tabel_B.kota FROM Tabel_A INNER
JOIN Tabel_B ON Tabel_A .id_nama = Tabel_B.id_kota. Hasil dari script
tersebut adalah sebagai berikut.
id_nama nama kota
1 Rhafli Dpk
2 Rizki Bdg
Pada left join, semua baris dari tabel A akan ditampilkan dan jika ada
nilai yang tidak cocok dalam tabel B seperti nilai kota pada id_nama 3, maka
Kelas X Page
12
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
hasilnya akan tetap ditampilkan dan menjadi NULL. Dalam inner join, hanya
baris yang memiliki nilai yang cocok yang akan ditampilkan sehingga dalam
kasus ini ‘Nainggolan’ tidak ditampilkan karena tidak ada kota yang dicatat
untuk ‘Nainggolan’ di tabel B. Left join akan tetap menampilkan nilai dari
tabel kiri (pertama) dan nilai yang tidak cocok akan menjadi NULL
sedangkan inner join tidak akan menampilkan tabel yang tidak cocok
sehingga baris tersebut akan dihilangkan jika ditampilkan.
3. Penutup
3.1 Kesimpulan
3.1.1 Pembuatan database dengan nama “modul06” pada software PostgreSQL
telah dilakukan
3.1.2 Pembuatan tabel “Kemiskinan” pada database “modul06” pada software
PostgreSQL telah dilakukan
3.1.3 Joining tables dan spatial join pada data vector telah dilakukan
3.2 Saran dan Kritik Praktikum
Terima kasih kepada seluruh kakak-kakak asisten praktikum Basis Data Spasial
2023.
4. Daftar Referensi
[1] "A. Vennila, “SQL JOIN and different types of JOIN's,” Stack Overflow, 23 Juli 2013. [Online].
Available: https://stackoverflow.com/questions/17946221/sql-join-anddifferent-types-of-joins.
[Diakses 4 November 2023]".
[2] E. Helmud, OPTIMASI BASIS DATA ORACLE MENGGUNAKAN COMPLEX VIEW, 2021.
[4] "M. K, “SQL Spatial Join,” Stack Overflow, 12 Oktober 2011. [Online]. Available:
https://stackoverflow.com/questions/7655408/sql-spatial-join. [Diakses 4 November 2023]".
[5] "“Section Ten: Joins (Table and Spatial) and Relates,” Learn GIS, 2019. [Online]. Available:
https://vector.geospatial.science/textbook/chapter-five/joins-and-relates. [Diakses 4 November
2023]".
Kelas X Page
13
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
[7] G. C. C. S. J. Xin Cao, "(Efficient Processing of Top-k Queries in Uncertain Databases," 2007.
Kelas X Page
14