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)
Integritas data berarti data konsisten dan akurat dalam database yang
penting karena ada banyak database di DBMS. Semua database ini berisi
data yang dapat dilihat oleh banyak pengguna. Oleh karena itu, penting
untuk memastikan bahwa data konsisten dan benar di semua database
untuk semua pengguna.
B. Keamanan data
Keamanan data adalah konsep penting dalam database. Hanya pengguna
yang berwenang harus diizinkan untuk mengakses database dan identitas
mereka harus diautentikasi menggunakan nama pengguna dan kata sandi.
Pengguna yang tidak sah tidak boleh diizinkan mengakses database dalam
keadaan apapun karena melanggar batasan integritas. DBMS menyediakan
platform yang lebih baik untuk privasi data sehingga membantu
perusahaan menawarkan keamanan data yang lebih baik.
C. Akses data lebih cepat
Sistem manajemen basis data membantu pengguna untuk menghasilkan
jawaban dan permintaan masuk cepat atas pertanyaan yang membuat
pengaksesan data menjadi akurat dan lebih cepat.
D. Dukungan pemulihan dan cadangan
DBMS secara otomatis menangani pemulihan dan pencadangan. Pengguna
tidak perlu melakukan backup secara berkala karena hal ini ditangani oleh
DBMS. Selain itu, juga mengembalikan database setelah kegagalan sistem
atau crash untuk mencegah kondisi sebelumnya. [2]
1.2.2 PostgreSQL
PostgreSQL adalah sebuah sistem basis data yang disebarluaskan secara
bebas menurut Perjanjian lisensi BSD. Peranti lunak ini merupakan salah satu
basis data yang paling banyak digunakan saat ini, selain MySQL dan Oracle.
PostgreSQL menyediakan fitur yang berguna untuk replikasi basis data.
Fiturfitur yang disediakan PostgreSQL antara lain DB Mirror, PGPool, Slony,
PGCluster ,dan lain-lain.
Kelas X Page
2
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.
data dari tabel yang berbeda berdasarkan kunci ini untuk mendapatkan
informasi yang lebih lengkap atau terkait. [1]
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
2.2.1.4 Join Tabel Kemiskinan dan Jawaregion yang Hanya Menampilkan Kolom
Jml_Penduduk_Miskin, Garis_Kemiskinan, Propinsi, dan Klasifikasi
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)
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_nama nama 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
hasilnya akan tetap ditampilkan dan menjadi NULL. Dalam inner join, hanya
baris yang memiliki nilai yang cocok yang akan ditampilkan sehingga dalam
Kelas X Page
12
RHAFLI RIZKI P. (15121041) GD3104 BASIS DATA SPASIAL MODUL KE-(6)
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