MODUL 1
MODUL
1
BASIS
DATA
SPASIAL
KATA
PENGANTAR
Modul
ini
dibuat
dalam
rangka
Pelatihan
Open
Sources
Software
Geodatabase,
Web
Servis,
danGIS
(Model
Spasial
Open
Platform)
yang
dilaksanakan
oleh
Kementrian
RISET
dan
Teknologi(MENRISTEK)
yang
bertujuan
untuk
melatih
daerah
untuk
menggunakan
perangkat
open
sources
untuk
menyimpan
dan
mengelola
data
spasialnya
dalam
rangka
mendukung
pembangunan
khususya
program
MP3EI.
PostgreSQL/PostGISadalah
Sistem
Manajemen
Basis
Data
Spasial
(SMBDS
atau
SDBMS)
yang
merupakan
merupakan
salah
satu
perangkat
lunak
open
source.
Perangkat
lunak
DBMS
ini
menawarkan
skalabilitas,
keluwesan,
dan
kinerja
yang
tinggi
khususnya
dalam
manajemen
basis
data
spasial.
PostgreSQL/PostGIS
ini
mendukung
mendukung
bahasa
SQL
secara
luas
yang
utamanya
berfungsi
dalam
suatu
basis
data
relasional.
Dalam
panduan
ini,
akan
dibahas
mengenai
konsep
dasar
basis
data
spasial
dari
definisi
hingga
perancangan
basis
data
relasional
dan
juga
pengimplementasian
hasil
rancangan
basis
data
ke
dalam
SDBMS
PostgreSQL/PostGIS.
Kami
mengucapkan
terima
kasih
kepada
berbagai
pihak
yang
telah
membantu
dalam
penyusunan
modul
ini
dan
semoga
modul
ini
dapat
memberi
manfaat
bagi
pengguna.
Bandung,
9
April
2013
Penyusun
MODUL
1
BASIS
DATA
SPASIAL
DAFTAR ISI
MODUL
1
BASIS
DATA
SPASIAL
2.2.3
Implementasi
DML
pada
PostgreSQL
.................................................................................
61
Select
.......................................................................................................................................
61
Simple
Select
........................................................................................................................
61
Joins
.....................................................................................................................................
62
Aggregate
Operators
............................................................................................................
63
Aggregation
by
Groups
........................................................................................................
63
Union,
Intersect,
Except
.......................................................................................................
64
Insert
into
.................................................................................................................................
65
Update
.....................................................................................................................................
66
Delete
.......................................................................................................................................
67
2.3
Latihan
Implementasi
Bahasa
SQL
pada
Model
Data
Relasional
...............................................
67
2.3.1
Mengimplementasikan
Model
Data
ER
pada
PostgreSQL
.................................................
67
2.3.2
Menambahkan
Data
ke
Model
..........................................................................................
74
2.3.3
Query
.................................................................................................................................
76
MATERI
3
-
PostGIS
..............................................................................................................................
77
3.1
Pengantar
PostGIS
.....................................................................................................................
77
3.1.1.
Pengenalan
PostGIS
...........................................................................................................
77
3.1.2
Instalasi
PostGIS
.................................................................................................................
79
3.2
Manajemen
Data
Spasial
di
PostGIS
..........................................................................................
82
3.2.1
Membuat
Geodatabase
.....................................................................................................
82
Menggunakan
createlang
plpgsql
............................................................................................
82
Menggunakan
Template
PostGIS
.............................................................................................
84
3.2.2
Pengelolaan
Data
Vektor
...................................................................................................
85
Objek
Geometry,
OGC
Simple
Feature
for
SQL
........................................................................
85
Tipe
Data
Geography
...............................................................................................................
86
Membuat
Table
Spatial
............................................................................................................
86
Memuat
Data
Vektor
(Loading
Spatial
Data)
...........................................................................
88
Menggunakan
SQL
...............................................................................................................
88
Menggunakan
Loader
..........................................................................................................
89
Menampilkan
Data
Vektor
(Retrieving
Spatial
Data)
...............................................................
89
Menggunakan
SQL
...............................................................................................................
89
Menggunakan
Dumper
........................................................................................................
90
Membuat
Indeks
Data
Vektor
(Building
Indexes)
....................................................................
91
Spatial
Query
(Spatial
SQL)
......................................................................................................
91
iii
MODUL
1
BASIS
DATA
SPASIAL
3.3
Aplikasi
Desktop
GIS
(QuantumGIS)
..........................................................................................
93
3.4
Latihan
Implementasi
PostGIS
pada
Basis
Data
Spasial
.............................................................
95
3.4.1
Penyusunan
Tabel
Spasial
..................................................................................................
95
3.4.2
Preview
Data
Spasial
dari
Basis
data
Spasial
......................................................................
97
iv
MODUL
1
BASIS
DATA
SPASIAL
Abstraksi
data
pada
sebuah
basis
data
merupakan
level
dalam
bagaimana
melihat
data
dalam
sebuah
sistem
basis
data.
Biasanya
pengguna
hanya
tau
bagaimana
data
itu
terlihat
tanpa
tahu
bagaimana
data
tersebut
disimpan
dan
dipelihara.
Abstraksi
data
pada
basis
data
terdiri
dari
3
level
yaitu
level
eksternal,
level
konseptual,
dan
level
internal.
Penjelasan
dari
gambar
diatas
adalah
:
Physical
view
merupakan
bentuk
implementasi
dari
conceptual
view,
yaitu
pandangan
tentang
bagaimana
data
disimpan
dalam
media
penyimpanan
data.
Yang
merupakan
level
terendah
untuk
merepresentasikan
basis
data.
Record
disimpan
dalam
media
penyimpanan
seperti
hardisk
dalam
format
byte.
Conceptual
view
merupakan
pandangan
yang
berkaitan
dengan
permasalahan
data-
data
apa
saja
yang
diperlukan
untuk
disimpan
dalam
basis
data
dan
penjelasan
mengenai
hubungan
antar
data
yang
satu
dengan
lainnya.
Keberadaannya
tidak
perlu
memperhitungkan
kekurangan
perangkat
keras
maupun
perangkat
lunak
pembangun
aplikasi
basis
data.
User
view
dalah
level
basis
data
yang
berhubungan
dengan
representasi
data
dari
sisi
setiap
pengguna
dan
merupakan
level
pengguna/programmer
atau
pandangan
tentang
bagaimana
data
ditampilkan.
Manfaat
dari
pembentukan
basis
data
ini
sendiri
adalah
sebagai
berikut:
Sebagai
komponen
utama
atau
penting
dalam
sistem
informasi,
karena
merupakan
dasar
dalam
menyediakan
informasi.
Menentukan
kualitas
informasi
yaitu
cepat,
akurat,
dan
relevan,
sehingga
infromasi
yang
disajikan
tidak
basi.
Informasi
dapat
dikatakan
bernilai
bila
manfaatnya
lebih
efektif
dibandingkan
dengan
biaya
mendapatkanya.
Mengatasi
kerangkapan
data
(redundancy
data).
Menghindari
terjadinya
inkonsistensi
data.
Mengatasi
kesulitan
dalam
mengakses
data.
Menyusun
format
yang
standar
dari
sebuah
data.
2
MODUL
1
BASIS
DATA
SPASIAL
Penggunaan
oleh
banyak
pemakai
(multiple
user).
Sebuah
basis
data
bisa
dimanfaatkan
sekaligus
secara
bersama
oleh
banyak
pengguna
(multiuser).
Melakukan
perlindungan
dan
pengamanan
data.
Setiap
data
hanya
bisa
diakses
atau
dimanipulasi
oleh
pihak
yang
diberi
otoritas
dengan
memberikan
login
dan
password
terhadap
masing-masing
data.
Agar
pemakai
mampu
menyusun
suatu
pandangan
(view)
abstraksi
dari
data.
Hal
ini
bertujuan
menyederhanakan
interaksi
antara
pengguna
dengan
sistemnya
dan
basis
data
dapat
mempresentasikan
pandangan
yang
berbeda
kepada
para
pengguna,
programmer
dan
administratornya.
1.1.1 Database
Management
System
(DBMS)
Menurut
Wikipedia
DBMS
adalah
suatu
sistem
atau
perangkat
lunak
yang
dirancang
untuk
mengelola
suatu
basis
data
dan
menjalankan
operasi
terhadap
data
yang
diminta
banyak
pengguna.
DBMS
merupakan
perangkat
lunak
yang
dirancang
untuk
dapat
melakukan
utilisasi
dan
mengelola
koleksi
data
dalam
jumah
yang
besar.
DBMS
juga
dirancang
untuk
dapat
melakukan
masnipulasi
data
secara
lebih
mudah.
Beberapa
pengertian
DBMS
menurut
para
ahli
adalah
:
1) Menutut
C.J.
Date
:
DBMS
adalah
merupakan
software
yang
menghandel
seluruh
akses
pada
basis
data
untuk
melayani
kebutuhan
user.
2) Menurut
S,
Attre
:
DBMS
adalah
software,
hardware,
firmware
dan
prosedur-
prosedur
yang
memanage
basis
data.
Firmware
adalah
software
yang
telah
menjadi
modul
yang
tertanam
pada
hardware
(ROM).
3) Menurut
Gordon
C.
Everest
:
DBMS
adalah
manajemen
yang
efektif
untuk
mengorganisasi
sumber
daya
data.
DBMS
juga
memiliki
beberapa
fungsi,
diantaranya
adalah
:
Data
Definition:
DBMS
harus
dapat
mengolah
pendefinisian
data.
Data
Manipulation:
DBMS
harus
dapat
menangani
permintaan-permintaan
dari
pemakai
untuk
mengakses
data.
Data
Security
&
Integrity:
DBMS
harus
dapat
memeriksa
security
dan
integrity
data
yang
didefinisikan
oleh
DBA.
Data
Recovery
&
Concurency
DBMS
harus
dapat
menangani
kegagalan-kegagalan
pengaksesan
basis
data
yang
dapat
disebabkan
oleh
kesalahan
sistem,
kerusakan
disk,
dsb.
DBMS
harus
dapat
mengontrol
pengaksesan
data
yang
konkuren
yaitu
bila
satu
data
diakses
secara
bersama-sama
oleh
lebih
dari
satu
pemakai
pada
saat
yang
bersamaan.
Data
Dictionary:
DBMS
harus
menyediakan
data
dictionary.
Performance:
DBMS
harus
menangani
unjuk
kerja
dari
semua
fungsi
seefisien
mungkin.
MODUL
1
BASIS
DATA
SPASIAL
DBMS
merupakan
perantara
bagi
pemakai
dengan
basis
data.
Untuk
merinteraksi
dengan
DBMS
(basis
data)
menggunakan
bahasa
basis
data
yang
telah
ditentukan
oleh
perusahaan
DBMS.
Bahasa
basis
data
biasanya
terdiri
atas
perintah-perintah
yang
di
formulasikan
sehingga
perintah
tersebut
akan
diproses
olah
DBMS.
Perintah-
perintah
biasanya
ditentukan
oleh
user.
Ada
dua
bahasa
basis
data
yang
sering
digunakan
:
a) Data
Definition
Language
(DDL)
DDL
digunakan
untuk
menggambarkan
desain
basis
data
secara
keseluruhan.
DDL
digunakan
untuk
membuat
tabel
baru,
menuat
indeks,
ataupun
mengubah
tabel.
Hasil
kompilasi
DDL
disimpan
di
kamus
data.
b) Data
Manipulation
Language
(DML)
DML
digunakan
untuk
melakukan
menipulasi
dan
pengambilan
data
pada
suatu
basis
data
seperti
penambahan
data
baru
ke
dalam
basis
data,
menghapus
data
dari
suatu
basis
data
dan
pengubahan
data
di
suatu
basis
data.
Tiga
komponen
utama
yang
terdapat
dalam
DBMS
adalah
:
v Kamus
Data
Atau
biasa
disebut
repositori,
adalah
dokumen
atau
file
yang
menyimpan
definisi
data
dan
deskripsi
struktur
data
yang
digunakan
dalam
basis
data.
Kamus
data
tidak
memuat
data
aktual
basis
data,
namun
hanya
informasi
untuk
mengelolanya.
Tanpa
kamus
data,
DBMS
tidak
dapat
mengakses
data
dari
basis
data.
Kamus
data
menentukan
pengaturan
dasar
basis
data
dan
memuat
daftar
semua
file
ke
dalam
basis
data,
jumlah
record
setiap
file,
dan
nama
serta
tipe
masing-masing
field.
Kamus
data
juga
membantu
melindungi
keamanan
basis
data
dengan
mengindikasikan
siapa
saja
yang
memiliki
hak
untuk
mengaksesnya.
v Utilitas
Adalah
program
yang
membantu
Anda
untuk
dapat
memperoleh
basis
data
dengan
cara
menciptakan,
mengedit,
dan
menghapus
data,
record
dan
file.
Dengan
utilitas
ini
Anda
dapat
memonitor
jenis
data
yang
dimasukkan
dan
memilah
basis
data
Anda
berdasarkan
key
field;
melakukan
pencarian
serta
mengatur
informasi
juga
menjadi
lebih
mudah.
v Penghasil
Laporan
Adalah
program
untuk
menghasilkan
dokumen
yang
terlihat
pada
layar
atau
yang
dicetak
dari
semua
atau
sebagian
basis
data.
Keuntungan
dari
Database
Management
System
(DBMS)adalah:
Pengulangan
Data
Berkurang
Pengulangan
data
atau
repetisi
berarti
bahwa
field
data
yang
sama
(misal:
alamat
seseorang)
muncul
berkali-kali
dalam
file
yang
berbeda
dan
terkadang
dalam
format
yang
berbeda.
Dalam
sistem
pemrosesan
yang
lama,
file-file
yang
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
tidak
memiliki
masalah
tersebut.
Masalah
yang
dimaksud
oleh
kroenke
ini
sering
disebut
dengan
istilah
anomali.
Normalisasi
merupakan
sebuah
teknik
dalam
logical
desain
sebuah
basis
data,
teknik
pengelompokkan
atribut
dari
suatu
relasi
sehingga
membentuk
struktur
relasi
yang
baik
(tanpa
redudansi).
Normalisasi
adalah
suatu
proses
memperbaiki/membangun
dengan
model
data
relasional,
dan
secara
umum
lebih
tepat
dikoneksikan
dengan
model
data
logika.
Tujuan
dari
normalisasi
itu
sendiri
adalah
untuk
menghilangkan
kerangkapan
data,
mengurangi
kompleksitas,
dan
untuk
mempermudah
pemodifikasian
data.
Proses
normalisasi
ini
memiliki
beberapa
tahapan,
yaitu
:
Secara
detail,
tahapan-tahapan
normalisasi
diatas
dimulai
dari
tahapan
yang
pertama
hingga
tahapan
akhir
adalah
:
1) Bentuk
Normal
Kesatu
(1
NF/First
Normal
Form)
Bentuk
normal
kesatu
mempunyai
ciri
yaitu
setiap
data
dibentuk
dalam
file
flat,
data
dibentuk
dalam
satu
record
demi
satu
record
dan
nilai
dari
field
berupa
atomic
value.
Tidak
ada
set
atribut
yang
berulang
ulang
atau
atribut
bernilai
ganda
(multi
value).
Tiap
field
hanya
satu
pengertian,
bukan
merupakan
kumpulan
data
yang
mempunyai
arti
mendua.
Hanya
satu
arti
saja
dan
juga
bukanlah
pecahan
kata
kata
sehingga
artinya
lain.
Contoh
tabel
yang
belum
normal
:
6
MODUL
1
BASIS
DATA
SPASIAL
NIM
Nama
Hobi
15113008
Nina
15113009
Raditya
Membaca, melukis
15113010
Galuh
Tabel
diatas
menjadi
Tabel
Normal
1NF
apabila
untuk
setiap
baris
dan
kolom
hanya
memiliki
satu
nilai
(value).
Sehingga
untuk
membuat
tabel
diatas
menjadi
normal
1NF,
maka
untuk
kolom
hobi
harus
dibuat
dalam
beberapa
baris
baru.
NIM
Nama
Hobi
15113008
Nina
Memasak
15113008
Nina
Berenang
15113008
Nina
Membaca
15113009
Raditya
Membaca
15113009
Raditya
Melukis
15113010
Galuh
Membaca komik
15113010
Galuh
Menonton film
MODUL
1
BASIS
DATA
SPASIAL
kepada
kedua
kolom
primary
key
tersebut.
Hanya
kolom
{nihuruf}
yang
bergantung
kepada
kedua
kolom
primary
key
tersebut.
{mhs_nrp
dan
mk_kode}
--/->{mhs_nama}
{mhs_nrp
dan
mk_kode}
--/->{mhs_alamat}
{mhs_nrp
dan
mk_kode}
--/->{mk_nama}
{mhs_nrp
dan
mk_kode}
--/->{mk_sks}
{mhs_nrp
dan
mk_kode}
--->
{nihuruf}
Sehingga
tabel
diatas
harus
didekomposisi
menjadi
beberapa
tabel
yang
memenuhi
syarat
tabel
normal
2NF,
yang
terdiri
dari
:
Tabel
Nilai
{mhs_nrp,
mk_kode,
nihuruf}
Tabel
Mahasiswa
{mhs_nrp,
mhs_nama,
mhs_alamat}
Tabel
Matakuliah
{mk_kode,
mk_nama,
mk_sks}
3) Bentuk
Normal
Ketiga
(3NF)
Untuk
menjadi
bentuk
Normal
Ketiga
(3NF)
maka
relasi
haruslah
dalam
bentuk
Normal
Kedua
(2NF)
dan
semua
atribut
bukan
primer
(non
primary
key)
tidak
punya
hubungan
yang
transitif.
Artinya
setiap
atribut
non
primary
key
harus
bergantung
hanya
pada
atribut
primary
key
secara
menyeluruh.
Contoh
tabel
yang
memenuhi
2NF,
tetapi
tidak
memenuhi
3NF:
Tabel
Mahasiswa
:
nrp
nama
alm_jalan
alm_kota
alm_provinsi
alm_kodepos
Karena
masih
terdapat
atribut
non
primary
key
{alm_kota
dan
alm_provinsi}
yang
masih
memiliki
ketergantungan
terhadap
atribut
non
primary
key
{alm_kodepos}:
alm_kodepos
{alm_provinsi,
alm_kota}
Sehingga
tabel
diatas
harus
didekomposisi
menjadi
:
Tabel
Mahasiswa
{nrp,
nama,
alm_jalan,
alm_kodepos}
Tabel
kodepos
{alm_kodepos,
alm_provinsi,
alm_kota}
4) Boyce-Code
Normal
Form
(BCNF)
Bentuk
BCNF
terpenuhi
dalam
sebuah
tabel,
jika
untuk
setiap
ketergantungan
fungsional
(functional
dependency)
terhadap
setiap
atribut
atau
gabungan
atribut
dalam
bentuk:
X
Y
maka
X
adalah
super
key
.
Tabel
tersebut
harus
didekomposisi
berdasarkan
functional
dependency
yang
ada,
sehingga
X
menjadi
super
key
dari
tabel-tabel
hasil
dekomposisi.
Setiap
tabel
dalam
BCNF
merupakan
3NF.
Akan
tetapi
setiap
3NF
belum
tentu
termasuk
BCNF.
Perbedaannya,
untuk
functional
dependency
X
A,
BCNF
tidak
membolehkan
A
sebagai
bagian
dari
primary
key.
Jika
kriteria
ketiga
BCNF
tidak
8
MODUL
1
BASIS
DATA
SPASIAL
dapat
terpenuhi,
maka
paling
tidak
tabel
tersebut
tidak
melanggar
bentuk
normal
3NF.
5) Bentuk
Normal
Keempat
(4NF)
Bentuk
normal
4NF
terpenuhi
dalam
sebuah
tabel
jika
telah
memenuhi
bentuk
BCNF,
dan
tabel
tersebut
tidak
boleh
memiliki
lebih
dari
sebuah
multivalued
atribut.
Untuk
setiap
multivalueddependencies
(MVD)
juga
harus
merupakan
functional
dependencies.
Biasanya
jika
sebuah
tabel
sudah
memenuhi
normal
3NF
maka
bisa
dikatan
tabel
tersebut
sudah
normal.
Namun
kadang
masih
ada
tabel
normal
3NF
yang
memiliki
multivalued
sehingga
harus
dilakukan
normal
4NF.
6) Bentuk
Normal
Kelima
(5NF)
Bentuk
normal
5NF
terpenuhi
jika
tidak
dapat
memiliki
sebuah
lossless
decomposition
menjadi
tabel-tabel
yg
lebih
kecil.
Jika
4
bentuk
normal
sebelumnya
dibentuk
berdasarkan
functional
dependency,
5NF
dibentuk
berdasarkan
konsep
join
dependence.
Yakni
apabila
sebuah
tabel
telah
didekomposisi
menjadi
tabel-tabel
lebih
kecil,
harus
bisa
digabungkan
lagi
(join)
untuk
membentuk
tabel
semula.
Sebuah
tabel
dikatakan
baik
(efisien)
atau
normal
jika
memenuhi
tiga
kriteria
sebagai
berikut:
Jika
ada
dekomposisi
(penguraian)
tabel,
maka
dekomposisinya
harus
dijamin
aman
(Lossless-Join
Decomposition).
Artinya,
setelah
tabel
tersebut
diuraikan/didekomposisi
menjadi
tabel-tabel
baru,
tabel-tabel
baru
tersebut
bisa
menghasilkan
tabel
semula
dengan
sama
persis.
Terpeliharanya
ketergantungan
fungsional
pada
saat
perubahan
data
(Dependency
Preservation).
Tidak
melanggar
Boyce-Code
Normal
Form
(BCNF)
1.1.3 Pemodelan
Entity
Relationship
(ER-MODEL)
Model
data
Entity-Relationship
(E-R)
terdiri
dari
sekumpulan
objek-objek
yang
disebut
dengan
entitas
dan
hubungan
yang
terjadi
diantara
objek-objek
tersebut.
Model
data
E-R
terbagi
menjadi
tiga
konsep
dasar,
yaitu
himpunan
entitas,
himpunan
relasi,
dan
atribut.
Entitas
(Entity)
dan
Himpunan
Entitas
(Entity
Set)
Suatu
entitas
merupakan
suatu
objek
dasar
atau
individu
yang
mewakili
sesuatu
yang
nyata
eksistensinya
dan
dapat
dibedakan
dari
objek-objek
lain.
Suatu
entitas
mempunyai
sekumpulan
sifat,
dan
nilai
beberapa
sifat
tersebut
adalah
unik
yang
dapat
mengidentifikasi
entitas
tersebut.
Contoh
entitas
adalah
mahasiswa
pada
9
MODUL
1
BASIS
DATA
SPASIAL
suatu
perguruan
tinggi
dengan
NIM
secara
unik
dapat
menjadi
identitas
dari
setiap
mahasiswa.
Sekumpulan
entitas
yang
mempunyai
tipe
yang
sama
(sejenis)
dan
berada
dalam
lingkup
yang
sama
membentuk
suatu
himpunan
entitas.
Contohnya
sekumpulan
orang
yang
menjadi
mahasiswa
pada
suatu
perguruan
tinggi
dapat
difenisikan
sebagai
sebagai
himpunan
entitas
mahasiswa.
Sehingga
dapat
dikatakan
bahwa
entitas
merujuk
ke
suatu
objek,
sedangkan
himpunan
merujuk
kepada
rumpun
atau
kelompok
dari
objek
tersebut.
Setiap
entitas
memiliki
atribut.
Artibut
merupakan
sifat
atau
properti
yang
dimiliki
oleh
entitas.
Atribut
inilah
yang
membedakan
antara
satu
entitas
dengan
entitas
lainnya.
Sebagai
contoh
entitas
mahasiswa
memiliki
atribut
berupa
NIM,
nama
mahasiswa,
alamat
mahasiswa,
dan
tanggal
lahir
dari
mahasiswa
tersebut.
Tabel
entitas
mahasiswa
:
NIM
Nama_mhs
Alamat_mhs
Tgl_lahir
15107001
Arini
Cisitu
Lama
12/04/1989
15107012
Dianrina
Tubagus
Ismail
15/08/1989
15107032
Fandrio
Plesiran
25/01/1990
Untuk
setiap
atribut,
terdapat
sekumpulan
nilai
yang
disebut
dengan
domain,
atau
himpunan
dari
nilai
dari
suatu
atribut
tersebut.
Misalnya
domain
dari
atribut
NIM
dapat
berupa
himpunan
integer
dengan
panjang
yang
telah
ditentukan.
Dengan
demikian
suatu
basis
data
terdiri
dari
sekumpulan
himpunan
entitas
yang
masing-
masing
terdiri
dari
sejumlah
entitas
dengan
tipe
yang
sama.
Sehingga
suatu
atribut
dari
suatu
himpunan
entitas
merupakan
fungsi
pemetaan
dari
entitas
ke
domain.
Dibawah
ini
merupakan
beberapa
tipe
atau
karekteristik
dari
atribut
antara
lain
:
Atribut
sederhana
yaitu
atribut
yang
tidak
dapat
diuraikan
lagi
menjadi
sub
atribut
atau
atribut
yang
lainnya.
Pada
contoh
tabel
entitas
mahasiswa
diatas,
atribut
nama_mhs
merupakan
atribut
sederhana
karena
tidak
bisa
diuraikan
lagi
menjadi
sub
atribut.
Atribut
komposit
yaitu
atribut
yang
dapat
diuraikan
menjadi
beberapa
sub
atribut.
Pada
contoh
tabel
entitas
mahasiswa
diatas,
yang
merupakan
atribut
komposit
adalah
atribut
alamat_mhs
karena
masih
dapat
diuraikan
lagi
menjadi
beberapa
sub
atribut
misalnya
nama_kota,
kodepos,
dll.
Atribut
bernilai
tunggal
(single-valued
attribute)
yaitu
atribut
yang
mempunyai
paling
banyak
satu
nilai
untuk
setiap
baris
data.
Pada
contoh
entitas
mahasiswa
diatas
semua
atribut
merupakan
atribut
bernilai
tunggal.
Atribut
bernilai
banyak
(multivalued
attribute)
yaitu
atribut
yang
berisi
lebih
dari
satu
nilai,
tetapi
mepunyai
jenis
yang
sama.
Contohnya
atribut
hobi
yang
isinya
lebih
dari
satu
hobi.
10
MODUL
1
BASIS
DATA
SPASIAL
Atribut
null
adalah
ketika
suatu
entitas
tidak
mempunyai
suatu
nilai
untuk
suatu
atribut.
Null
juga
menandakan
bahwa
suatu
niali
atribut
tidak
ada
atau
tidak
diketahui.
Atribut
turunan
adalah
atribut
yang
nilainya
diperoleh
dari
pengolahan
atau
turunan
dari
atribut
atau
tabel
yang
lain
yang
berhubungan.
Misalnya
untuk
mengetahui
angkatan
dari
seorang
mahasiswa
kita
bisa
mengetahui
dari
NIM
mahasiswa
tersebut.
Relasi
(Relationship)
dan
Himpunan
Relasi
(Relationship
Set)
Relasi
menunjukkan
adanya
hubungan
diantara
sejumlah
entitas
yang
berasal
dari
sejumlah
himpunan
entitas
yang
berbeda.
Penguhubung
antara
himpunan
relasi
dengan
himpunan
entitas
dan
himpunan
entitas
dengan
himpunan
entitas,
pada
diagram
Entity
Relationship
Diagram
(ERD)
dinyatakan
dalam
bentuk
garis.
Untuk
lebih
jelas
lihat
contoh
diagram
ER
di
bawah
ini.
Kardinalitas
Relasi
(Mapping
Cardinalities)
Kardinalitas
merupakan
jumlah
maksimum
entitas
dimana
entitas
tersebut
dapat
berelasi
dengan
entitas
pada
himpunan
entitas
yang
lain.
Adapun
kardinalitas
relasi
yang
bisa
terjadi
antara
suatu
himpunan
A
dengan
suatu
himpunan
B
adalah
:
Satu
ke
satu
(One
to
one)
Satu
entitas
dalam
himpunan
entitas
A
dihubungkan
paling
banyak
terhdap
satu
entitas
pula
pada
himpunan
entitas
B,
dan
entitas
dalam
himpunan
entitas
B
dihubungkan
dengan
paling
banyak
satu
entitas
dalam
himpunan
entitas
A.
Untuk
lebih
jelasnya
lihat
gambar
di
bawah.
11
MODUL
1
BASIS
DATA
SPASIAL
Satu
ke
banyak
(One
to
many)
Suatu
entitas
dalam
himpunan
entitas
A
dihubungkan
dengan
lebih
dari
satu
entitas
dalam
himpunan
entitas
B,
dan
entitas
dalam
himpunan
entitas
B
hanya
dapat
dihubungkan
dengan
paling
banyak
satu
entitas
dalam
himpunan
entitas
himpunan
B.
Untuk
lebih
jelasnya,
lihat
gambar
di
bawah
ini.
Banyak
ke
satu
(Many
to
one)
Suatu
entitas
dalam
himpunan
entitas
A
dihubungkan
dengan
paling
banyak
satu
entitas
dalam
himpunan
entitas
B,
dan
entitas
dalam
himpunan
entitas
B
dapat
dihubungkan
dengan
lebih
dari
satu
entitas
dalam
himpunan
entitas
A.
Untuk
lebih
jelasnya,
lihat
gambar
di
bawah
ini.
Banyak
ke
banyak
(Many
to
many)
Semua
entitas
dalam
himpunan
entitas
A
dapat
dihubungkan
dengan
lebih
dari
satu
entitas
dalam
himpunan
entitas
B,
dan
entitas
dalam
himpunan
entitas
himpunan
B
dapat
dihubungkan
dengan
lebih
dari
satu
entitas
dalam
himpunan
entitas
A.
Untuk
lebih
jelasnya,
lihat
gambar
di
bawah
ini.
12
MODUL
1
BASIS
DATA
SPASIAL
Kelas
Keanggotaan
Kelas
keanggotaan
menunjukkan
apakah
semua
anggota
entitas
memiliki
hubungan
dengan
anggota
entitas
lagi
secara
pasti
atau
tidak.
Kelas
keanggotaan
terdiri
dari
dua
jenis,
yaitu
obligatori
dan
non
obligatori.
Obligatory
adalah
jika
semua
anggota
entitas
secara
pasti
berhubungan
dengan
anggota
entitas
lainnya.
Non-obligatory
adalah
jika
semua
anggota
entitas
secara
pasti
berhubungan
dengan
anggota
entitas
lainnya.
Berikut
beberapa
contoh
penggunaan
kelas
keanggotaan.
1. Obligatori
dan
Obligatori
Enterprise
rules
:
Seorang
guru
pasti
mengajar
mata
pelajaran
Satu
mata
pelajaran
pasti
diajar
oleh
guru
2. Obligatori
dan
Non
Obligatori
Enterprise
rules
:
Seorang
guru
pasti
mengajar
mata
pelajaran
Satu
mata
pelajaran
belum
tentu
diajar
oleh
guru
Kunci
(Key)
Kunci
(key)
adalah
satu
atau
gabungan
dari
beberapa
atribut
yang
dapat
membedakan
semua
baris
data
dengan
unik.
Jika
suatu
atribut
menjadi
kunci,
maka
tidak
boleh
ada
dua
atau
lebih
baris
data
dengan
nilai
yang
sama.
Adapun
macam-
macam
kunci
tersebut
adalah
:
13
MODUL
1
BASIS
DATA
SPASIAL
1) Superkey
Adalah
suatu
himpunan
yang
terdiri
dari
satu
atau
lebih
atribut
yang
dapat
membedakan
setiap
baris
data
dalam
sebuah
tabel
secara
unik.
Contohnya
kumpulan
atribut
(NIM,
nama_mhs,
alamat_mhs,
tgl_lahir)
dan
(NIM,
nama_mhs,
alamat_mhs).
2) Candidate
key
Adalah
himpunan
atribut
minimal
yang
dapat
membedakan
setiap
baris
data
dalam
sebuah
tabel
secara
unik.
Misalnya
atribut
(NIM)
dan
(nama_mhs).
3) Primary
key
Adalah
kunci
yang
paling
unik
diantara
semua
atribut
yang
ada.
Biasanya
juga
yang
paling
ringkas
dan
dijadikan
sebagai
acuan.
Contohnya
atribut
yang
paling
sering
digunakan
sebagai
primary
keyadalah
(NIM).
Diagram
Entity
Relationship
(Diagram
E-R)
Sebuah
basis
data
bisa
digambarkan
secara
grafik
dengan
menggunakan
diagram
E-R.
Adapun
komponen-komponen
dari
suatu
diagram
E-R
adalah
sebagai
berikut
:
o Persegi
panjang,
menggambarkan
himpunan
entitas.
o Garis,
menggambarkan
hubungan
atribut
ke
entitas
dan
himpunan
entitas
ke
himpunan
relasi.
o Kardinalitas
relasi
dapat
digambarkan
dengan
banyaknya
garis
atau
cabang
atau
dengan
memaki
angka,
1
untuk
relasi
satu
dan
n
untuk
relasi
banyak.
14
MODUL
1
BASIS
DATA
SPASIAL
1.1.4 Perancangan
Basis
Data
Dalam
melakukan
perancangan
basis
data,
terdapat
beberapa
tujuan
yaitu
:
Untuk
memenuhi
kebutuhan
akan
informasi
dari
pengguna
dan
aplikasi
yang
digunakan.
Menyediakan
struktur
informasi
yang
natural
dan
mudah
dimengerti
oleh
pengguna.
Mendukung
kebutuhan
pemrosesan
dan
objektifitas
kinerja
(waktu
respon,
waktu
pemrosesan,
dan
ruang
penyimpanan)
Pada
kegiatan
perancangan
basis
data,
terdapat
beberapa
tahapan
yang
harus
dilakukan
untuk
memperoleh
basis
data
yang
sesuai
dengan
yang
diinginkan.
Adapun
tahapannya
adalah
sebagai
berikut
:
1) Perencanaan
basis
data.
Untuk
melakukan
perencanaan
basis
data
ini
hal
yang
harus
dilakukan
adalah
:
Evaluasi
sistem
yang
ada,
Pengembangan
standardisasi
dari
pengumpulan
data,
format
data,
proses
perancangan
dan
implementasi,
Mempertimbangkan
kelayakan
secara
teknologi,
operasional,
dan
secara
ekonomi.
2) Pendefinisian
sistem.
Ada
beberapa
hal
yang
harus
didefinisikan
sebelum
merancang
basis
data,
diantaranya
:
Pendefinisian
ruang
lingkup
sistem
basis
data
yang
akan
dibuat,
para
pengguna,
dan
aplikasi
yang
digunakan,
Pendefinisian
pengguna
dan
aplikasi
untuk
masa
yang
akan
datang
(jangka
panjang),
Pendefinisian
batasan
dari
sistem
basis
data
dan
hubungan
dengan
bagian
dari
sistem
informasi
secara
organisasi.
3) Pengumpulan
dan
analisis
data
Menentukan
kelompok
pengguna
dan
bidang-bidang
aplikasinya,
Peninjauan
dokumentasi
yang
berhubungan
dengan
aplikasi,
Analisis
lingkungan
operasi
dan
pemrosesan
data.
15
MODUL
1
BASIS
DATA
SPASIAL
Perancangan
basis
datamerupakan
proses
menciptakan
perancangan
untuk
basis
data
yang
akan
mendukung
operasi
dan
tujuan
perusahaan
(Connolly,
2002:p279).
Dalam
merancang
suatu
basis
data,
digunakan
metodologi-metodologi
yang
membantu
dalam
tahap
perancangan
basis
data.
Metodologi
perancangan
adalah
pendekatan
struktur
dengan
menggunakan
prosedur,
teknik,
alat,
serta
bantuan
dokumen
untuk
membantu
dan
memudahkan
dalam
proses
perancangan.
Dengan
menggunakan
teknik
metode
disain
ini
dapat
membantu
dalam
merencanakan,
mengatur,
mengontrol,
dan
mengevaluasi
database
development
project.
(Connolly,
2002:p418).
Proses
dalam
metodologi
perncangan
dibagi
menjadi
tiga
tahap
:
Conseptual
Database
Design
Logical
Database
Design
Physical
Database
Design
Conseptual
Database
Design
Conceptual
database
design
adalah
proses
membangun
suatu
model
berdasarkan
informasi
yang
digunakan
oleh
perusahaan
atau
organisasi,
tanpa
pertimbangan
perencanaan
fisik
(Connolly,
2002:p419).
Pada
tahap
conceptual
model,
langkah-langkah
yang
dilakukan
adalah
sebagai
berikut
:
a) Mengidentifikasi
entity
types.
Bertujuan
untuk
menentukan
entity
types
utama
yang
dibutuhkan.
Menentukan
entitas
dapat
dilakukan
dengan
memeriksa
users
requirement
specification.
Setelah
terdefinisi,
entitas
diberikan
nama
yang
tepat
dan
jelas
seperti
mahasiswa,
dosen,
mata_kuliah.
b) Mengidentifikasikan
relationship
types.
16
MODUL
1
BASIS
DATA
SPASIAL
c)
d)
e)
f)
g)
h)
Bertujuan
untuk
mengidentifikasi
suatu
relasi
yang
penting
yang
ada
antar
entitas
yang
telah
diidentifikasi.
Nama
dari
suatu
relasi
menggunakan
kata
kerja
seperti
mempelajari,
memiliki
mempunyai
dan
lain-lain.
Mengidentifikasi
dan
menghubungkan
atribut
dengan
entitas
atau
relationship
types.
Bertujuan
untuk
menghubungkan
atribut
dengan
entitas
atau
relasi
yang
tepat.
Atribut
yang
dimiliki
setiap
entitas
atau
relasi
memiliki
identitas
atau
karakteristik
yang
sesuai
dengan
memperhatikan
atribut
berikut:
simple/composite
attribute,
single/multi-valued
attribute
dan
derived
attribute.
Menentukan
attribute
domain.
Bertujuan
untuk
menentukan
attribute
domain
pada
model
data
konseptual.
Contohnya
yaitu
menentukan
nilai
atribut
jenis_kelamin
pada
entitas
mahasiswa
dangan
M
atau
F
atau
nilai
atribut
sks
pada
entitas
mata_kuliah
dengan
1,
2,
3
dan
4.
Menentukan
atribut
yang
merupakan
candidate
key
dan
primary
key.
Bertujuan
untuk
mengidentifikasi
candidate
key
pada
setiap
entitas
dan
memilih
primary
key
jika
ada
lebih
dari
satu
candidate
key.
Pemilihan
primary
key
didasari
pada
panjang
dari
atribut
dan
keunikan
kunci
di
masa
datang.
Mempertimbangkan
penggunaan
enhance
modeling
concepts
(pilihan).
Pada
langkah
ini
bertujuan
untuk
menentukan
specialization,
generalization,
aggregation,
composition.
Dimana
masing-masing
pendekatan
dapat
dilakukan
sesuai
dengan
kebutuhan
yang
ada.
Specialization
dan
generalization
adalah
proses
dalam
mengelompokan
beberapa
entitas
dan
menghasilkan
entitas
yang
baru.
Beda
dari
keduanya
adalah
cara
prosesnya,
dimana
spesialisasi
menggunakan
proses
top-down
dan
generalisasi
menggunakan
proses
bottom-up.
Aggregation
menggambarkan
sebuah
entity
types
dengan
sebuah
relationship
types
dimana
suatu
relasi
hanya
akan
ada
jika
telah
ada
relasi
lainnya.
Mengecek
redundansi.
Bertujuan
untuk
memeriksa
conceptual
model
untuk
menghindari
dari
adanya
informasi
yang
redundan.
Yang
dilakukan
pada
langkah
ini
adalah
:
Memeriksa
kembali
one-to-one
relationship.
Setelah
entitas
diidentifikasikan
maka
kemungkinan
ada
dua
entitas
yang
mewakili
satu
objek.
Untuk
itu
dua
entitas
tersebut
harus
di-merger
bersama.
Dan
jika
primary
key-nya
berbeda
maka
harus
dipilih
salah
satu
dan
lainnya
dijadikan
alternate
key.
Menghilangkan
relasi
yang
redundansi.
Untuk
menekan
jumlah
model
data,
maka
relasi
data
yang
redundan
harus
dihilangkan.
Memvalidasi
conceptual
model
dengan
transaksi
user.
17
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
a) Membuat
dan
memvalidasikan
data
model
lokal
yang
logikal
untuk
setiap
view.
Aktivitas
pada
logical
database
design
langkah
pertama
adalah
membangun
pandangan
(view)
tertentu
dari
perusahaan
dan
kemudian
mengesahkan
model
ini
untuk
memastikan
strukturnya
telah
benar
atau
menggunakan
teknik
normalisasi.
Pindahkan
fitur-fitur
yang
tidak
kompatibel
dengan
model
relational
(langkah
optional)
Ambil
hubungan
untuk
data
model
lokal
yang
logikal
Validasikan
hubungan
menggunakan
normalisasi
Validasikan
hubungan
terhadap
transaksi
user
Tentukan
batasan
integrity
Tinjau
kembali
model
data
logikal
lokal
dengan
user
b) Membuat
dan
memvalidasikan
model
data
logikal
global
Aktivitas
pada
logical
database
design
langkah
kedua
adalah
untuk
mengkombinasikan
model
data
logikal
lokal
individual
ke
dalam
sebuah
model
data
logikal
global
tunggal
yang
menggambarkan
perusahaan.
Gabungkan
model
data
logikal
lokal
menjadi
model
global
Validasikan
model
data
logikal
global
Periksa
untuk
pengembangan
mendatang
Tinjau
kembali
model
data
logikal
global
dengan
user
Physical
Database
Design
Physical
design
merupakan
proses
pembuatan
deskripsi
dari
suatu
impelmentasi
basis
data
pada
secondary
storge.
Hal
ini
mendeskripsikan
base
relation,
organisasi
file,
dan
indeks
yang
digunakan
untuk
mencapai
efisiensi
akses
kedalam
data,
dan
associated
integrity
constraints
yang
lainnya
dan
security
measures.
Physical
database
design
merupakan
fase
ketiga
dan
terakhir
dalam
desain
basis
data.
Tujuan
utama
dari
physical
database
design
adalah
untuk
mendeskripsikan
bagaimana
desainer
bermaksud
untuk
mengimplementasikan
secara
fisik
dari
logical
database
design.
Langkah-langkah
dalam
pembuatan
physical
databse
design
adalah
sebagai
berikut
:
a) Terjemahkan
model
data
logikal
global
target
DBMS
Desain
hubungan
dasar
Desain
representasi
dari
data
yang
dihasilkan
Desain
batasan-batasan
perusahaan
b)
Desain
reprensentasi
fisikal
Analisa
transaksi-transaksi
Pilih
organisasi
file
Pilih
indeks-indeks
19
MODUL
1
BASIS
DATA
SPASIAL
c)
d)
e)
f)
Gambar
di
atas
merupakan
metodologi
Perancangan
Basis
Data
menurut
Connoly
dan
Begg.
Keterangan
gambar
:
1) Database
planning
Yakni
kegiatan
perencanaan,
agar
kegiatan
di
tiap-tiap
stage
pada
siklus
hidup
dapat
direalisasikan
seefektif
dan
seefisien
mungkin.
2) System
Definition
Yakni
kegiatan
menentukan
ruang
lingkup
dan
batasan
pada
aplikasi
basis
data,
pengguna,
dan
area
aplikasi.
3) Requirements
collection
and
analysis
Yakni
kegiatan
pengumpulan
dan
analisis
informasi
mengenai
bagian
dari
perusahaan
yang
akan
didukung
oleh
aplikasi
basis
data.
4) Database
design
20
MODUL
1
BASIS
DATA
SPASIAL
Yakni
kegiatan
perancangan
konseptual,
logikal,
dan
fisikal
pada
basis
data.
5) DBMS
selection
(optional)
Yakni
kegiatan
menyeleksi
DBMS
yang
cocok
untuk
diterapkan
pada
aplikasi
basis
data.
6) Application
design
Yakni
kegiatan
perancangan
user
interface
dan
program
aplikasi
yang
akan
digunakan
dan
akan
memproses
basis
data.
7) Prototyping
(optional)
Yakni
kegiatan
membangun
model
pekerjaan
atau
kegiatan
pada
aplikasi
basis
data,
yang
memungkinkan
perancang
atau
pengguna
untuk
memvisualisasikan
dan
mengevaluasi
bagaimana
tampilan
dan
kegunaan
dari
sistem
yang
dihasilkan.
8) Implementation
Membuat
bagian
luar
(external),
konseptual,
dan
mendefinisikan
basis
data
internal,
serta
program
aplikasi.
9) Data
conversion
and
loading
Yaitu
peralihan
dengan
pemuatan
sistem
lama
ke
sistem
yang
baru.
10) Testing
Dengan
menguji
coba
kesalahan
atau
error
pada
aplikasi
basis
data
dan
memvalidasikan
penentuan
kebutuhan
pengguna.
11) Operational
maintenance
Pada
stage
ini
aplikasi
basis
data
secara
penuh
diterapkan,
dimana
sistem
secara
terus
menerus
diawasi
dan
dipelihara.
Akan
sangat
penting
apabila
kebutuhan
yang
baru
tergabung
pada
aplikasi
basis
data
melalui
stage
sebelumnya
pada
siklus
hidup.
1.2 Studi
Kasus
MP3EI
Pembangunan
Indonesia
tidak
lepas
dari
posisi
Indonesia
dalam
dinamika
regional
dan
global.
Secara
geografis
Indonesia
terletak
di
jantung
pertumbuhan
ekonomi
dunia.
Selaras
dengan
visi
pembangunan
nasional
sebagaimana
tertuang
dalam
Undang-
Undang
no.
17
tahun
2007
Tentang
Rencana
Pembangunan
Jangka
Panjang
Nasional
2005
2025,
maka
visi
Percepatan
dan
Perluasan
Pembangunan
Ekonomi
Indonesia
adalah
:
Mewujudkan
Masyarakat
Indonesia
yang
Mandiri,
Maju,
Adil,
dan
Makmur.
Percepatan
dan
perluasan
pembangunan
ekonomi
Indonesia
menetapkan
sejumlah
program
utama
dan
kegiatan
ekonomi
utama
yang
menjadi
fokus
pengembangan
strategi
dan
kebijakan.
Fokus
dari
pengembangan
MP3EI
ini
diletakkan
pada
8
program
utama,
yaitu
pertanian,
pertambangan,
energi,
industri,
kelautan,
pariwisata,
dan
telematika,
serta
pengembangan
kawasan
strategis.
1.2.1 Latar
Belakang
Masalah
21
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
Gunung
Tangkuban
Perahu
Duduk
dengan
anggunnya
mendominasi
panorama
Bandung
utara,
Gunung
Tangkuban
Perahu
adalah
salah
satu
gunung
berapi
yang
masih
aktif
di
Jawa
Barat.
Berada
di
ketinggian
2084
m
dpl,
gunung
berbentuk
unik
ini
telah
menarik
banyak
pengunjung
selama
puluhan
tahun
yang
datang
untuk
melihat
lebih
dekat
kawahnya,
menikmati
panorama
lembah
sekelilingnya,
serta
lebih
akrab
dengan
cerita
rakyatnya
yang
terkenal,
Sangkuriang.
Berdasarkan
legendanya,
gunung
ini
terbentuk
akibat
kemarahan
Sangkuriang
yang
merasa
gagal
dalam
mengabulkan
permintaan
pembuatan
danau
dan
perahu
besar
dari
Dayang
Sumbi
(merupakan
kisah
cinta
terlarang
antara
seorang
anak
dengan
ibu
kandungnya
sendiri).
Maka
ditendangnya
perahu
yang
telah
dibuat
dan
jatuh
tertelengkup
(dalam
Basa
Sunda
nangkub)
di
lokasinya
sekarang
yang
menjadi
asal
mula
nama
Gunung
Tangkuban
Perahu.
Menurut
sejarah
geologinya,
Gunung
Tangkuban
Parahu
terbentuk
dari
aktifitas
letusan
berulang
Gunung
Api
Sunda
di
jaman
prasejarah.
Catatan
letusan
dalam
2
abad
terakhir
adalah
tahun
1829,
1846,
1862,
1887,
1896,
1910,
dan
1929.
Dari
puncak
menara
Gedung
Sate
di
Kota
Bandung,
Anda
dapat
melihat
dengan
sangat
jelas
bentuk
fisik
Gunung
Tangkuban
Parahu
yang
benar-benar
menyerupai
perahu
terbalik.
Koordinat
:
6
46'
12"
S,
107
36'
0"
E
Arah:
30
km
arah
utara
Kota
Bandung,
atau
31
km
arah
selatan
Kota
Subang
Fasilitas:
kios
makanan
&
cinderamata,
toilet
Gunung
Papandayan
Luas
kawasan
objek
ini
secara
keseluruhan
7132
Ha,
yang
terdiri
dari
Cagar
Alam
dengan
luas
6807
Ha
dan
Taman
Wisata
Alam
225
Ha.
Adapun
pengelola
objek
tersebut
adalah
BKSDA
Jabar
II.
Sedangkan
status
kepemilikan
tanahnya
dikuasai
oleh
Departemen
Kehutanan.
Adapun
jenis
gunung
ini
adalah
jenis
gunung
berapi
yang
memiliki
ketinggian
2622
m
dari
permukaan
laut.
Di
gunung
Papandayan
ini
terdapat
banyak
kawah
yang
aktif,
24
MODUL
1
BASIS
DATA
SPASIAL
yang
diantaranya
ada
4
kawah
yang
meletus
pada
tahun
2002.
Topografi
Gunung
Papandayan
berada
di
ketinggian
2170
m
di
atas
permukaan
laut
dengan
konfigurasi
umum
lahannya
bergunung,
berbukit,
dataran
dan
lembah.
Daya
tarik
Gunung
Papandayan
yang
utama
berupa
kawah,
panorama,
pegunungan
dan
perkemahan,
semuanya
ini
ada
di
dalam
kawasan
Taman
Wisata
Alam.
Daya
tarik
yang
potensial
berupa
hutan
terdapat
di
Cagar
Alam
(CA)
yang
sifatnya
khusus
untuk
penelitian
dan
pendidikan.
Selain
itu
terdapat
perkebunan
di
luar
kawasan
berupa
kebun
teh
milik
PTPNVIII
Sedep,
Bandung.
Aktivitas
utama
yang
dapat
dilakukan
yaitu
trekking,
hiking,
fotografi
dan
rekreasi
hutan
yang
semua
ini
dapat
dilakukan
di
TWA.
Sedangkan
aktivitas
penunjangnya
ialah
penelitian
fauna
dan
flora
di
CA
serta
untuk
piknik
dan
berkemah
dapat
di
lakukan
di
TWA.
TWA
memiliki
flora
yang
dominan
yaitu
Hiur,
Puspa,
Pasang
Hura,
Saninten,
Jamaju,
Sega,
Suwagi
dan
Kiteke
sedangkan
fauna
yang
dominan
yaitu
babi
hutan,
macan
kumbang,
macan
tutul
dan
burung.
Flora
yang
dominan
ialah
sedangkan
untuk
fauna
dominan
adalah
babi
hutan,
jenis
burung,
macan
kumbang
dan
tutul.
Flora
langka
di
Cagar
Alam
yaitu
Saninten
dan
untuk
faunanya
rusa,
elang
Jawa,
Lutung
dan
Surili.
Kegiatan
konservasi
hewan
dan
tumbuhan
dilakukan
di
Cagar
Alam.
Lokasi:
Desa
Sirna
Jaya
dan
Desa
Keramat
Wangi,
Kecamatan
Cisurupan,
Kabupaten
Garut
Koordinat
:
7
18'
25"
S,
107
42'
51"
E
Kawah
Putih
Di
ketinggian
Gunung
Patuha,
tersembunyi
keindahan
bekas
kawah
tua
yang
unik.
Bau
belerang
akan
menyambut
Anda
begitu
tiba
di
tebing
kawah,
menjadi
sajian
yang
tidak
terpisahan
ketika
mengagumi
kawah
berwarna
hijau
muda
yang
dikelilingi
oleh
pasir
putih
serta
riak
air
dalam
kawah
yang
bertabur
asap
tipis
serta
sesekali
letupan
lumpur
hidup,
menjadikannya
sebuah
atraksi
alam
yang
tiada
duanya.
Sebagai
tambahan,
warna
air
Kawah
Putih
selalu
berubah-ubah
bila
terkena
sinar
matahari.
Pertama
kali
terungkap
pada
tahun
1837
oleh
seorang
ilmuwan
asal
Belanda
yang
bernama
Dr.
Franz
Wilhelm
Junghun,
danau
di
ketinggian
2194
m
dpl
dengan
suhu
sekitar
15-22
derajat
Celcius
ini
sangat
memesona.
Karena
keunikannya
itu,
Kawah
Putih
menjadi
objek
wisata
bagi
wisatawan
nusantara
dan
mancanegara,
serta
latar
belakang
favorit
bagi
para
fotografer
dan
sineas
film.
25
MODUL
1
BASIS
DATA
SPASIAL
Secara
geologis,
Kawah
Putih
terbentuk
dari
aktifitas
letusan
Gunung
Patuha
yang
terjadi
di
abad
ke-XII.
Nama
Patuha
sendiri
berasal
dari
nama
awal
gunung
ini,
Gunung
Sepuh
(Bahasa
Sunda
untuk
tua).
Koordinat
:
07
10.021
S,
107
24.279
E
Arah:
44
km
arah
selatan
Kota
Bandung
melalui
Soreang,
Ciwidey
dan
Cimanggu
Gunung
Galunggung
Salah
satu
keajaiban
Gunung
Galunggung,
yaitu
danau
yang
terdapat
di
dalam
kawahnya.
Uniknya,
dari
danau
berair
dingin
itu
tidak
tercium
bau
belerang
dan
hal
ini
berbeda
dengan
gunung-gunung
berapi
lainnya
di
Indonesia.
Pada
saat
cuaca
yang
cerah,
keajaiban
alam
lainnya
berupa
sungai-sungai
yang
turun
dari
bukit
Gunung
Galunggung
yang
terlihat
seolah-olah
dari
langit.
Di
kaki
gunung
ini
terdapat
pemandian
air
panas
yang
mengandung
mineral
berkhasiat
untuk
penyembuhan
penyakit
kulit
maupun
kesehatan
dan
kesegaran
jasmani.
Di
samping
itu,
Anda
juga
dapat
mendaki
kawah
Gunung
Galunggung
melalui
tangga
1000
dan
tangga
biru
dan
langsung
turun
ke
bawah
kawah
untuk
dapat
melihat
dari
dekat
danau
dengan
pulau
kecil
di
tengah-tengannya.
Wisata
Air
Terjun
Curug
Caweni
Terletak
di
Kampung
Cilutung,
Desa
Cidolog,
Kecamatan
Cidolog,
Kabupaten
Sukabumi,
Propinsi
Jawa
Barat
Curug
Caweni
memiliki
ketinggian
terjunan
air
sekitar
15
m.
Salah
satu
ciri
khas
Curug
Caweni
adalah
adanya
sebuah
batu
setinggi
7
m
yang
terdapat
di
tengah-tengah
air
terjun.
Konon
batu
tersebut
adalah
Arca
Caweni,
putri
yang
pernah
berkuasa
di
Cidolog.
Nama
Caweni
atau
cawene
dalam
bahasa
sunda
berarti
'randa
bengsrat',
janda
yang
masih
suci
karena
berpisah
sebelum
melakukan
hubungan
intim
dengan
suaminya.
Fasilitas
yang
tersedia
sudah
ada
seperti,
lokasi
parkir
dan
WC
serta
tempat
ganti
pakaian,
tetapi
sayangnya
pemeliharaannya
tidak
ada
bahkan
dibiarkan
tak
terurus.
26
MODUL
1
BASIS
DATA
SPASIAL
Selain
itu
ketiadaan,
warung
atau
toko
penjual
makanan
dan
minuman
pun
sulit
ditemui.
Satu-satunya
penjual
makanan
dan
minuman
berada
di
jalan
raya
Cidolog,
sekitar
200
meter
sebelum
ke
Curug
Caweni.
Oleh
karena
itu
disarankan
membawa
bekal
jika
ingin
berwisata
ke
tempat
ini.
Curug
Muarajaya
Seperti
namanya,
curug
merupakan
air
terjun
yang
tumpahan
airnya
mengalir
deras
membelah
di
puncak
bukit.
Tumpahan
air
itu
menyajikan
panorama
indah
pada
birunya
langit,
sejuknya
udara,
dan
hijaunya
pepohonan
yang
menyelimuti
suasana
wisata
yang
berada
di
Kecamatan
Argapura.
Selain
itu
terdapat
pula
lapangan
sebagai
areal
untuk
camping
bagi
para
pengunjung,
tempat
ini
dapat
dijadikan
alternatif
bagi
pengunjung
yang
memiliki
hobi
berpetualang.
Selain
menjanjikan
ketenangan
dan
ketenteraman,
juga
kedamaian
menjadi
perpaduan
yang
kompak
untuk
menunjang
daya
tarik
tersendiri,
tetapi
pada
saat
ini
area
camping
tersebut
belum
begitu
berkembang.
Curug
Muara
Jaya
berada
di
Desa
Argamukti,
Kecamatan
Argapura
yang
dikelola
pada
tahun
1999.
Dimana
jarak
yang
harus
ditempuh
untuk
menuju
curug
ini
yaitu
+20.1
km
dari
pusat
kota
Majalengka.
Luas
Curug
Muara
Jaya
sebesar
+2
Ha.
Jarak
dari
tempat
parkir
menuju
curug
tersebut
yaitu
+300
m
berupa
jalan
setapak
yang
telah
menggunakan
paping
blok.
Objek
Wisata
Curug
Muara
Jaya
menawarkan
keindahan
alam
dengan
panorama
air
terjun
setinggi
73
m
yang
terdiri
dari
tiga
umpak.
Udara
yang
sejuk
dengan
hamparan
sayur
mayur
dan
pohon
kesemek
menjadi
daya
tarik
bagi
peminat
wisata
alam.
Kawasan
ini
merupakan
jalur
alternatif
pendakian
ke
puncak
Gunung
Ciremai,
disamping
itu
dilokasi
ini
pada
setiap
tahunnya
digelar
upacara
pareresan
yang
dilakukan
setelah
panen
raya.
Objek
wisata
ini
banyak
diminati
oleh
pengunjung,
dengan
rata-rata
jumlah
pengunjung
pada
hari
libur
sebanyak
+200
pengunjung,
dan
pada
hari
biasa
+20
pengunjung
dengan
harga
tiket
masuk
sebesar
Rp.
4.000/orang.
Sedangkan
Jumlah
pengunjung
pada
tahun
2007
berjumlah
15.782
pengunjung
dan
pada
tahun
2005
berjumlah
32.300
pengunjung,
dari
tahun
2005
tahun
2007
mengalami
penurunan
tingkat
kunjungan.
Fasilitas
yang
terdapat
di
Curug
Muara
Jaya
yaitu
tempat
parkir,
tempat
bermain
anak-anak,
bale
pertemuan,
toilet,
warung,
shelter,
mushola,
camping
ground,
dan
loket
(karcis).
Jalan
menuju
objek
wisata,
dari
pasar
Maja
sudah
cukup
baik
dengan
konstruksi
aspal,
kondisinya
sudah
lebar
sehingga
dapat
dilewati
oleh
kendaraan
mobil
dua
arah
dengan
lancar
tetapi
disebagian
wilayah
terdapat
jalan
yang
masih
rusak
tidak
adanya
sarana
transportasi
berupa
angkutan
umum
yang
menuju
ke
curug
tersebut,
melainkan
hanya
mobil
bak
terbuka
dan
ojek.
27
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
setempat
(17-23
C).
Keunikan
lain
Situ
Patengang
yang
dibuka
sebagai
taman
wisata
sejak
1981
ini
adalah
legenda
klasik
dari
kerajaan
masa
lampau.
Adalah
seorang
pangeran
keponakan
Prabu
Siliwangi,
Ki
Santang,
dan
seorang
putri
gunung
cantik
jelita,
Dewi
Rengganis,
yang
saling
jatuh
cinta.
Namun
perjalanan
cinta
mereka
tidak
semulus
dan
seindah
yang
dibayangkan
oleh
keduanya
karena
dipisahkan
oleh
keadaan.
Konon,
air
mata
yang
mengalir
dari
keduanyalah
yang
membentuk
danau
ini,
sehingga
dinamai
patenggang
yang
diambil
dari
kata
pateangan-teangan
(Bahasa
Sunda
untuk
saling
mencari).
Pada
akhirnya,
mereka
dapat
berkumpul
kembali
di
sebuah
batu
setempat
yang
diberi
nama
Batu
Cinta.
Konon
siapapun
yang
pernah
berkunjung
dengan
pasangannya
ke
batu
ini,
maka
cinta
mereka
akan
abadi.
Yang
tidak
kalah
menarik
adalah
kondisi
jalan
menuju
Situ
Patenggang
yang
menawarkan
hamparan
hutan
dan
perkebunan
teh
yang
hijau,
serta
kebun-kebun
sayuran
dan
strawberry
khas
setempat
yang
dapat
Anda
petik
sendiri.
Alamat:
Desa
Patengan,
Kecamatan
Rancabali,
Kabupaten
Bandung
Koordinat
:
07
09.815
S,
107
21.476
E
Telaga
Warna
Taman
Wisata
menawarkan
panorama
alam
yang
khas
dan
unik,
serta
fenomena
alam
yang
penuh
dengan
misteri
dan
nuansa
mistik.
Alam
pegunungan
Puncak
yang
sejuk
dan
berkabut,
dengan
panorama
bukit
dan
tebing
serta
perkebunan
teh
yang
menghampar
di
sepanjang
jalan
masuk
ke
lokasi
telaga,
menciptakan
pesona
alam
yang
jarang
dapat
Anda
temukan
di
tempat
lain.
Selain
itu,
nuansa
mistiknya
tersendiri
terbentuk
menurut
masyarakat
sekitar,
tentang
dua
ekor
ikan
purba
yang
tinggal
di
danau
dan
apabila
ada
orang
yang
mampu
melihat
ikan
tersebut
berenang
dan
meloncat
ke
atas
permukaan
telaga,
maka
segala
cita-citanya
akan
tercapai
dan
terkabul.
Banyak
kegiatan
yang
bisa
dilakukan
di
area
ini
seperti
photo
hunting,
bird
watching,
tracking,
dan
camping.
Koordinat
:
6
42'
2"
S,
106
59'
41"
E
29
MODUL
1
BASIS
DATA
SPASIAL
Wisata
Gua
Gua
Jepang
Goa
yang
terletak
di
Bandung
utara
yang
dapat
ditelusuri
adalah
Goa
Jepang.
Dibangun
di
kawasan
Taman
Hutan
Raya
(TAHURA)
Ir.
H.
Juanda,
goa
ini
dibangun
pada
tahun
1942
dengan
panjang
lorong
keseluruhan
sekitar
350
meter.
Pembangunan
Goaa
Jepang
dilakukan
oleh
orang-orang
pribumi
melalui
kerja
paksa
atau
dikenal
dengan
Romusha,
dengan
tujuan
sebagai
benteng
pertahanan
tentara
jepang.
Lokasi:
Taman
Hutan
Raya
Ir.
H.
Djuanda
Koordinat
:
651,379'S
10737,943'E
Goa
Lalay
Siapa
yang
tidak
kenal
sebuah
goa
wisata
di
Sukabumi
dengan
jutaan
kelelawar
yang
hidup
di
dalamnya?
Lokasi
Goa
Lalay
yang
dekat
dengan
pantai
wisata
Palabuhanratu
ini
menyimpan
berbagai
keunikan
tersendiri.
Sebuah
kunjungan
ilmiah
pernah
dilakukan
di
lokasi
gua
ini,
tepatnya
7
November
1937,
oleh
seorang
ilmuwan
Belanda.
Sedangkan
foto
Goa
Lalay
pertama
kali
dipublikasikan
tahun
1938
dalam
sebuah
jurnal
de
Tropische
Natuur.
Ketika
itu,
Palabuhanratu
lebih
dikenal
dengan
Wijnkoopsbaai
dan
dalam
kunjungan
ilmiah
waktu
itu
lebih
banyak
mengupas
tentang
vegetasi
di
sekitar
kawasan
tersebut.
Barisan
ratusan
ribu
kelelawar
yang
meliuk-liuk,
menyerupai
awan
hidup
yang
keluar
dari
Goa
Lalai,
merupakan
atraksi
yang
sangat
menarik
di
waktu
sore
hari
untuk
Anda
saksikan
dan
hanya
dapat
dilihat
sekitar
pukul
17.00.
Lokasi:
Kecamatan
Palabuhanratu
Koordinat
:
71,128'S
10632,599'E
30
Jenis_jaba
tan
Manager
Id_departe
men
D1
Supervisor
D1
Manager
D5
Nm_departe
men
Teknologi
Energi
Teknologi
Energi
HRD
Latihan
3
No_Faktur
Kode_Supp
Nm_Suppl
Kode_Barang
Nm_barang
Tgl
Jatuh_Tempo
111
A151
A-Comp
DR128
DRAM
05/01/2013
05/02/2013
222
B123
C-Comp
GF52
Gforce
13/01/2013
13/02/2013
222
Ath25
Ath25
Bagaimana
bentuk
normalisasi
dari
tabel
di
atas
?
Id_caba Nm_caba
ng
ng
C1
Dago
Qty
10
10
10
Id_pe
nd
P2
Tk_Pe
nd
S2
C1
Dago
P1
S1
C4
Antapani
P2
S2
Harga
200
500
700
Jumlah
2000
5000
7000
Total
2000
5000
7000
31
MODUL
1
BASIS
DATA
SPASIAL
1.4 Studi
Kasus
MP3EI
:
Merancang
Basis
Data
Seperti
yang
telah
dipaparkan
pada
Sub
bab
di
atas
Propinsi
Jawa
Barat
merupakan
salah
satu
propinsi
yang
memiliki
aset
berupa
objek-objek
pariwisata
yang
perlu
dikembangkan
potensinya.
Dalam
rangka
mensosialisasikan
seputar
keindahan
dan
kekayaan
Propinsi
Jawa
Barat,
baik
itu
kekayaan
alam,
budaya
dan
lainnya
maka
akan
dibuat
Sistem
Informasi
Geografis
Pariwisata
Jawa
Barat.
Dengan
deskripsi
:
Objek
Wisata;
Objek
wisata
pada
daerah
Jawa
Barat
memiliki
macam
yang
sangat
beragam,
seperti
danau,
air
panas,
pantai,
flora&fauna,
pegunungan,
dll.
Data
spasial
ini
memberikan
informasi
objek
wisata
apa
saja
yang
berada
di
lokasi
propinsi
Jawa
Barat.
Lokasi
akomodasi:
Akomodasi
merupakan
tempat
tinggal
sementara
di
tempat
atau
di
daerah
tujuan
yang
akan
dikunjungi,
yaitu
penginapan,
hotel,
losmen,
dan
lain-lain.
Dibeberapa
daerah,
perkembangan
pariwisata
diawali
dengan
tumbuhnya
hotel
dan
penginapan
untuk
melayani
pelaku
perjalanan.
Ada
yang
didirikan
disepanjang
pantai
untuk
akomodasi
wisatawan
yang
akan
menikmati
keindahan
alam
dan
rekreasi
pantai.
Ada
pula
hotel
yang
dibangun
di
lokasi
strategis
untuk
akomodasi
wisatawan
yang
perlu
transit
(singgah)
sebelum
sampai
ke
tujuannya.
Lokasi
transportasi
umum;
Transportasi
umum
dalam
hal
industri
pariwisata
merupakan
lokasi
transportasi
yang
akan
membawa
wisatawan
dari
dan
kearah
tujuan
yang
ingin
diketahui.
Transportasi
umum
dapat
dibedakan
menjadi
3
yakni
transportasi
darat
(misal:
kereta
api,
mobil,
bus
pariwisata)
,
laut
(kapal,
kapal
pesiar)
dan
udara
(pesawat
terbang).
Jalur
transportasi;
Jalur
transportasi
memberikan
informasi
jalur
akses
yang
dapat
dilewati
untuk
mencapai
tempat
tujuan
wisata.
Informasi
yang
diberikan
dari
jalur
transportasi
ini
adalah
informasi
dengan
melalui
transportasi
darat
dan
laut.
Lokasi
rumah
makan
Fasilitas
makan
dan
minum
(restauran,
cafe)
memberikan
daya
tarik
tersendiri
untuk
wisatawan
mengunjungi
lokasi
wisata.
Lokasi
tempat
wisata
ini
dapat
memberikan
informasi
bagi
wisatawan
untuk
singgah
di
rumah
makan
yang
sebagian
besar
menyediakan
jenis
makanan
khas
daerah.
33
MODUL
1
BASIS
DATA
SPASIAL
Lokasi
fasilitas
sosial
dan
fasilitas
umum
Fasilitas
sosial
dan
fasilitas
umum
yang
terdapat
pada
daerah
wisata
sebagian
besar
terdiri
dari
tempat
peribadatan,
SPBU,
Rumah
sakit,
rest
area,
toilet
umum,
dll.
Informasi
lokasi
ini
akan
sangat
membantu
para
wisatawan
untuk
memenuhi
kebutuhan
yang
mendesak.
Batas
administrasi
Lingkup
kajian
pada
studi
kasus
industri
pariwisata
adalah
pada
daerah
Provinsi
Jawa
Barat,
sehingga
dalam
hal
ini
batas
administrasi
hanya
disekitar
Jawa
Barat.
Batas
administrasi
ini
merupakan
informasi
mengenai
lokasi
dimana
tempat
wisata
berada.
Lokasi
bank/ATM
Bank/ATM
merupakan
kebutuhan
yang
vital
bagi
para
wisatawan.
Informasi
lokasi
bank/ATM
yang
tersebar
di
daerah
wisata
akan
sangat
membantu
para
wisatawan
untuk
mengetahui
bank/ATM
apa
yang
memiliki
jarak
terdekat
sehingga
mudah
untuk
diakses.
Lokasi
pusat
perbelanjaan
Daerah
wisata
pada
umumnya
memiliki
pusat
perbelanjaan
dimana
selain
pemandangan
alamnya,
wisatawan
banyak
yang
mengunjungi
pusat
perbelanjaan
untuk
berbelanja
barang-barang
yang
khas
pada
daerah
wisata.
Informasi
lokasi
pusat
perbelanjaan
akan
sangat
membantu
para
wisatawan
untuk
mengakses
pusat
perbelanjaan
dengan
mudah.
Lokasi
pusat
kerajinan
Selain
lokasi
pusat
perbelanjaan,
ada
pula
lokasi
pusat
kerajinan,
yakni
dimana
sebagian
besar
masyarakat
dalam
suatu
daerah
memiliki
industri
kerajinan
tertentu.
Industri
ini
dapat
berupa
industri
rumah
tangga,
atau
industri
kecil.
Untuk
membangun
Sistem
Informasi
Geografis
Pariwisata
Jawa
Barat,
memerlukan
beberapa
tahapan,
diantaranya
:
a. Identifikasi
kebutuhan.
d. Implementasi
antarmuka
b. Perancangan
basis
data
berbasis
web
c. Pembangunan
basis
data
e. Uji
coba
aplikasi
web
34
MODUL
1
BASIS
DATA
SPASIAL
Peta
dan
Informasi
Pencarian
Data
Wisata
Sistem
Informasi
Geografis
Pariwisata
Jawa
Barat
Data
Wisata
Data
Wisatawan
Data
Rumah
Makan
Data
Lokasi
ATM
/
Bank
Data
Lokasi
Pusat
Perbelanjaan
Data
Lokasi
Pusat
Kerajinan
Data
Akomodasi
Data
Transportasi
Dimana
data
yang
dibutuhkan
dari
hasil
identifikasi
kebutuhan
yaitu
sebagai
berikut
:
Data
Wisata
Data
lokasi
Pusat
Perbelanjaan
Data
Wisatawan
Data
lokasi
Pusat
Kerajinan
Data
Rumah
Makan
Data
Akomodasi
Data
Lokasi
ATM/Bank
Data
Transportasi
Dengan
data
spasial
pendukung
berupa
:
Data
spasial
lokasi
wisata
di
Jawa
Barat
Data
Spasial
Batas
Administrasi
Kabupaten/Kota
Jawa
Barat
sebagai
peta
dasar
Sedangkan,
kebutuhan
transaksi
yang
diperoleh
dari
hasil
identifikasi
kebutuhan,
yaitu
sebagai
berikut
:
Pencarian
data
wisata
Informasi
lokasi
wisata
berupa
peta
Informasi
fasilitas
pendukung
seperti
rumah
makan,
transportasi,
akomodasi.
Berdasarkan
analisis
kebutuhan
yang
telah
dilakukan
untuk
pembangunan
Sistem
Informasi
Geografis
Pariwisata
Jawa
Barat
di
atas,
bagaimanakah
rancangan
basis
data-nya
?
Jawab
:
Berikut
merupakan
alur
kerja
(workflow)
dari
perancangan
basis
data
untuk
Sistem
Informasi
Geografis
Pariwisata
Jawa
Barat.
1. Pertama,
anda
perlu
membuat
Desain
Konseptual
untuk
Sistem
Informasi
Geografis
Pariwisata
Jawa
Barat,
yaitu
membangun
representasi
konseptual
dari
basis
data,
dimana
terdiri
atas
identifikasi
entitas.
Jadi,
tentukan
entitas
apa
saja
yang
dibutuhkan
berdasarkan
informasi
analisis
kebutuhan.
35
MODUL
1
BASIS
DATA
SPASIAL
Entitas
Wisata
Deskripsi
Entitas
Wisata
merupakan
lokasi
berbagai
objek
wisata
yang
terdapat
di
Jawa
Barat
Kabupaten
Entitas
Kabupaten
merupakan
batas
administrasi
kabupaten
di
Jawa
Barat.
Rumah
Makan
Entitas
Rumah
Makan
merupakan
merupakan
fasilitas
pendukung
pariwisata
berupa
tempat
makan
terdekat
dari
lokasi
objek
wisata
Akomodasi
Entitas
Akomodasi
merupakan
fasilitas
pendukung
pariwisata
berupa
tempat
beristirahat
yang
dekat
dari
lokasi
objek
wisata
Pusat
Entitas
Pusat
Perbelanjaan
Perbelanjaan
merupakan
fasilitas
pendukung
pariwisata
berupa
tempat
perbelanjaan
yang
dekat
dengan
objek
pariwisata
Pusat
Entitas
Pusat
Kerajinan
merupakan
Kerajinan
fasilitas
pendukung
pariwisata
berupa
tempat
produksi
dan
penjualan
kerajinan
khas
daerah
terkait
Atm/Bank
Entitas
Atm/Bank
merupakan
fasilitas
pendukung
pariwisata
berupa
atm/Bank
Transportasi
Entitas
Transportasi
merupakan
fasilitas
pendukung
pariwisata
berupa
stasiun
kereta,
travel,
dll
Fasum
Fasos
Entitas
Fasum
Fasos
merupakan
lokasi
fasilitas
sosial
dan
fasilitas
umum
Jalur
Entitas
Jalur
Transportasi
Transportasi
merupakan
fasilitas
pendukung
pariwisata
berupa
stasiun
kereta,
travel,
dll
Objek
Spasial
Point
Polygon
Point
Point
Point
Point
Point
Point
Point
Line
2. Kedua,
anda
perlu
membuat
Desain
Logikal,
yaitu
menerjemahkan
representasi
konseptual
(desain
konseptual)
ke
dalam
struktur
logikal
dari
basis
data,
dimana
terdiri
dari
desain
antar
hubungan.
Model
penyimpanan
basis
data
yang
digunakan,
yaitu
model
relasional,
dimana
basis
data
yang
dibagi
ke
dalam
beberapa
tabel
yang
saling
berhubungan
(relationship).
Tahapan
ini
perlu
dilakukan
untuk
keperluan
transaksi
atau
updating.
36
MODUL
1
BASIS
DATA
SPASIAL
Jadi,
pada
tahapan
ini
anda
akan
mencoba
membuat
Model
Entity
Relationship
(ER-Model),
berupa
derajat
hubungan/relasi,
kelas
keanggotaan,
dan
Diagram
ER.
Model
Entity
Relationship
(ER-Model)
:
1. Hubungan
entitas
Kabupaten
dan
Wisata
:
Derajat
hubungan/relasi
:
Sebuah
kabupaten
di
Jawa
Barat
(1)
memiliki
beberapa
objek
Wisata
(n).
Satu
objek
Wisata
(1)
berada
di
sebuah
kabupaten
wilayah
Jawa
Barat
(m).
Kelas
Keanggotaan
:
Tidak
setiap
kabupaten
di
wilayah
Jawa
Barat
memiliki
objek
Wisata,
tetapi
Objek
Wisata
pasti
terletak
di
sebuah
kabupaten
wilayah
Jawa
Barat.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
-
obligatory.
Diagram
ER
:
m
n
Kabupaten
memiliki
Wisata
2. Hubungan
entitas
Kabupaten
dan
Pusat
Perbelanjaan
:
Derajat
hubungan/relasi
:
Sebuah
kabupaten
di
Jawa
Barat
(1)
memiliki
beberapa
Pusat
Perbelanjaan
(n).
Satu
Pusat
Perbelanjaan
(1)
berada
di
sebuah
kabupaten
wilayah
Jawa
Barat
(1).
Kelas
Keanggotaan
:
Setiap
kabupaten
di
wilayah
Jawa
Barat
belum
tentu
memiliki
Pusat
Perbelanjaan,
dan
sebuah
Pusat
Perbelanjaan
pasti
terletak
di
sebuah
kabupaten
wilayah
Jawa
Barat.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
-
obligatory.
Diagram
ER
:
1
n
Pusat
Kabupaten
memiliki
Perbelanjaan
3. Hubungan
entitas
Kabupaten
dan
Pusat
Kerajinan
:
Derajat
hubungan/relasi
:
Sebuah
kabupaten
di
Jawa
Barat
(1)
memiliki
beberapa
Pusat
Kerajinan
(n).
Satu
Pusat
Kerajinan
(1)
berada
di
sebuah
kabupaten
wilayah
Jawa
Barat
(1).
Kelas
Keanggotaan
:
37
MODUL
1
BASIS
DATA
SPASIAL
Kabupaten
Pusat Kerajinan
memiliki
4. Hubungan
entitas
Kabupaten
dan
Bank_ATM
:
Derajat
hubungan/relasi
:
Sebuah
kabupaten
di
Jawa
Barat
(1)
memiliki
beberapa
Bank/ATM
(n).
Satu
Bank/ATM
(1)
berada
di
sebuah
kabupaten
wilayah
Jawa
Barat
(1).
Kelas
Keanggotaan
:
Setiap
kabupaten
di
wilayah
Jawa
Barat
memiliki
Bank/ATM,
dan
sebuah
Bank/ATM
pasti
terletak
di
sebuah
kabupaten
wilayah
Jawa
Barat.
Hubungan
kedua
entitas
ini
adalah
obligatory
-
obligatory.
Diagram
ER
:
1
n
Kabupaten
Bank_ATM
memiliki
5. Hubungan
entitas
Kabupaten
dan
Fasilitas
Umum
Fasilitas
Sosial
(Fasum
Fasos):
Derajat
hubungan/relasi
:
Sebuah
Kabupaten
(1)
memiliki
banyak
Fasum
Fasos
(n).
Seorang
Fasum
Fasos
(1)
terletak
pada
satu
kabupaten
(1).
Kelas
Keanggotaan
:
Setiap
Kabupaten
pasti
memiliki
Fasum
Fasos,
dan
setiap
Fasum
Fasos
pasti
terletak
pada
satu
Kabupaten.
Hubungan
kedua
entitas
ini
adalah
obligatory
-
obligatory.
Diagram
ER
:
n
m
Kabupaten
Fasum
Fasos
memiliki
6. Hubungan
entitas
Kabupaten
dan
Akomodasi
:
Derajat
hubungan/relasi
:
Sebuah
Kabupaten
(1)
memiliki
beberapa
Akomodasi
(n).
Satu
Akomodasi
(1)
dimiliki
satu
Kabupaten
(1).
Kelas
Keanggotaan
:
Setiap
Kabupaten
pasti
memiliki
Akomodasi,
dan
sebuah
Akomodasi
belum
tentu
terdapat
di
Kabupaten.
Hubungan
kedua
entitas
ini
adalah
obligatory
non
obligatory.
Diagram
ER
:
1
n
38
MODUL
1
BASIS
DATA
SPASIAL
Kabupaten
Akomodasi
memiliki
7. Hubungan
entitas
Wisata
dan
Rumah
Makan
:
Derajat
hubungan/relasi
:
Sebuah
objek
Wisata
(1)
memiliki
beberapa
Rumah
Makan
(n).
Satu
Rumah
Makan
(1)
dimiliki
satu
objek
Wisata
(1).
Kelas
Keanggotaan
:
Setiap
objek
Wisata
belum
tentu
dimiliki
Rumah
Makan,
dan
sebuah
Rumah
Makan
belum
tentu
terdapat
di
objek
Wisata.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
non
obligatory.
Diagram
ER
:
1
n
Rumah_Ma
Wisata
memiliki
kan
8. Hubungan
entitas
Wisata
dan
Transportasi
:
Derajat
hubungan/relasi
:
Sebuah
objek
Wisata
(1)
memiliki
beberapa
Transportasi
(n).
Satu
Transportasi
(1)
dimiliki
satu
objek
Wisata
(1).
Kelas
Keanggotaan
:
Setiap
objek
Wisata
belum
tentu
memiliki
Transportasi,
dan
sebuah
Transportasi
belum
tentu
terdapat
di
objek
Wisata.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
non
obligatory.
Diagram
ER
:
1
n
Wisata
Transportas
memiliki
i
9. Hubungan
entitas
Wisata
dan
Jalur
Transportasi
:
Derajat
hubungan/relasi
:
Sebuah
objek
Wisata
(1)
dapat
diakses
oleh
beberapa
Jalur
Transportasi
(n).
Satu
Jalur
Transportasi
(1)
dapat
mengakses
banyak
objek
Wisata
(n).
Kelas
Keanggotaan
:
Setiap
objek
Wisata
belum
tentu
diakses
oleh
Jalur
Transportasi,
dan
sebuah
Jalur
Transportasi
belum
tentu
mengakses
objek
Wisata.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
non
obligatory.
Diagram
ER
:
n
m
Jalur
Wisata
memiliki
Transportas
i
39
MODUL
1
BASIS
DATA
SPASIAL
10. Hubungan
entitas
Transportasi
Umum
dan
Jalur
Transportasi
:
Derajat
hubungan/relasi
:
Sebuah
Transportasi
Umum
(1)
dapat
melewati
beberapa
Jalur
Transportasi
(n).
Satu
Jalur
Transportasi
(1)
dapat
dilewati
banyak
Transportasi
Umum
(n).
Kelas
Keanggotaan
:
Setiap
Transportasi
Umum
pasti
melewati
Jalur
Transportasi,
dan
sebuah
Jalur
Transportasi
belum
tentu
dilewati
oleh
Transportasi
Umum.
Hubungan
kedua
entitas
ini
adalah
obligatory
non
obligatory.
Diagram
ER
:
n
m
Transportasi
Jalur
melewat
Umum
Transportas
i
i
11. Hubungan
entitas
Wisata
dan
Fasilitas
Umum
Fasilitas
Sosial
(Fasum
Fasos):
Derajat
hubungan/relasi
:
Sebuah
Objek
Wisata
(1)
memiliki
banyak
Fasum
Fasos
(n).
Seorang
Fasum
Fasos
(1)
terletak
pada
satu
objek
wisata
(1).
Kelas
Keanggotaan
:
Setiap
Objek
Wisata
belum
tentu
memiliki
Fasum
Fasos,
dan
setiap
Fasum
Fasos
belum
tentu
terletak
pada
satu
Objek
Wisata.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
non
obligatory.
Diagram
ER
:
n
m
Wisata
Fasum
Fasos
memiliki
3. Ketiga,
yang
juga
merupakan
langkah
terakhir
dalam
perancangan
basis
data,
anda
perlu
membuat
Desain
Fisikal,
yaitu
menampilkan
bagaimana
struktur
logikal
menjadi
implementasi
fisik
dalam
bentuk
tabel
di
DBMS.
Tahapan
ini
memperlihatkan
tabel
skeleton
dengan
atribut
yang
sesuai.
Jadi,
pada
tahapan
ini
Anda
akan
mencoba
membuat
tabel
skeleton
beserta
atribut-nya.
Dimana
tabel-tabel
beserta
atribut
akan
dimasukkan
ke
dalam
DBMS.
(Dalam
pelatihan
ini
digunakan
DBMS
PostgreSQL/PostGIS)
Berdasarkan
tahapan
hubungan
antar
entitas
yang
telah
ditentukan,
maka
dihasilkan
tabel
skeleton
sebagai
berikut
:
a. Kabupaten
(#id_kab,
nm_kab,
luas,
geom)
b. Wisata
(#kd_wisata,
nm_objek,
jenis,
dy_tarik,
fasility,
skala,
kondisi,
geom)
c. Pusat_Belanja
(#id_pusblj,
kategori,
nm_obyk,
#id_kab,
geom)
40
MODUL
1
BASIS
DATA
SPASIAL
d.
e.
f.
g.
h.
i.
j.
41
MODUL
1
BASIS
DATA
SPASIAL
MATERI
2
-
PostgreSQL
2.1 Pengantar
PostgreSQL
2.1.1 Pengenalan
PostgreSQL
PostgreSQL
merupakan
sebuah
Object-Relational
Database
Management
System
(ORDBMS)
berdasarkan
pada
PostgreSQL
Versi
4.2
yang
dikembangkan
di
Universitas
California
pada
Berkeley
Computer
Science
Department.
PostgreSQL
sebagi
pelopor
bagi
banyak
software
DBMS
lain
yang
kemudian
menjadi
komersial.
PostgreSQL
memiliki
lisensi
GPL
(General
Public
License)
dan
oleh
karena
itu
PostgreSQL
dapat
digunakan,
dimodifikasi
dan
didistribusikan
oleh
setiap
orang
tanpa
perlu
membayar
lisensi
(free
of
charge)
baik
untuk
keperluan
pribadi,
pendidikan
maupun
komersil.
PostgreSQL
merupakan
DBMS
yang
open-source
yang
mendukung
bahasa
SQL
secara
luas
dan
menawarkan
beberapa
fitur-fitur
modern
seperti
:
Complex
Queries
Foreign
Keys
Triggers
Views
Transactional
Integrity
Multiversion
Concurrency
Control
Selain
itu,
PostgreSQL
telah
mendukung
teknologi
lama
dengan
menambahkan
fitur-
fiturbaru
pada
:
Data
Types
Functions
Operators
Aggregate
Functions
Index
Methods
Procedural
Languages
Adapun
sejarah
singkat
perkembangan
PostgreSQL
adalah
sebagai
berikut
:
1986
:
Dikembangkan
pertama
kali
oleh
Professor
Michael
Stonebraker,
yang
disponsori
oleh
the
Defense
Advanced
Research
Projects
Agency
(DARPA).
Tahun
ini
merupakan
inisialisasi
konsep
untuk
pengembangan
sistem.
1987
:
Dikembangkan
definisi
dari
model
data,
pembuatan
aturan
main,
konvensi
rasional
dan
arsitektur
dari
media
penyimpanan.
1989
:
Postgre
versi
1
dilaunching
dengan
banyak
kelemahan
pada
konsep
aturan
main.
1990
:
Postgre
versi
2
dilaunching
dengan
perbaikan
pada
aturan
main.
1991
:
Postgre
versi
3
dilaunching
dengan
dukungan
multiple
storage
managers,
peningkatan
pada
pengeksekusi
query
,
dan
ditulis
ulangnya
aturan
main
sistem.
42
MODUL
1
BASIS
DATA
SPASIAL
1993
:
Postgre
versi
4.2
dilaunching
yang
merupakan
cikal
bakal
DBMS
masa
depan
dengan
fitur
yang
lengkap.
1994
:
Postgre
berubah
nama
menjadi
Postgres95.
Andrew
Yu
dan
Jolly
Chen,
menambahkan
sebuah
interpreter
untuk
bahasa
SQL.
1996
:
Postgres95
berubah
nama
menjadi
PostgreSQL.
Dan
versi
ini
telah
mencapai
PostgreSQL
versi
6.0
dengan
kemampuan
yang
lebih
baik
dan
ditandai
dengan
dimulainya
proyek
Postgres
pada
Berkeley
Research.
1997
Sekarang
:
PostgresSQL
telah
berkembang
dan
terus
dikembangkan
sebagai
basis
data
relasional
dengan
lisensi
GPL.
Hingga
saat
ini
April
2013
versi
terakhir
dari
PostgreSQL
adalah
9.2.4.
PostgreSQL
atau
sering
disebut
Postgres
merupakan
salah
satu
dari
sejumlah
basis
data
besar
yang
menawarkan
skalabilitas,
keluwesan,
dan
kinerja
yang
tinggi.
Penggunaannya
begitu
meluas
di
berbagai
platform
dan
didukung
oleh
banyak
bahasa
pemrograman.
Bagi
masyarakat
TI
(teknologi
informasi)
di
Indonesia,
Postgres
sudah
digunakan
untuk
berbagai
aplikasi
seperti
web,
billing
system,
dan
sistem
informasi
besar
lainnya.
SQL
di
Postgres
tidaklah
seperti
yang
kita
temui
pada
RDBMS
umumnya.
Perbedaan
penting
antara
Postgres
dengan
sistem
relasional
standar
adalah
arsitektur
Postgres
yang
memungkinkan
user
untuk
mendefinisikan
sendiri
SQL-nya,
terutama
pada
pembuatan
function
atau
biasa
disebut
sebagai
stored
procedure.
Hal
ini
dimungkinkan
karena
informasi
yang
disimpan
oleh
Postgres
bukan
hanya
tabel
dan
kolom,
melainkan
tipe,
fungsi,
metode
akses,
dan
banyak
lagi
yang
terkait
dengan
tabel
dan
kolom
tersebut.
Semuanya
terhimpun
dalam
bentuk
class
yang
bisa
diubah
user.
Arsitektur
yang
menggunakan
class
ini
lazim
disebut
sebagai
object
oriented.
Karena
Postgres
bekerja
dengan
class1,
berarti
Postgres
lebih
mudah
dikembangkan
di
tingkat
user,
dan
Anda
bisa
mendefinisikan
sebuah
tabel
sebagai
turunan
dari
tabel
lain.
Sebagai
perbandingan
bahwa
sistem
basis
data
konvensional
hanya
dapat
diperluas
dengan
mengubah
source
codenya,
atau
menggunakan
modul
tambahan
yang
ditulis
khusus
oleh
vendor,
maka
dengan
Postgres
memungkinkan
user
untuk
membuat
sendiri
object
file
atau
shared
library
yang
dapat
diterapkan
untuk
mendefinisikan
tipe
data,
fungsi,
bahkan
bahasa
yang
baru.
Dengan
demikian
Postgres
memiliki
dua
kekuatan
besar:
source
code
dan
arsitektur
yang
luwes,
tentunya
di
samping
feature
penting
lainnya
seperti
dokumentasi
yang
lengkap,
dsb.
Disamping
itu
Postgres
juga
didukung
oleh
banyak
antarmuka
ke
berbagai
bahasa
pemrograman
seperti
C++,
Java,
Perl,
PHP,
Python,
dan
Tcl.
ODBC
dan
JDBC
juga
tersedia
yang
membuat
Postgres
lebih
terbuka
dan
dapat
diterapkan
secara
meluas.
Arsitektur
Pada
PostgreSQL
PostgreSQL
merupakan
RDBMS
yang
berbasis
client/server.
Setiap
sesi
pada
PostgreSQL
terdiri
dari
beberapa
proses,
yaitu
:
43
MODUL
1
BASIS
DATA
SPASIAL
Proses
pada
server.
Adapun
proses
ini
meliputi
mengatur
file
basis
data,
menerima
koneksi
dari
client
ke
basis
data,
serta
melakukan
kegiatan
yang
diminta
oleh
client.
Program
pada
sisi
server
ini
disebut
postgres.
Aplikasi
user/client
yang
ingin
melakukan
operasi-operasi
basis
data.
Aplikasi
client
terdiri
dari
beragam
aplikasi,
diantaranya:
aplikasi
yang
berisi
text,
aplikasi
grafik,
webserver
yang
mengakses
basis
data
untuk
menampilkan
halaman
web,
atau
perangkat
khusus
untuk
basis
data.
Beberapa
alplikasi
client
didukung
oleh
distribusi
PostgreSQL,
tetapi
sebagian
besar
dikembangkan
oleh
pengguna
sendiri.
Karena
berbasis
client/server,
maka
klien
dan
server
terdapat
pada
host
yang
berbeda
pada
saat
komunikasi
jaringan
TCP/IP.
Server
PostgreSQL
dapat
menjalankan
beberapa
koneksi
klien
sekaligus
pada
waktu
yang
bersamaan.
Pada
saat
hal
tersebut
terjadi,
maka
PostgreSQL
menjalankan
proses
baru
pada
setiap
koneksi
yang
diminta
oleh
klien.
Sehingga
klien
dan
proses
server
yang
baru
jalan
akan
berkomunikasi
tanpa
intervensi
proses
postgres
yang
sebenarnya.
Kelebihan
PostgreSQL
Adapun
beberapa
kelebihan
dalam
menggunakan
PostgreSQL
adalah
sebagai
berikut
:
1) PostgreSQL
memiliki
arsitektur
multiproses
(forking)
yang
berarti
memiliki
stabilitas
yang
lebih
tinggi,
sebab
satu
proses
anak
yang
mati
tidak
akan
menyebabkan
seluruh
daemon
matimeskipun
pada
kenyataannya,
dulu
ini
sering
terjadi.
2) Dalam
kondisi
load
tinggi
(jumlah
koneksi
simultan
besar),
kecepatan
PostgreSQL
sering
mengalahkan
MySQL
untuk
query
dengan
klausa
JOIN
yang
kompleks,
hal
ini
dikarenakan
PostgreSQL
mendukung
locking
di
level
yang
lebih
rendah,
yaitu
row.
3) PostgreSQL
memiliki
fitur
OO
seperti
pewarisan
tabel
dan
tipe
data,
atau
tipe
data
array
yang
kadang
praktis
untuk
menyimpan
banyak
item
data
di
dalam
satu
record.
Dengan
adanya
kemampuan
OO
ini
maka
di
PostgreSQL,
kita
dapat
mendefinisikan
sebuah
tabel
yang
mewarisi
definisi
tabel
lain.
4) PostgreSQL
menyediakan
hampir
seluruh
fitur-fitur
basis
data
seperti
yang
terdapat
dalam
produk
basis
data
komersial
pada
umumnya.
5) PostgreSQL
pun
memiliki
tipe
data
geometri
(seperti
titik,
garis,
lingkaran,
poligon)
yang
mungkin
berguna
bagi
aplikasi
ilmiah
tertentu.
6) PostgreSQL
memberikan
kita
kemampuan
mendefinisikan
sebuah
field
sebagai
array.
7) PostgreSQL
memiliki
hampir
semua
fasilitas
standar
yang
biasanya
diinginkan:
view
(tabel
virtual),
trigger,
subselect,
stored
procedure
(dalam
beberapa
bahasa),
dan
foreign
key
constraint.
8) PostgreSQL
juga
memiliki
apa
yang
disebut
rule,
yaitu
tindakan
custom
yang
bisa
kita
definisikan
dieksekusi
saat
sebuah
tabel
di-INSERT,
UPDATE,
atau
DELETE.
44
MODUL
1
BASIS
DATA
SPASIAL
2. Pilih
direktori
tempat
penginstalan,
biarkan
saja
defaultnya
atau
ganti
sesuai
keinginan.
Kemudian
klik
tombol
Next.
45
MODUL
1
BASIS
DATA
SPASIAL
3. Pilih
direktori
tempat
penyimpanan
data,
disarankan
untuk
menggunakan
default
saja.
Kemudian
klik
tombol
Next.
4. Kemudian
isikan
password
yang
akan
digunakan
untuk
koneksi
ke
basis
data
PostgreSQL
setelah
proses
instalasi
selesai.
Disarankan
untuk
menggunakan
password
yang
mudah
untuk
diingat.
Misalnya
1234.
46
MODUL
1
BASIS
DATA
SPASIAL
5. Pada
jendela
setup
port
biarkan
saja
menggunakan
default
yaitu
5432.
Kemudian
klik
tombol
Next.
6. Dijendela
setup
advance
option
biarkan
saja
secara
default
seperti
yang
terlihat
pada
gambar.
Kemudian
klik
tombol
Next.
7. Pada
jendela
setup
ready
to
install
klik
tombol
Next.
Kemudian
akan
muncul
jendela
yang
menunjukkan
proses
instalasi
sedang
berlangsung,
tunggu
beberapa
saat
hingga
proses
instalasi
selesai.
47
MODUL
1
BASIS
DATA
SPASIAL
8. Proses
instalasi
selesai.
Uncheck
kotak
Launch
Stack
Builder,
sebab
jika
diberi
tanda
check
maka
proses
instalasi
akan
dilanjutkan
dengan
mengunduh
beberapa
program
pendukung
lainnya.
Klik
tombol
Finish.
9. Untuk
menjalankan
PostgreSQL,
pada
menu
Start
klik
all
program,
lalu
pilih
PostgreSQL
9.x.x.
Lalu
klik
pgAdmin
III.
Kemudian
akan
muncul
jendela
kerja
PostgreSQL.
10. Untuk
memulai
klik
database
pada
bagian
kiri,
kemudian
klik
kanan
pada
database
tersebut
pilih
conect,
kemudian
masukkan
password
yang
pada
bagian
sebelumnya
telah
dibuat.
Setelah
itu
PostgreSQL
siap
untuk
digunakan.
2.1.3 Pengenalan
PgAdmin
pada
PostgreSQL
PgAdmin
merupakan
merupakan
tool
yang
disediakan
PostgreSQL
dan
terinstal
otomatis
ketika
kita
meng-instal
PostgreSQL.
PgAdmin
ini
mempermudah
user
dalam
manajemen
basis
data
dengan
tampilan
visualnya.
Sehingga
tanpa
harus
menguasai
bahasa
SQL,
user
dapat
membuat
basis
data
dan
tabel-tabel
juga
memanipulasinya
dengan
hanya
menggunakan
menu
dan
tools
yang
tersedia
di
PgAdmin.
Berikut
merupakan
tampilan
awal
PgAdmin
yang
dapat
kita
buka
melalui
Start
>
Program
Files
>
PostgreSQL
9.1
>
pgAdmin
III.
48
MODUL
1
BASIS
DATA
SPASIAL
Berikut
penjelasan
untuk
masing-masing
fitur
objek.
Catalogs
merupakan
tempat
dimana
sebuah
sistem
manajemen
basis
data
relasional
menyimpan
metadata
skema,
seperti
informasi
tentang
tabel
dan
informasi
basis
data
internal.
Extensions
merupakan
ekstensi
yang
mendukung
kompabilitas
penuh
terhadap
standar
bahasa
SQL
maupun
bahasa
pemrograman
C
untuk
menciptakan
beberapa
fungsi
atau
prosedur
untuk
beberapa
kebutuhan.
Schemas
merupakan
tempat
menyimpan
tabel,
dan
objek
lainnya
seperti
tipe
data,
function,
dan
operator.Dengan
adanya
schemas
ini,
banyak
pengguna
dapat
mengakses
basis
data
yang
sama
tanpa
mengganggu
satu
sama
lain.
Selain
itu
juga
digunakan
untuk
mengorganisir
objek
basis
data
ke
dalam
49
MODUL
1
BASIS
DATA
SPASIAL
logical
groups
sehingga
lebih
teratur.
Di
dalam
schemas
ini
terdapat
Tables
sebagai
tempat
menyimpan
tabel
relasi.
Slony
Replication
merupakan
master
untuk
sistem
replikasi
beberapa
perintah
dengan
kemampuan
cascading
dan
failover.
Dengan
adanya
Slony
Replication
ini,
user
dapat
melakukan
pengamanan
data,
kemampuan
standby
/
failover
basis
data,
mengoptimalkan
proses
transaksi
online,
permintaan
BI,
melakukan
backup
dan
restore
basis
data,
dan
migrasi
sistem.
Membuat
basis
data
baru
di
PgAdmin
Kita
dapat
membuat
basis
data
pada
server
yang
telah
tersedia
di
PgAdmin,
yaitu
Server
PostgreSQL
9.1.
Untuk
membuat
basis
data
baru
dengan
nama
Latihan,
lakukan
langkah
berikut.
1. Klik
2
kali
pada
PostgreSQL
9.1
(localhost
:
5432).
2. Kemudian
klik
kanan
pada
Databases
lalu
pilih
New
Database.
Dan
kemudian
akan
muncul
window
New
Database,
dimana
disini
Anda
akan
melakukan
pengaturan
awal
pada
basis
data
yang
akan
dibuat.
3. Selanjutnya
lakukan
pengaturan
pada
tab
Properties
dengan
ketentuan
pada
Name
isi
dengan
Latihan,
dan
pada
Owner
tekan
drop-down
arrow
dan
pilih
postgres
sebagai
user
dari
basis
data.
4. Kemudian
pilih
tab
Definition
dan
lakukan
pengaturan
dengan
ketentuan
:
- Encoding
diisi
dengan
UTF8.
Maksudnya
adalah
kodifikasi
penyimpanan
data
dalam
basis
data
Pelatihan
akan
menggunakan
UTF-8
yang
merupakan
sistem
penyimpanan
yang
paling
umum.
- Template
diisi
dengan
postgres.
Maksudnya
adalah
template
basis
data
yang
digunakan
yaitu
template
postgres
dimana
dengan
template
ini
kita
hanya
bisa
menyimpan
tabel
non
spasial.
(Untuk
spasial
gunakan
template_postgis_20,
namun
harus
menginstal
PostGIS
terlebih
dahulu)
- Tablespace
diisi
dengan
pg_default.
Tablespace
ini
merupakan
sebuah
tempat
penyimpanan
tabel
di
dalam
basis
data
yang
memiliki
proteksi
karena
adanya
konfigurasi
priviledge
/
hak
akses
dan
juga
memungkinkan
admin
untuk
menentukan
lokasi
dimana
data
yang
mewakili
objek
basis
data
dapat
disimpan.
Dengan
mengisi
bagian
Tablespace
ini
dengan
pg_default,
maka
tabel
akan
disimpan
di
lokasi
default
yang
disediakan
PostgreSQL.
- Collation
dikosongkan.
Collation
ini
merupakan
seperangkat
aturan
untuk
menyimpan,
menyortir,
dan
membandingkan
data
teks.
Biasanya
collation
ini
berpengaruh
pada
saat
menggunakan
sintaks
ORDER
BY
dan
pada
kasus
ini
kita
gunakan
yang
default,
jadi
dikosongkan.
- Character
type
juga
dikosongkan.
Character
type
ini
merupakan
pilihan
pengaturan
karakter
untukmenyimpan
nilai
atribut.
Misalkan
penulisan
huruf
e
dapat
berbeda-beda
tergantung
dengan
bahasa
yang
digunakan,
seperti
bahasa
latin.
Disini
kita
isi
dengan
default
jadi
dikosongkan.
50
MODUL
1
BASIS
DATA
SPASIAL
5. Klik
OK.
Membuat
tabel
baru
pada
basis
data
Latihan
Setelah
membuat
basis
data
baru,
kita
dapat
memasukkan
tabel
ke
dalam
basis
data
yang
telah
dibuat.
Caranya
dengan
masuk
ke
fitur
objek
Schemas
kemudian
pilih
privileges
public
dan
pada
Tables
kita
dapat
menyimpan
tabel.
Untuk
membuat
tabel
dengan
nama
Peserta,
lakukan
langkah-langkah
berikut.
1. Lakukan
klik
kanan
pada
Tables,
kemudian
pilih
New
Table...
Dan
kemudian
akan
muncul
window
New
Table,
dimana
disini
Anda
akan
melakukan
pengaturan
awal
pada
basis
data
yang
akan
dibuat.
2. Selanjutnya
lakukan
pengaturan
pada
tab
Properties
dengan
ketentuan
pada
Name
isi
dengan
Peserta,
dan
pada
Owner
tekan
drop-down
arrow
dan
pilih
postgres
sebagai
user
dari
tabel.
Lalu
pada
tab
Definition
untuk
Tablespace
pilih
pg_default.
3. Lalu
pada
tab
Columns,
kita
dapat
memasukkan
beberapa
kolom
baru
ke
dalam
tabel
Peserta.
Caranya
dengan
meng-klik
tombol
Add,
kemudian
ikuti
langkah
berikut.
- Pada
tab
Properties,
isi
Namedengan
id_peserta.
Pada
Data
type
pilih
character
varying
dan
Length
untuk
panjang
karakter
isi
dengan
10.
- Kemudian
pada
tab
Definition,
lakukan
checklist
pada
Not
NULL
yang
artinya
atribut
id_peserta
tidak
boleh
kosong.
- Klik
OK.
Buat
juga
kolom
baru
dengan
nama
Nama_Peserta
(Text)
dan
Nilai
(Integer).
4. Setelah
memasukkan
semua
kolom
/
field
baru,
selanjutnya
ke
tab
Constraints.
Disini
kita
mengatur
field
yang
mana
yang
akan
dijadikan
primary
key
dan
key
lainnya.
- Pilih
drop-down
arrow
kemudian
pilih
Primary
Key,
lalu
klik
tombol
Add.
- Kemudian
pada
window
New
Primary
Key,
kita
akan
menentukan
kolom
yang
mana
yang
akan
dijadikan
primary
key.
Pilih
tab
Columns,
kemudian
pada
Column
pilih
kolom
id_peserta
lalu
klik
tombol
Add.
Klik
OK.
5. Klik
OK.
Maka
tabel
Peserta
telah
dibuat
dan
disimpan
dalam
basis
data
Latihan.
Jika
Anda
ingin
mengeceknya,
silahkan
lakukan
expand
atau
klik
tanda
+
pada
Tables,
maka
Anda
dapat
melihat
tabel
yang
baru
Anda
buat.
Untuk
melihat
bentuk
tabel,
klik
pada
tabel
Peserta,
kemudian
pilih
Selanjutnya
lakukan
pengaturan
pada
tab
Properties
dengan
ketentuan
pada
Name
isi
dengan
Latihan,
dan
pada
Owner
tekan
drop-down
arrow
dan
pilih
postgres
sebagai
user
dari
View
Data
>
View
All
Rows.
51
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
Selanjutnya
Anda
perlu
memindahkan
directory
default
di
command
prompt
ke
direktori
dimana
psql
berada.
Psql
merupakan
tool
yang
disediakan
PostgreSQL
untuk
mendefinisikan
dan
memanipulasi
data
dengan
menggunakan
bahasa
SQL.
Caranya
adalah
dengan
mengetikkan
cd
<direktori
dimana
terdapat
tool
psql>,
yang
umumnya
berada
diC:\Program
Files\PostgreSQL\9.1\bin.
Jadi,
Anda
ketik
di
command
prompt
dengan
perintah
cd
C:\Program
Files\PostgreSQL\9.1\bin.
Lalu
ketika
psql
h
localhost
U
postgres
untuk
masuk
ke
dalam
user
postgres.
Untuk
lebih
jelasnya
lihat
gambar
di
bawah
ini.
Perintah
yang
berhubungan
dengan
SQL
dan
PSQLCommand
Berikut
ini
merupakan
daftar
sintaks
yang
tersedia
di
PostgreSQL
9.1
jika
kita
menggunakan
command
prompt.
Jika
kita
perlu
menggunakan
salah
satu
sintaks
namun
kita
lupa
bagaimana
aturan
penulisan
sintaks-nya,
maka
kita
dapat
menggunakan
sintaks
\h
dan
kemudian
PostgreSQL
melalui
command
prompt
akan
menampilkan
daftar
sintaks.
54
MODUL
1
BASIS
DATA
SPASIAL
Berikut
ini
merupakan
daftar
perintah
yang
berhubungan
dengan
penggunaan
PSQL
(Procedural
SQL)
pada
PostgreSQL
9.1.
Sintaks-sintaks
yang
ditampilkan
bertujuan
untuk
memudahkan
database
administrator
dalam
mengelola
basis
data
dengan
PostgreSQL.
Caranya
dengan
mengetikkan
\?.
MODUL
1
BASIS
DATA
SPASIAL
Schema|Name|Description
------------+------------------+-----------------------------------------
pg_catalog
|
"any"|
pg_catalog
|
"char"|
single
character
pg_catalog
|
"trigger"|
pg_catalog
|
"unknown"|
pg_catalog
|
abstime|
absolute,
limited-range
date
and
time
pg_catalog
|
aclitem|
access
control
list
pg_catalog
|
anyarray|
pg_catalog
|
anyelement|
pg_catalog
|
bigint|
~18
digit
integer,
8-byte
storage
pg_catalog
|
bit|
fixed-length
bit
string
pg_catalog
|
bit
varying|
variable-length
bit
string
pg_catalog
|
boolean|
boolean,
'true'/'false'
pg_catalog
|
box|
geometric
box
'(lower
left,upper
right)'
pg_catalog
|
bytea|
variable-length
string,
binary
values
pg_catalog
|
character|
char(length),
blank-padded
string,fixed
storage
length
pg_catalog|
character
varying|
varchar(length),
non-blank-paddedstring,
variable
storage
length
pg_catalog
|
cid|
command
identifier
type,
sequence
in
transaction
id
pg_catalog
|
cidr|
networkIP
address/netmask,networkaddress
pg_catalog
|
circle|
geometric
circle
'(center,radius)'
pg_catalog
|
cstring|
pg_catalog
|
date|
ANSI
SQL
date
pg_catalog
|
double
precision
|
double-precision
floating
pointnumber,
8-byte
storage
pg_catalog
|
inet|
IP
address/netmask,
host
address,netmask
optional
pg_catalog
|
int2vector|
array
of
int2,
used
in
system
tables
pg_catalog
|
integer|
-2
billion
to
2
billion
integer,
4-byte
pg_catalog
|
interval|
@
<number><units>,
time
interval
pg_catalog
|
language_handler
|
pg_catalog
|
line|
geometric
line
(not
implemented)'
pg_catalog
|
lseg|
geometric
line
segment
'(pt1,pt2)'
pg_catalog
|
macaddr|
XX:XX:XX:XX:XX:XX,
MAC
address
pg_catalog
|
money|
monetary
amounts,
$d,ddd.cc
pg_catalog
|
name|
63-character
type
for
storing
system
id
pg_catalog
|
numeric|
numeric(precision,
decimal),
arbitrary
pg_catalog
|
oid|
object
identifier(oid),
maximum
4billion
pg_catalog
|
oidvector|
array
of
oids,
used
in
system
tables
pg_catalog
|
path|
geometric
path
'(pt1,...)'
pg_catalog
|
point|
geometric
point
'(x,
y)'
56
MODUL
1
BASIS
DATA
SPASIAL
57
MODUL
1
BASIS
DATA
SPASIAL
Sekarang
kita
sudah
bisa
membuat
basis
data
baru
di
PostgreSQL.
Caranya
dengan
mengetikkan
sintaks
createdb
h
localhost
U
postgres
<nm_basis
data>.Jadi
jika
anda
ingin
membuat
basis
data
dengan
nama
pelatihan,
maka
sintaks
yang
harus
anda
ketikkan
yaitu
createdb
h
localhost
U
postgres
pelatihan.
Maka
basis
data
pelatihan
pun
telah
dibuat.
Anda
dapat
mengeceknya
di
PgAdmin.
Selanjutnya
Anda
perlu
masuk
ke
dalam
basis
data
pelatihan
jika
ingin
membuat
tabel
ataupun
manipulasi
data,
dengan
cara
mengetikkan
:
psql
h
localhost
U
postgres
pelatihan
Create
Table
Tabel
merupakan
wadah
dimana
data
tersimpan.
Setiap
tabel
memiliki
field
atau
kolom
dan
record
atau
baris.
Terdapat
beberapa
ketentuan
dalam
membuat
tabel,
yaitu
:
1. Harus
memiliki
field
yang
dapat
dijadikan
identitas
bagi
field
lainnya.
Jadi
isi
field
yang
menjadi
identitas
harus
unik
atau
tidak
ada
yang
sama,
field
identitas
ini
disebut
dengan
primary
key.
2. Primary
key
tidak
boleh
bernilai
null
(kosong),
maka
Anda
harus
mendeklarasikan
field
yang
menjadi
primary
key
sebagai
not
null.
Jika
Anda
tidak
mendeklarasikan
sebagai
not
null,
maka
PostgreSQL
secara
default
akan
menganggapnya
nullable
(boleh
kosong).
Sintaks
untuk
membuat
tabel
yaitu
:
create
table<nama_tabel>(<nama
field1><tipe
data1><modifikasi1><constraint1>,
<nama
field2><tipe
data2><modifikasi2><constraint2>,
........dst);
Disini
Anda
akan
mencoba
membuat
tabel
di
dalam
basis
data
pelatihan
dengan
ketentuan
sebagai
berikut.
Nama
Tabel
:
Peserta
Field/kolom
yang
harus
dibuat
:
Nama
Field
Tipe
Data
Contraint
Modifikasi
id
integer
Primary
key
Not
null
nama
Varchar(50)
-
-
Maka
untuk
membuat
tabel
dengan
ketentuan
di
atas,
yaitu
dengan
mengetikkan
sintaks
berikut.
Create
table
peserta(id
integer
not
null
primary
key,
nama
varchar(50));
Selanjutnya
untuk
melihat
tabel
yang
telah
dibuat
,
ketik
\dt
Jika
anda
ingin
melihat
definisi
dari
tabel
peserta,
ketik
\d
peserta
Untuk
lebih
jelasnya,
lihat
gambar
di
bawah
ini.
58
MODUL
1
BASIS
DATA
SPASIAL
Buat
juga
tabel
dengan
nama
daftar_pelatihan,
yang
berisi
kolom
sebagai
berikut.
Nama
Field
Kd_pelatihan
Nm_pelatihan
Id_peserta
Tipe
Data
Varchar(5)
Varchar(50)
integer
Contraint
Primary
key
-
Foreign
key
Modifikasi
Not
null
Not
null
Not
null
Jadi,
ketikkan
sintaks
berikut
:
create
table
daftar_pelatihan(kd_pelatihan
varchar(5)
not
null
primary
key,
nm_pelatihan
varchar(50)
not
null,
id_peserta
integer
not
null,
constraint
daftar_pelatihan
foreign
key
(id_peserta)
references
peserta
(id));
Sekarang
coba
buat
tabel
jadwal
yang
berisi
kolom
sebagai
berikut.
Nama
Field
Tipe
Data
Contraint
Modifikasi
Kd_pelatihan
Varchar(5)
Primary
key
Not
null
jadwal
Varchar(50)
-
-
setelah
membuat
ketiga
tabel
di
atas,
selanjutnya
coba
anda
isi
tabel-tabel
tersebut
melalui
PgAdmin.
Create
Index
Indeks
digunakan
untuk
mempercepat
akses
pencarian
nilai
atau
data
dalam
basis
data.
Dalam
suatu
kasus
ketika
mengakses
sebuah
tabel,
biasanya
DBMS
akan
membaca
seluruh
tabel
baris
perbaris
hingga
selesai.
Ketika
baris
sangat
banyak
dan
hasil
query
hanya
sedikit,
maka
hal
ini
sangat
tidak
efisien.
Dengan
adanya
indeks
ini,
maka
kita
tinggal
membuka
indeks,
kita
dapat
segera
menemuka
nilai
atau
data
yang
kita
butuhkan.
Cara
penulisan
sintaks
untuk
membuat
index
adalah
sebagai
berikut.
create
index
<nama_indeks>
on
<nama_tabel>
(<nama_atribut>);
Jika
kita
ingin
mencari
nama-nama
peserta
secara
cepat,
kita
dapat
membuat
sebuah
indeks
(index)
pada
kolom
nama
pada
tabel
peserta.
Maka
sintaks
yang
harus
dimasukkan,
yaitu
:
create
index
indeks_peserta
on
peserta
(nama);
Create
View
View
dapat
dianggap
sebagai
tabel
virtual/maya,
dengan
kata
lain
tabel
view
tidak
benar-benar
ada
secara
fisik
di
basis
data,
tetapi
dapat
dilihat
oleh
user
sebagai
59
MODUL
1
BASIS
DATA
SPASIAL
tabel
pada
umumnya.
Cara
penulisan
sintaks
untuk
membuat
view
adalah
sebagai
berikut.
create
view
<nama_view>
as
select
<nama_atribut>
from
<nama_tabel>;
View
ini
biasanya
berupa
tabel
yang
terdiri
dari
beberapa
atribut,
dimana
atribut-
atribut
pembentuknya
berasal
dari
beberapa
tabel
yang
memiliki
relasi.
Sebagai
contoh
Anda
akan
membuat
tabel
view
dimana
terdapat
atribut
nama
dari
tabel
peserta
dan
atribut
nm_pelatihan
pada
tabel
daftar_pelatihan.
Jadi
sintaks
yang
harus
anda
ketik,
yaitu
:
create
view
view_pelatihan
as
select
nama,
nm_pelatihan
from
peserta,
daftar_pelatihan;
Kemudian
untuk
melihat
struktur
tabel
view
view_pelatihan,
ketik
\d
view_pelatihan.
Dan
untuk
melihat
isi
tabel
view_pelatihan,
ketik
sintaks
berikut
:
select*
from
view_pelatihan
where
nama=<nama_anda>;
Untuk
lebih
jelasnya,
lihat
gambar
di
bawah
ini.
Drop
Drop
Table
Sintaks
ini
digunakan
untuk
menghapus
tabel
yang
telah
kita
buat
dalam
basis
data.
Aturan
penulisan
sintaks
ini
yaitu
:
drop
table
<nama_tabel>;
Sekarang
coba
Anda
hapus
tabel
jadwal,
maka
sintaks
yang
harus
Anda
ketik,
yaitu
:
drop
table
jadwal;
Drop
Index
Sintaks
ini
digunakan
untuk
menghapus
indeks
tabel
yang
telah
kita
buat
dalam
basis
data.
Aturan
penulisan
sintaks
ini
yaitu
:
drop
index
<nama_indeks>;
Sekarang
coba
Anda
hapus
indeks
tabel
indeks_peserta,
maka
sintaks
yang
harus
Anda
ketik,
yaitu
:
drop
index
indeks_peserta;
60
MODUL
1
BASIS
DATA
SPASIAL
Drop
View
Sintaks
ini
digunakan
untuk
menghapus
tabel
view
yang
telah
kita
buat
dalam
basis
data.
Aturan
penulisan
sintaks
ini
yaitu
:
drop
view
<nama_view>;
Sekarang
coba
Anda
hapus
tabel
view
view_pelatihan,
maka
sintaks
yang
harus
Anda
ketik,
yaitu
:
drop
view
view_pelatihan;
Alter
Alter
merupakan
sintaks
yang
digunakan
untuk
merubah
struktur
tabel,
baik
itu
menambah
field/kolom
ataupun
menghapus
field/kolom.
Aturan
penulisan
sintaks
untuk
menambah
kolom
pada
tabel,
yaitu
:
alter
table
<nama_tabel>
add
<nama_field><tipe_data>;
Jadi,
jika
Anda
ingin
menambahkan
field
tgl_lahir
dengan
tipe
data
DATE
ke
dalam
tabel
peserta,
maka
sintaks
yang
harus
Anda
masukkan,
yaitu
:
alter
table
peserta
add
tgl_lahir
date;
Sedangkan
aturan
penulisan
sintaks
untuk
menghapus
kolom
pada
tabel,
yaitu
:
alter
table
<nama_tabel>
drop
<nama_field>;
Jadi,
jika
Anda
ingin
menghapus
field
tgl_lahir,
maka
sintaks
yang
harus
Anda
masukkan
:
alter
table
peserta
drop
tgl_lahir;
sekarang
coba
Anda
tambahkan
field
nilai
dengan
tipe
data
integer
pada
tabel
peserta
!
2.2.3 Implementasi
DML
pada
PostgreSQL
Select
Simple
Select
Simple
select
merupakan
sintaks
yang
digunakan
secara
umum
untuk
memilih
data.
Berikut
beberapa
contoh
penggunaan
sintaks
select
yang
umum.
1. Memilih
data
dari
tabel
daftar_pelatihan,
dimana
yang
akan
ditampilkan
yaitu
kode
pelatihan
dan
pelatihan
apa
saja
yang
diikuti
oleh
peserta
dengan
id=1.
Select*
from
daftar_pelatihan
where
id_peserta=1;
61
MODUL
1
BASIS
DATA
SPASIAL
2. Memilih
data
dari
tabel
peserta,
dimana
yang
akan
ditampilkan
yaitu
nama
peserta
dengan
id
=
2.
Select
nama
from
peserta
where
id=2;
Penggunaan
sintaks
kondisi
WHERE
juga
dapat
dihubungkan
secara
logis
dengan
menggunakan
kata
kunci
OR,
AND,
dan
NOT
seperti
contoh
3.
3. Memilih
data
tabel
daftar_pelatihan,
dimana
yang
akan
ditampilkan
yaitu
nm_pelatihan
yang
tidak
diikuti
oleh
peserta
dengan
id_peserta=2.
Berarti
dalam
kasus
ini
digunakan
kata
kunci
NOT.
Select
nm_pelatihan
from
daftar_pelatihan
where
not
id_peserta=2;
Joins
Penggunaan
joins
pada
sintaks
select
dimaksudkan
untuk
memilih
data
atribut
dari
dua
atau
lebih
tabel
yang
kemudian
ditampilkan
dalam
sebuah
tabel
view.
Dengan
catatan
tabel-tabel
yang
digunakan
harus
memiliki
relasi
yang
jelas.
Untuk
lebih
jelasnya,
lihat
contoh
di
bawah
ini.
1. Memilih
data
dari
tabel
peserta
dan
daftar_pelatihan,
dimana
yang
akan
ditampilkan
yaitu
atribut
id
dan
nama
dari
tabel
peserta
dan
nm_pelatihan
dari
tabel
daftar_pelatihan
untuk
peserta
dengan
id=2.
Select
id,
nama,
nm_pelatihan
from
peserta,
daftar_pelatihan
where
id=id_peserta
and
id=2;
62
MODUL
1
BASIS
DATA
SPASIAL
2.
Memilih
data
dari
tabel
peserta
dan
daftar_pelatihan,
dimana
yang
akan
ditampilkan
yaitu
atribut
id
dan
nama
dari
tabel
peserta
dan
kd_pelatihan
dan
nm_pelatihan
dari
tabel
daftar_pelatihan
untuk
peserta
dengan
id=1
atau
id=2.
Select
id,
nama,
kd_pelatihan,
nm_pelatihan
from
peserta,
daftar_pelatihan
where
id=id_peserta
and
(id=1
or
id=2);
Aggregate
Operators
SQL
menyediakan
aggregate
operators
(seperti
AVG,
COUNT,
SUM,
MIN,
MAX)
yang
menggunakan
nama
atribut
sebagai
sebuah
argumen.
Nilai
aggregate
operator
dihitung
dari
keseluruhan
nilai
dari
atribut
yang
ditentukan
dari
seluruh
tabel.
Jika
kelompok
yang
dispesifikasikan
dalam
query
perhitungan
dilakukan
hanya
pada
seluruh
nilai
pada
kelompok
tertentu
lihat
contoh
aggregation
by
groups.
Contoh
:
Menghitung
nilai
rata-rata
dari
nilai
para
peserta,
dilihat
dari
atribut
nilai
di
tabel
peserta.
Select
avg(nilai)
as
avg_nilai
from
peserta;
Aggregation
by
Groups
SQL
memungkinkan
pembagian
record
dari
sebuah
tabel
ke
dalam
kelompok-
kelompok
yang
disebut
dengan
aggregation
by
groups.
Dengan
cara
ini
kita
dapat
melakukan
perhitungan
berdasarkan
pengelompokkan
atribut.
63
MODUL
1
BASIS
DATA
SPASIAL
Union,
Intersect,
Except
Operasi
ini
menghitung
union,
intersect,
dan
menetapkan
perbedaan
teoritis
record
diturunkan
dari
dua
subqueri.
Berikut
merupakan
contoh
query
untuk
UNION
:
Select
nama,
nilai
from
peserta
where
id=1
UNION
select
nama,
nilai
from
peserta
where
id=2;
Perintah
di
atas
memiliki
arti
bahwa
kita
ingin
menampilkan
nilai
atribut
nama
dan
nilai
dari
tabel
peserta
untuk
id=1
dan
digabung
dengan
nilai
atribut
nama
dan
nilai
dari
tabel
peserta
untuk
id=2.
Selanjutnya,
berikut
contoh
query
untuk
INTERSECT
:
Select
id,
nama,
nilai
from
peserta
where
nilai
>
75
INTERSECT
select
id,
nama,
nilai
from
peserta
where
nilai
>
85;
64
MODUL
1
BASIS
DATA
SPASIAL
Perintah
di
atas
memiliki
arti
bahwa
kita
ingin
menampilkan
nilai
atribut
id,
namadan
nilai
dari
tabel
peserta
untuk
nilai
lebih
besar
dari
75
dan
di-intersect
dengan
yang
nilai
lebih
besar
dari
85.
Dan
terakhir,
berikut
contoh
query
untuk
EXCEPT
:
Select
id,
nama,
nilai
from
peserta
where
nilai
>
75
EXCEPT
select
id,
nama,
nilai
from
peserta
where
nilai
>
85;
Perintah
di
atas
memiliki
arti
bahwa
kita
ingin
menampilkan
nilai
atribut
id,
namadan
nilai
dari
tabel
peserta
untuk
nilai
lebih
besar
dari
75,
KECUALI
yang
nilai-nyalebih
besar
dari
85.
Insert
into
Perintah
insert
into
digunakan
untuk
memasukkan
nilai
record
atau
baris
ke
dalam
field
atau
kolom
atribut.
Kita
dapat
melakukan
pengisian
record
untuk
semua
field
ataupun
sebagian
field
pada
sebuah
tabel.
Aturan
penulisan
sintaks
untuk
memasukkan
nilai
record
dengan
insert
into
yaitu
:
INSERT
INTO
<nama_tabel>
(<nama_atribut1>,<
nama_atribut2>,
....dst)
VALUES
(<nilai_atribut1>,
<nilai_atribut2>,
....dst);
Berikut
merupakan
contoh
penggunaan
sintaks
insert
into.
1. Memasukkan
nilai
atribut
untuk
atribut
id,
nama,
dan
nilai
pada
tabel
peserta.
Dimana
nilai
yang
ingin
dimasukkan
id
=
10,
nama
=
denaz,
nilai
=
78.
Maka
sintaks
yang
harus
dimasukkan,
yaitu
:
Insert
into
peserta
(id,
nama,
nilai)
values
(10,
denaz,
78);
Kemudian
untuk
mengecek
hasil
record
yang
dimasukkan,
ketik
sintaks
select*
from
peserta
where
id=10;
(id=10
merupakan
id
dari
record
yang
baru
dimasukkan).
65
MODUL
1
BASIS
DATA
SPASIAL
2. Memasukkan
nilai
atribut
untuk
atribut
id
dan
nama
pada
tabel
peserta.Dimana
nilai
yang
ingin
dimasukkan
id
=
12
dan
nama
=
citra.
Maka
sintaks
yang
harus
dimasukkan,
yaitu
:
Insert
into
peserta
(id,
nama)
values
(12,
citra);
Kemudian
untuk
mengecek
hasil
record
yang
dimasukkan,
ketik
sintaks
select*
from
peserta
where
id=12;
(id=12
merupakan
id
dari
record
yang
baru
dimasukkan).
Update
Perintah
UPDATE
ini
digunakan
untuk
merubah
satu
atau
beberapa
atribut
ataupun
record.
Perubahan
yang
dilakukan
tidak
hanya
bisa
dilakukan
pada
nilai
atribut,
tetapi
juga
bisa
digunakan
untuk
merubah
cara
penulisan
nilai
atribut.
Aturan
penulisan
sintaks
untuk
memasukkan
nilai
record
dengan
update
yaitu
:
UPDATE
<nama_tabel>
SET
<nama_atribut>
=
<nilai_baru>
[,<nama_atribut1>
=
<nilai_baru1>]
WHERE
<kondisi>;
Berikut
merupakan
contoh
penggunaan
sintaks
update
:
1. Melakukan
update
pada
tabel
peserta
dimana
nilai
atribut
nilai
untuk
peserta
dengan
nama
=
citra,
dari
nilai
yang
masih
kosong
menjadi
88.
Maka
sintaks
yang
harus
dimasukkan,
yaitu
:
Update
peserta
set
nilai=88
where
nama=citra;
Kemudian
untuk
mengecek
hasil
record
yang
sudah
di-update,
ketik
sintaks
select*
from
peserta
where
nama=citra;
.
2. Melakukan
update
pada
tabel
peserta
dimana
seluruh
nilai
field
nama
akan
diubah
penulisannya
menjadi
huruf
besar
atau
huruf
kapital.
Maka
sintaks
yang
harus
dimasukkan,
yaitu
:
Update
peserta
set
nama
=
UPPER
(nama);
66
MODUL
1
BASIS
DATA
SPASIAL
Kemudian
untuk
mengecek
tabel
setelah
seluruh
nilai
atribut
untuk
atribut
nama
diubah
menjadi
huruf
kapital,
maka
ketik
sintaks
select*
from
peserta;
Delete
Kita
dapat
menggunakan
perintah
DELETE
untuk
menghapus
record
atau
baris.
Aturan
penulisan
sintaks
untuk
menghapus
record
dengan
delete
yaitu
:
DELETE
FROM
<nama_tabel>
WHERE
<kondisi>;
Untuk
menggunakan
sintaks
ini,
kita
tidak
boleh
lupa
menuliskan
kondisi,
jika
tidak
maka
seluruh
record
akan
terhapus.
Sebagai
contoh,
jika
kita
ingin
menghapus
record
pada
tabel
peserta
untuk
peserta
dengan
id
=
10.
Maka
sintaks
yang
harus
dimasukkan,
yaitu
:
Delete
from
peserta
where
id=10;
Kemudian
untuk
mengecek
tabel
setelah
record
untuk
peserta
dengan
id
=
10
dihapus,
maka
ketik
sintaks
select*
from
peserta;
2.3 Latihan
Implementasi
Bahasa
SQL
pada
Model
Data
Relasional
2.3.1 Mengimplementasikan
Model
Data
ER
pada
PostgreSQL
Pada
Materi
I,
kita
telah
membahas
teori
dasar
Basis
Data,
mulai
dari
definisi
basis
data,
DBMS,
normalisasi,
Model
ER,
hingga
perancangan
basis
data.
Disini
kita
akan
mencoba
mengimplementasikan
model
data
ER
yang
telah
kita
buat
pada
latihan
perancangan
basis
data
Sistem
Informasi
Geografis
Pariwisata
Jawa
Barat.
Dimana
didalamnya
terdapat
pembuatan
model
ER
yang
akan
kita
implementasikan
dalam
basis
data
PostgreSQL.
67
MODUL
1
BASIS
DATA
SPASIAL
memiliki
Wisata
2. Hubungan
entitas
Kabupaten
dan
Pusat
Perbelanjaan
:
Derajat
hubungan/relasi
:
Sebuah
kabupaten
di
Jawa
Barat
(1)
memiliki
beberapa
Pusat
Perbelanjaan
(n).
Satu
Pusat
Perbelanjaan
(1)
berada
di
sebuah
kabupaten
wilayah
Jawa
Barat
(1).
Kelas
Keanggotaan
:
Setiap
kabupaten
di
wilayah
Jawa
Barat
belum
tentu
memiliki
Pusat
Perbelanjaan,
dan
sebuah
Pusat
Perbelanjaan
pasti
terletak
di
sebuah
kabupaten
wilayah
Jawa
Barat.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
-
obligatory.
Diagram
ER
:
1
n
Pusat
Kabupaten
memiliki
Perbelanjaan
3. Hubungan
entitas
Kabupaten
dan
Pusat
Kerajinan
:
Derajat
hubungan/relasi
:
Sebuah
kabupaten
di
Jawa
Barat
(1)
memiliki
beberapa
Pusat
Kerajinan
(n).
Satu
Pusat
Kerajinan
(1)
berada
di
sebuah
kabupaten
wilayah
Jawa
Barat
(1).
Kelas
Keanggotaan
:
68
MODUL
1
BASIS
DATA
SPASIAL
Kabupaten
memiliki
Pusat Kerajinan
4. Hubungan
entitas
Kabupaten
dan
Bank_ATM
:
Derajat
hubungan/relasi
:
Sebuah
kabupaten
di
Jawa
Barat
(1)
memiliki
beberapa
Bank/ATM
(n).
Satu
Bank/ATM
(1)
berada
di
sebuah
kabupaten
wilayah
Jawa
Barat
(1).
Kelas
Keanggotaan
:
Setiap
kabupaten
di
wilayah
Jawa
Barat
memiliki
Bank/ATM,
dan
sebuah
Bank/ATM
pasti
terletak
di
sebuah
kabupaten
wilayah
Jawa
Barat.
Hubungan
kedua
entitas
ini
adalah
obligatory
-
obligatory.
Diagram
ER
:
1
n
Kabupaten
Bank_ATM
memiliki
5. Hubungan
entitas
Kabupaten
dan
Fasilitas
Umum
Fasilitas
Sosial
(Fasum
Fasos):
Derajat
hubungan/relasi
:
Sebuah
Kabupaten
(1)
memiliki
banyak
Fasum
Fasos
(n).
Seorang
Fasum
Fasos
(1)
terletak
pada
satu
kabupaten
(1).
Kelas
Keanggotaan
:
Setiap
Kabupaten
pasti
memiliki
Fasum
Fasos,
dan
setiap
Fasum
Fasos
pasti
terletak
pada
satu
Kabupaten.
Hubungan
kedua
entitas
ini
adalah
obligatory
-
obligatory.
Diagram
ER
:
n
m
Kabupaten
Fasum
Fasos
memiliki
6. Hubungan
entitas
Kabupaten
dan
Akomodasi
:
Derajat
hubungan/relasi
:
Sebuah
Kabupaten
(1)
memiliki
beberapa
Akomodasi
(n).
Satu
Akomodasi
(1)
dimiliki
satu
Kabupaten
(1).
Kelas
Keanggotaan
:
Setiap
Kabupaten
pasti
memiliki
Akomodasi,
dan
sebuah
Akomodasi
belum
tentu
terdapat
di
Kabupaten.
Hubungan
kedua
entitas
ini
adalah
obligatory
non
obligatory.
69
MODUL
1
BASIS
DATA
SPASIAL
Diagram
ER
:
1
n
Kabupaten
Akomodasi
memiliki
7. Hubungan
entitas
Wisata
dan
Rumah
Makan
:
Derajat
hubungan/relasi
:
Sebuah
objek
Wisata
(1)
memiliki
beberapa
Rumah
Makan
(n).
Satu
Rumah
Makan
(1)
dimiliki
satu
objek
Wisata
(1).
Kelas
Keanggotaan
:
Setiap
objek
Wisata
belum
tentu
dimiliki
Rumah
Makan,
dan
sebuah
Rumah
Makan
belum
tentu
terdapat
di
objek
Wisata.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
non
obligatory.
Diagram
ER
:
1
n
Rumah_Ma
Wisata
memiliki
kan
8. Hubungan
entitas
Wisata
dan
Transportasi
:
Derajat
hubungan/relasi
:
Sebuah
objek
Wisata
(1)
memiliki
beberapa
Transportasi
(n).
Satu
Transportasi
(1)
dimiliki
satu
objek
Wisata
(1).
Kelas
Keanggotaan
:
Setiap
objek
Wisata
belum
tentu
memiliki
Transportasi,
dan
sebuah
Transportasi
belum
tentu
terdapat
di
objek
Wisata.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
non
obligatory.
Diagram
ER
:
1
n
Wisata
Transportas
memiliki
i
9. Hubungan
entitas
Wisata
dan
Jalur
Transportasi
:
Derajat
hubungan/relasi
:
Sebuah
objek
Wisata
(1)
dapat
diakses
oleh
beberapa
Jalur
Transportasi
(n).
Satu
Jalur
Transportasi
(1)
dapat
mengakses
banyak
objek
Wisata
(n).
Kelas
Keanggotaan
:
Setiap
objek
Wisata
belum
tentu
diakses
oleh
Jalur
Transportasi,
dan
sebuah
Jalur
Transportasi
belum
tentu
mengakses
objek
Wisata.
Hubungan
kedua
entitas
ini
adalah
non
obligatory
non
obligatory.
Diagram
ER
:
n
m
Jalur
Wisata
memiliki
Transportas
i
70
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
Kategori
Nm_obyk
Id_kab
Geom
Varchar(50)
Varchar(50)
Varchar(20)
oid
-
-
Foreign
key
-
-
-
Not
null
-
Tabel
Pusat_Kerajinan.
Field/kolom
yang
harus
dibuat
:
Nama
Field
Tipe
Data
Contraint
Modifikasi
Id_puskrjn
Varchar(10)
Primary
key
Not
null
Kategori
Varchar(50)
-
-
Nm_obyk
Varchar(50)
-
-
Id_kab
Varchar(20)
Foreign
key
Not
null
Geom
oid
-
-
Tabel
Bank_ATM.
Field/kolom
yang
harus
dibuat
:
Nama
Field
Tipe
Data
Contraint
Modifikasi
Id_bankatm
Varchar(10)
Primary
key
Not
null
Kategori
Varchar(50)
-
-
Nm_obyk
Varchar(50)
-
-
Id_kab
Varchar(20)
Foreign
key
Not
null
Geom
oid
-
-
Tabel
Fasum
Fasos_Kabupaten.
Field/kolom
yang
harus
dibuat
:
Nama
Field
Tipe
Data
Contraint
Modifikasi
Id_fasumsos
Varchar(10)
Primary
key
Not
null
Kategori
Text
-
-
Nm_obyk
Varchar(50)
-
-
Id_kab
Varchar(10)
Foreign
key
Not
null
Geom
oid
-
-
Tabel
Wisata_Kabupaten.
Field/kolom
yang
harus
dibuat
:
Nama
Field
Tipe
Data
Contraint
Modifikasi
Kd_wisat
Varchar(10)
Not
null
Id_kab
Varchar(10)
Not
null
Tabel
Rumah_Makan.
Field/kolom
yang
harus
dibuat
:
Nama
Field
Tipe
Data
Contraint
Modifikasi
Id_rm_mkn
Varchar(10)
Primary
key
Not
null
Nm_rm_mkn
Varchar(50)
-
-
jenis_rm
Varchar(50)
-
-
Kd_wisata
Varchar(10)
Foreign
key
Not
null
Geom
oid
-
-
Tabel
Akomodasi.
Field/kolom
yang
harus
dibuat
:
Nama
Field
Tipe
Data
Contraint
Modifikasi
73
MODUL
1
BASIS
DATA
SPASIAL
Id_hotel
Varchar(10)
Primary
key
Nm_hotel
Varchar(50)
-
Kelas
Text
-
Fas
Varchar(50)
-
Id_kab
Varchar(10)
Foreign
key
Geom
oid
-
Tabel
Transportasi.
Field/kolom
yang
harus
dibuat
:
Nama
Field
Tipe
Data
Contraint
Id_trans
Varchar(10)
Primary
key
Nama_pool
Varchar(50)
-
Jenis_tran
Text
-
Dy_penumpa
Varchar(50)
-
Fas_trans
xml
-
Kd_wisata
Varchar(10)
Foreign
key
Geom
oid
-
Not
null
-
-
-
Not
null
-
Modifikasi
Not
null
-
-
-
-
Not
null
-
Tabel
Jalur
Transportasi_Transportasi
Umum.
Field/kolom
yang
harus
dibuat
:
Nama
Field
Tipe
Data
Contraint
Modifikasi
Id_jal
Varchar(10)
Primary
key
Not
null
Id_trans
Varchar(10)
Foreign
key
Not
null
Geom
oid
-
-
2.3.2 Menambahkan
Data
ke
Model
Model
yang
telah
dibuat,
sekarang
perlu
diisi
dengan
data
yang
sesuai
dengan
maksud
pembuatannya.
Menambahkan
data
ke
dalam
tabel
Untuk
menambahkan
data
ke
dalam
tabel-tabel
yang
telah
kita
buat
sebelumnya,
kita
harus
menggunakan
sintaks
INSERT,
dimana
aturan
penulisan
sintaks
insert
yaitu
:
INSERT
INTO
<nama_tabel>
(<nama_atribut1>,<
nama_atribut2>,
....dst)
VALUES
(<nilai_atribut1>,
<nilai_atribut2>,
....dst);
Terdapat
beberapa
hal
yang
perlu
Anda
perhatikan
saat
memasukkan
nilai
atribut
ke
dalam
tabel
:
Setelah
nama
tabel
(Rumah_Makan),
Anda
ketikkan
nama
field
yang
akan
Anda
isi
(id_rmh_mkn).
Kemudian
setelah
Anda
mengetikkan
values,
masukkan
daftar
nilai
field.
74
MODUL
1
BASIS
DATA
SPASIAL
Untuk
atribut
yang
memiliki
tipe
data
text,
varchar,
character,
dan
string,
nilai
field
harus
dikutip
dengan
menggunakan
kutip
tunggal.
Misal
untuk
memasukkan
nama
kabupaten,
maka
Bogor
Barat.
Anda
perhatikan
bahwa
kita
tidak
memasukkan
nilai
untuk
kolom
id
dikarenakan
nilai
kolom
id
akan
ditulis
secara
otomatis
dan
berurutan.
Untuk
field
yang
menjadi
primary
key
harus
bersifat
unik
dan
tidak
ada
nilai
yang
kosong
(null
value).
Anda
harus
melihat
INSERT
0
1
jika
Anda
telah
berhasil
memasukkan
nilai
atribut
ke
dalam
tabel.
Anda
dapat
melihat
hasil
pemakaian
insert
dengan
menampilkan
semua
data
dalam
tabel,
misal
:
Select*
from
Rumah_Makan;
Sekarang
Anda
coba
gunakan
perintah/sintaks
INSERT
untuk
menambahkan
record
ke
dalam
tabel
Rumah_Makan,
Akomodasi,
Transportasi.
Memilih
Data
Pada
pengenalan
bahasa
SQL,
telah
dijelaskan
kepada
Anda
sintaks
untuk
memilih
record.
Mari
kita
melihat
beberapa
contoh
berikut
:
Select
nm_rm
from
Rumah_Makan;
Select*
from
Akomodasi;
Select*
from
Akomodasi
where
jns_akomodasi=hotel;
Dalam
sesi
selanjutnya,
akan
dibahas
lebih
detail
tentang
cara
memilih
dan
menyaring
data.
Memperbaharui
Data
Sekarang
Anda
akan
mencoba
meng-update
data
dimana
sintaks
yang
digunakan
yaitu
:
UPDATE
<nama_tabel>
SET
<nama_atribut>
=
<nilai_baru>
[,<nama_atribut1>
=
<nilai_baru1>]
WHERE
<kondisi>;
Berhati-hatilah
pada
saat
menggunakan
pernyataan
update
tersebut,
karena
jika
terdapat
lebih
dari
1
record
yang
sesuai
dengan
kondisi
yang
didefinisikan
pada
kata
kunci
WHERE,
maka
semua
record
yang
sesuai
akan
diperbaharui
secara
otomatis.
Solusi
yang
lebih
baik
adalah
dengan
menggunakan
primary
key
dari
tabel
untuk
menunjuk
secara
pasti
pada
record
yang
ingin
di-update.
Jika
Anda
berhasil
melakukan
update
data,
maka
seharusnya
Anda
melihat
UPDATE
1.
Menghapus
Data
Pada
saat
memasukkan
data,
mungkin
ada
beberapa
kali
Anda
melakukan
kesalahan
yang
menyebabkan
Anda
perlu
menghapus
data
yang
Anda
masukkan.
Untuk
kasus
ini,
Anda
perlu
menggunakan
sintaks
delete.
75
MODUL
1
BASIS
DATA
SPASIAL
Misal
Anda
ingin
menghapus
record
pada
tabel
Rumah_Makan
yang
memiliki
id_rm=10.
Delete
from
Rumah_Makan
where
id_rm=10;
Sekarang
Anda
lihat
tabel
Rumah_Makan
:
Select*
from
Rumah_Makan
where
id_rm=rm10;
Maka
akan
muncul
seperti
gambar
di
bawah
ini.
Kesimpulan
Sekarang
Anda
telah
mengetahui
cara
untuk
menambahkan
data
ke
dalam
model
basis
data
yang
telah
Anda
buat
sebelumnya.
Harap
diingat
jika
Anda
ingin
menambahkan
jenis
data
baru,
maka
Anda
perlu
melakukan
modifikasi
dan/atau
membuat
model
baru
untuk
menampung
data
baru
tersebut.
2.3.3 Query
Sekarang
Anda
akan
mencoba
melakukan
query
pada
tabel.
Mengurutkan
hasil
(ordering)
Sekarang
Anda
akan
mencoba
melihat
daftar
nama
fasilitasi
trasnportasi
(nm_fastrans)
dari
tabel
Transportasi
yang
diurut
berdasarkan
jenis
transportasi.
Select*
from
Transportasi
order
by
jns_transport;
Menyaring
hasil
(filtering)
Sering
kali
Anda
tidak
akan
ingin
melihat
satu
per
satu
semua
record
dalam
basis
data-
terutama
jika
terdapat
ribuan
record
dan
Anda
hanya
tertarik
melihat
satu
atau
dua
saja.
Anda
dapat
mengatasinya
dengan
melakukan
filtering.
Berikut
contoh
dari
penyaringan
atau
filtering.
Select
nm_akomodasi,
jns_akomodasi,
alamat
from
Akomodasi
where
nm_kec=Bogor
Barat;
Kesimpulan
Anda
telah
mencoba
melakukan
query
yang
digunakan
untuk
menghasilkan
data
dari
basis
data
Anda
sehingga
Anda
dapat
menggali
informasi
yang
berguna.
76
MODUL
1
BASIS
DATA
SPASIAL
MATERI
3
-
PostGIS
3.1
Pengantar
PostGIS
3.1.1.
Pengenalan
PostGIS
PostGIS
adalah
spatial
extension
untuk
platformdatabase
(spatial)
PostgreSQL.
Spatial
Database
dapat
menyimpan
dan
mengelola
(manipulation)
objek-objek
spasial,
seperti
halnya
pengelolaan
data
pada
Database
umumnya.
Aspek
yang
berkaitan
dengan
Spatial
Database,
mencakup:
1. Spatial
Data
Types;
mengacu
pada
bentuk
primitiv
geometri:
point,
line,
polygon.
2. Spatial
Indexing;
diterapkan
untuk
efisiensi
proses
operasi-operasi
spasial.
3. Spatial
Function;
digunakan
untuk
proses
query
spasial,
baik
atribut
objek
maupun
relasi
antar
objek
spasial.
Spatial
Database
(Geodatabase)
merupakan
evolusi
terkini
dari
Arsitektur
GIS,
dimana
objek
spasial
terintegrasi
dengan
data
objek
relasional
database.
Illustrasi
berikut
ini
menunjukkan
perkembangan
evolusi
Arsitektur
GIS
terkait
paradigma
penyimpanan
dan
pengelolaan
data
GIS,
lihat
Gambar
di
bawah
ini.
Spatial
Database
memiliki
tipe
data
bentukan,
yaitu
tipe
data
Geometry
untuk
mengelola
dan
menyajikan
objek-objek
spasial
(geometri).
Spatial
ADT
(Abstract
Data
Type)
mengenkapsulasi
struktur
spasial,
mencakup:
boundary
dan
dimensi.
Spatial
ADT,
selanjutnya
dikenal
juga
sebagai
objek
shapes.
Spatial
ADT
dikelompokkan
secara
hirarki
dimana
sub-type
merupakan
turunan
dari
type
induknya
yang
mewarisi
Atribut
dan
Properti
(methode|functions)
dari
masing-
77
MODUL
1
BASIS
DATA
SPASIAL
masing
objek
induknya.
Illustrasi
berikut
ini
menunjukkan
hirarki
objek
Spatial
ADT,
lihat
Gambar
berikut
ini.
Seperti
halnya
Database
umum,
spatial
database
memiliki
metode
pengindeksan
untuk
objek-objek
spasial
yang
bermanfaat
untuk
mempercepat
proses-proses
spatial
query,
baik
pencarian
maupun
pemilihan
data,
misal:
objek
mana
saja
yang
berada
di
dalam
suatu
area
bounding
box
tertentu.
Bounding
Box
adalah
kotak
persegi
yang
memuat
koordinat
titik
maksimum
dan
minimum
yang
mencakup
objek-objek
spasial
yang
dipilih.
Bounding
Box
digunakan
untuk
dapat
menjawab
apakah
suatu
objek
terdapat
di
dalam
objek
yang
lain.
Objek
dapat
berbentuk
geometri:
polygon-polygon,
line-
polygon,
line-line.
Metode
spatialindex
yang
umum
digunakan
adalah
R-tree,
metode
lainnya:
Quadtrees
dan
grid-based
indexes.
Spatial
Database
menyediakan
kumpulan
Fungsi
untuk
menganalisis
elemen
geometrik,
menentukan
relasi
antar
objek,
dan
manipulasi
geometri
objek.
Kumpulan
fungsi
tersebut
dapat
dikelompokkan
kedalam
5
(lima)
kategori,
berikut
ini:
1. Conversion;fungsi
untuk
mengkonversi
objek-objek
geometri
dengan
format
data
eksternal.
2. Management;fungsi
yang
mengelola
informasi
tentang
tabel-tabel
spasial
dan
Administrasi
PostGIS.
3. Retrieval;fungsi
yang
memanggil
kembali
properti
dan
pengukuran-
pengukuran
objek
Geometri.
78
MODUL
1
BASIS
DATA
SPASIAL
2. Muncul
dialog
Choose
Component,
klik
Next
79
MODUL
1
BASIS
DATA
SPASIAL
3. Muncul
dialog
Choose
Install
Location,
klik
Next
4. Muncul
dialog
Database
Connection,
isi:
User,
Password;
sesuaikan
dengan
saat
instalasi
PostgreSQL
dilakukan,
klik
Next
80
MODUL
1
BASIS
DATA
SPASIAL
6. Muncul
dialog
progres
Installing,
tunggu
sampai
dengan
selesai
proses
instalasi
7. Muncul
dialog
Installation
Complete,
klik
Close
81
MODUL
1
BASIS
DATA
SPASIAL
3.2 Manajemen
Data
Spasial
di
PostGIS
3.2.1 Membuat
Geodatabase
Pengelolaan
database
PostgreSQL/PostGIS
dapat
dilakukan
dengan
bantuan
(tools)
Database
Manager
for
PostgreSQL,
misal:
pgAdmin
III.
Untuk
membuat
Geodatabase,
terlebih
dahulu
lakukan
create
database
(PostgreSQL)
selanjutnya
tambahkan
ekstensi
PostGIS.
Penambahan
ekstensi
PostGIS
dapat
dilakukan
dengan
cara,
seperti
uraian
berikut
ini.
Menggunakan
createlang
plpgsql
Langkah-langkahnya
adalah
sebagai
berikut:
1. Jalankan
aplikasi
pgAdmin
III
2. Lakukan
koneksi
ke
Server
Database
(user,
password)
3. Membuat
database
baru
(create
database)
82
MODUL
1
BASIS
DATA
SPASIAL
4. Lakukan
koneksi
ke
database
yang
baru
dibuat
5. Aktifkan
jendela
SQL
Editor
6. Menambahkan
ekstensi
spasial
(PostGIS)
ke
database
tersebut,
caranya:
Eksekusi
file:
postgis.sql
Eksekusi
file:
spatial_ref_sys.sql
83
MODUL
1
BASIS
DATA
SPASIAL
Menggunakan
Template
PostGIS
Langkah-langkahnya
adalah
sebagai
berikut:
1. Jalankan
aplikasi
pgAdmin
III
2. Lakukan
koneksi
ke
Server
Database
(user,
password)
3. Membuat
database
baru
(create
database)
4. Muncul
dialog
New
Database,
setting
properti
Template
isikan
dengan
template_postgis
84
MODUL
1
BASIS
DATA
SPASIAL
85
MODUL
1
BASIS
DATA
SPASIAL
Sebagai
contoh,
statement
insert
untuk
memasukan
objek
spasial
OGC,
ditulis
sebagai
berikut.
INSERT
INTO
geotable
(
the_geom,
the_name
)
VALUES
(
ST_GeomFromText(POINT(-126.4
45.32),
312),
A
Place);
Tipe
Data
Geography
Untuk
data
spasial
yang
menggunakan
sistem
koordinat
geodetik
(Lintang,
Bujur),
PostGIS
menyediakan
tipe
data
spasial
baru,
yaitu:
Geography.
Beda
antara
tipe
Geometry
dengan
Geography
adalah
bahwa
Geometry
memperlakukan
objek
berada
pada
bidang
datar
sehingga
untuk
operasi-operasi
matematis
dapat
diterapkan
matematika
kartesian
dan
vektor
garis
lurus.
Sedangkan
tipe
Geography;
objek
spasial
berada
pada
bidang
lengkung/bola
(spheroid)
dan
unit
ukuran
yang
digunakan
adalah
dalam
derajat.
Saat
ini,
tipe
Geography
baru
diterapkan
untuk
objek
spasial
yang
menggunakan
sistem
WGS
84
long
lat
(SRID:4326).
Objek
spasial
Geometry
yang
menggunakan
SRID:4326
akan
dikonversi
menjadi
tipe
Geography.
Berikut
ini
illustrasi
penerapan
tipe
Geography.
CREATE
TABLE
testgeog(gid
serial
PRIMARY
KEY,
the_geog
geography(POINT,4326)
);
CREATE
TABLE
global_points
(
id
SERIAL
PRIMARY
KEY,
name
VARCHAR(64),
location
GEOGRAPHY(POINT,4326)
);
INSERT
INTO
global_points
(name,
location)
VALUES
(Town,
ST_GeographyFromText(SRID=4326;POINT(-110
30))
);
INSERT
INTO
global_points
(name,
location)
VALUES
(Forest,
ST_GeographyFromText(SRID=4326;POINT(-109
29))
);
INSERT
INTO
global_points
(name,
location)
VALUES
(London,
ST_GeographyFromText(SRID=4326;POINT(0
49))
);
Membuat
Table
Spatial
Untuk
membuat
Table
Spatial
dapat
dilakukan
dalam
satu
tahapan.
Illustrasi
berikut
ini
adalah
membuat
table
spatial
(roads),
dimana
tabel
tersebut
memuat
objek
geometri
linestring
2
dimensi
dengan
SRID:
WGS
84
long
lat.
CREATE
TABLE
ROADS
(
ID
int4,
ROAD_NAME
varchar(25),
geom
geometry(LINESTRING,4326)
);
Untuk
memodifikasi
struktur
tabel
gunakan
perintah
standard
ALTER
TABLE,
seperti
illustrasi
berikut.
ALTER
TABLE
roads
ADD
COLUMN
geom2
geometry(LINESTRINGZ,4326);
Selain
itu,
membuat
Table
Spatial
juga
dapat
dilakukan
dengan
2
tahapan,
sebagai
berikut:
86
MODUL
1
BASIS
DATA
SPASIAL
87
MODUL
1
BASIS
DATA
SPASIAL
Memuat
Data
Vektor
(Loading
Spatial
Data)
Setelah
berhasil
membuat
Table
Spatial,
selanjutnya
kita
siap
untuk
meng-upload
data
GIS
ke
tabel
tersebut.
Saat
ini,
ada
2
(dua)
cara
untuk
memasukkan
data
kedalam
database
PostgreSQL/PostGIS,
yaitu:
menggunakan
format
statement
SQL
atau
dengan
loader/dumper
Shape
file.
Menggunakan
SQL
Syntax:
INSERT
INTO
[table][fields]
VALUES
()
Contoh
berikut
adalah
memuat
data
GIS
menggunakan
format
SQL.
BEGIN;
INSERT
INTO
roads
(road_id,
roads_geom,
road_name)
VALUES
(1,ST_GeomFromText(LINESTRING(191232
243118,191108
243242),-1),Jeff
Rd);
INSERT
INTO
roads
(road_id,
roads_geom,
road_name)
VALUES
(2,ST_GeomFromText(LINESTRING(189141
244158,189265
244817),-
1),Geordie
Rd);
INSERT
INTO
roads
(road_id,
roads_geom,
road_name)
VALUES
(3,ST_GeomFromText(LINESTRING(192783
228138,192612
229814),-
1),Paul
St);
INSERT
INTO
roads
(road_id,
roads_geom,
road_name)
VALUES
(4,ST_GeomFromText(LINESTRING(189412
252431,189631
259122),-
1),Graeme
Ave);
INSERT
INTO
roads
(road_id,
roads_geom,
road_name)
VALUES
(5,ST_GeomFromText(LINESTRING(190131
224148,190871
228134),-
1),Phil
Tce);
INSERT
INTO
roads
(road_id,
roads_geom,
road_name)
VALUES
(6,ST_GeomFromText(LINESTRING(198231
263418,198213
268322),-
1),Dave
Cres);
COMMIT;
88
MODUL
1
BASIS
DATA
SPASIAL
Menggunakan
Loader
PostGIS
menyediakan
fungsi
shp2pgsql;
merupaka
data
loader
untuk
mengkonversi
objek
spasial
format
ESRI
Shapefile
kedalam
format
SQL
yang
sesuai
untuk
transaksi
insert
data
kedalam
database
PostgreSQL/PostGIS,
baik
tipe
Geometry
maupun
Geography.
Illustrasi
berikut
ini
menunjukkan
syntax
memuat
data
GIS
dengan
menggunakan
data
loader
fungsi
shp2pgsql.Hasil
dari
data
loader
disimpan
sebagai
file
*.sql
yang
siap
dieksekusi
pada
SQL
Editor
menggunakan
aplikasi
Database
Manager;
pgAdmin
III.
Menampilkan
Data
Vektor
(Retrieving
Spatial
Data)
Data
GIS
yang
sudah
disimpan
di
Geodatabase
dapat
dipanggil
kembali.
Untuk
menampilkan
kembali
data
tersebut
dapat
dilakukan,
baik
dengan
format
SQL
maupun
shape
file
loader/dumper.
Menggunakan
SQL
Syntax:
SELECT
[fields]
FROM
[table]
ASTEXT(geometry_field);
format
WKT
ASBINARY(geometry_field);
format
WKB
Contoh
berikut
adalah
menampilkan
data
GIS
menggunakan
statement
SQL;
format
WKT
dan
WKB.
89
MODUL
1
BASIS
DATA
SPASIAL
Menggunakan
Dumper
Syntax:
pgsql2shp
[<options>]
<database>
[<schema>.]<table>
pgsql2shp
[<options>]
<database><query>
Option
dari
commandline
tersebut,
adalah:
-f
<filename>nama
file
untuk
menyimpan
data.
-h
<host>nama
host
koneksi
ke
database.
-p
<port>port
ke
host
koneksi
database.
-P
<password>password
koneksi
database.
-u
<user>username
koneksi
ke
database.
90
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
| Type
| Description
------------------------+----------------------------------+------------------------------------------
gid
| integer
| Unique ID
name
the_geom
| geometry
| Type
| Description
------------------------+----------------------------------+-----------------------------------------
gid
| integer
| Unique ID
code
| integer
| Unique ID
name
the_geom
| geometry
92
MODUL
1
BASIS
DATA
SPASIAL
3.3 Aplikasi
Desktop
GIS
(QuantumGIS)
Untuk
menampilkan
data
spasial
dari
database
PostgreSQL/PostGIS
dapat
digunakan
perangkat
lunak
Desktop
GIS
freeware,
yaitu:
QuantumGIS
(QGis).
Dengan
QGis
ini
kita
dapat
melakukan
operasi-operasi
spasial,
seperti:
query,
analisis,
lay
out,
editing,
dll.
Untuk
menampilkan
data
PostGIS
di
QGis,
caranya
adalah:
1. Jalankan
aplikasi
Quantum
GIS
2. Menu:
Layer
>
Add
PostGIS
layer
93
MODUL
1
BASIS
DATA
SPASIAL
3. Definisikan
koneksi
database
94
MODUL
1
BASIS
DATA
SPASIAL
MODUL
1
BASIS
DATA
SPASIAL
1. Buka
PgAdmin.
Kemudian
lakukan
expand
pada
server
PostgreSQL
hingga
ke
fitur
objek
Tables.
2. Kemudian
pilih
menu
Plugins,
dan
pilih
PostGIS
Shapefile
and
DBF
loader
2.0
3. Selanjutnya
akan
muncul
window
PostGIS
Shapefile
Import/Export
Manager
yang
akan
kita
gunakan
untuk
meng-import
data
shp
ke
dalam
basis
data.
Pilih
tab
Import,
lalu
tekan
tombol
Add
File
untuk
memilih
data
yang
ingin
di-import.
4. Selanjutnya
Anda
lakukan
pencarian
data
yang
dibutuhkan
ke
direktori
tempat
data
disimpan,
kemudian
pilih
Jabar_Kabu.shp.
Klik
Open.
96
MODUL
1
BASIS
DATA
SPASIAL
5. Klik
Import.
Hasilnya
dapat
kita
lihat
di
basis
data
SIG_Pariwisata,
seperti
gambar
di
bawah
ini
3.4.2 Preview
Data
Spasial
dari
Basis
data
Spasial
Kita
akan
mencoba
melihat
preview
data
spasial
shp
yang
baru
kita
impor
ke
dalam
DBMS
PostgreSQL/PostGIS.
Caranya
dengan
mengikuti
langkah
berikut.
1. Buka
Quantum
GIS.
Kemudian
pilih
tombol
Add
PostGIS
Layer
seperti
gambar
di
bawah
ini.
97
MODUL
1
BASIS
DATA
SPASIAL
2. Selanjutnya,
atur
koneksi
terlebih
dahulu
ke
basis
data
SIG_Pariwisata
yang
disimpan
di
DBMS
PostgreSQL/PostGIS.
Tekan
tombol
Baru
atau
New
(tergantung
setting
bahasa
yang
digunakan).
Kemudian
atur
koneksi.
3. Setelah
melakukan
pengaturan
koneksi,
lakukan
tes
koneksi
terlebih
dahulu
untuk
memastikan
Quantum
GIS
dapat
terkoneksi
dengan
PostGIS.
Pastikan
terlihat
seperti
gambar
di
bawah
ini.
98
MODUL
1
BASIS
DATA
SPASIAL
4. Sekarang
setelah
membuat
pengaturan
koneksi,
selanjutnya
kita
lakukan
koneksi
ke
basis
data
SIG_Pariwisata
dengan
menekan
tombol
Koneksikan
atau
Connect.
Dan
jika
berhasil
terkoneksi,
maka
akan
muncul
data
spasial
di
dalam
skema
seperti
gambar
di
bawah
ini.
5. Selanjutnya,
untuk
menampilkan
data
spasial
yang
sudah
terkoneksi,
lakukan
select
pada
data
yang
ingin
ditampilkan,
kemudian
pilih
tombol
Add.
Maka
data
spasial
jabar_kab
pun
akan
muncul
di
aplikasi
desktop
Quantum
GIS.
99
MODUL
1
BASIS
DATA
SPASIAL
100