bab 3 desain dan implementasi analisis pencarian jalur ... · b. diagram er net kampus node kampus...

30
28 BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR JALAN DALAM BASIS DATA SPASIAL 3D Bab ini akan menjelaskan tahapan-tahapan desain dan implementasi sistem basis basis data jalur jalan 3D. Tahapan-tahapan tersebut antara lain perancangan basis data (pada subbab 3.1), tahapan struktur jaringan jalur jalan 3D (pada subbab 3.2), tahapan desain dan implementasi Pgrouting untuk basis data spasial 3D jalur jalan (pada subbab 3.3), tahapan implementasi dan uji coba (pada subbab 3.4). 3.1 Perancangan Basis Data Jalur Jalan Kampus ITB Perancangan basis data merupakan tahap awal pembuatan basis data, termasuk didalamnya penentuan struktur basis data, hubungan antar tabel, isi, dan aplikasi apa saja yang akan dijalankan. Perancangan basis data dalam sistem mempunyai tujuan untuk mempermudah hubungan-hubungan antar tabel satu dengan tabel lainnya. Basis data mempunyai fungsi untuk mencatat, menyimpan, memanipulasi dan menampilkan hasil. Secara garis besar, tahapan pembangunan basis data ini meliputi tahapan eksternal, tahapan konseptual, dan tahap implementasi. 3.1.1 Tahapan eksternal Pada tahapan eksternal ini, dilakukan identifikasi kebutuhan pengguna ( user requirement) yang berhubungan dengan perancangan basis data jalur jalan kampus ITB. Dalam mengidentifikasi kebutuhan pengguna ini, dilakukan studi literatur dan pengamatan lapangan mengenai struktur jalur yang berada di dalam kampus ITB. Hasil dari analisis kebutuhan pengguna dalam tahap eksternal ini kemudian diklarifikasi serta disusun secara sistematik untuk mendapatkan entitas-entitas untuk membangun sistem basis data. Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu lainnya

Upload: donhu

Post on 27-Jun-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

28

BAB 3

DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN

JALUR JALAN DALAM BASIS DATA SPASIAL 3D

Bab ini akan menjelaskan tahapan-tahapan desain dan implementasi sistem basis

basis data jalur jalan 3D. Tahapan-tahapan tersebut antara lain perancangan basis

data (pada subbab 3.1), tahapan struktur jaringan jalur jalan 3D (pada subbab 3.2),

tahapan desain dan implementasi Pgrouting untuk basis data spasial 3D jalur jalan

(pada subbab 3.3), tahapan implementasi dan uji coba (pada subbab 3.4).

3.1 Perancangan Basis Data Jalur Jalan Kampus ITB

Perancangan basis data merupakan tahap awal pembuatan basis data, termasuk

didalamnya penentuan struktur basis data, hubungan antar tabel, isi, dan aplikasi

apa saja yang akan dijalankan. Perancangan basis data dalam sistem mempunyai

tujuan untuk mempermudah hubungan-hubungan antar tabel satu dengan tabel

lainnya. Basis data mempunyai fungsi untuk mencatat, menyimpan, memanipulasi

dan menampilkan hasil. Secara garis besar, tahapan pembangunan basis data ini

meliputi tahapan eksternal, tahapan konseptual, dan tahap implementasi.

3.1.1 Tahapan eksternal

Pada tahapan eksternal ini, dilakukan identifikasi kebutuhan pengguna (user

requirement) yang berhubungan dengan perancangan basis data jalur jalan

kampus ITB. Dalam mengidentifikasi kebutuhan pengguna ini, dilakukan studi

literatur dan pengamatan lapangan mengenai struktur jalur yang berada di dalam

kampus ITB.

Hasil dari analisis kebutuhan pengguna dalam tahap eksternal ini kemudian

diklarifikasi serta disusun secara sistematik untuk mendapatkan entitas-entitas

untuk membangun sistem basis data. Entitas merupakan individu yang mewakili

sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu lainnya

Page 2: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

29

[Fatahansyah, 1999]. Tiap entitas memiliki informasi yang mendeskripsikan

karateristik dari entitas yang disebut sebagai atribut.

Bentuk dan struktur 3D saja belum cukup untuk dapat melakukan analisis

pencarian jalur jalan, karena kurangnya informasi mengenai hubungan antar

objek di lapangan. Dengan pemodelan graf hal tersebut dapat dilakukan.

Pemodelan graf digunakan untuk merepresentasikan bentuk geometri suatu objek,

misalkan bentuk bangunan. Bentuk bangunan dapat direpresentasikan dengan

garis (edge) dan titik (node), di dalam gedung terdapat ruangan yang dapat

direpresentasikan sebagai titik, dan koridor yang dapat direpresentasikan sebagai

garis. Dalam membangun struktur graf terdapat beberapa aturan seperti:

Bagian akhir dari jalur selalu node.

Jalur penghubung antar objek selalu edge

Pertemuan antara jalur penghubung selalu node

Prakteknya dalam dunia nyata, jalur merupakan tempat untuk melakukan

pergerakan dari satu tempat ke tempat lainnya. Pergerakan tersebut bisa dilakukan

dengan berjalan kaki maupun dengan menggunakan kendaraan seperti mobil

maupun motor, sehingga jalur tersebut digambarkan sebagai garis. Sedangkan

bagian tempat akhir dari suatu jalur digambarkan sebagai titik dari centroid suatu

tempat. Entitas dalam pembentukan basis data jalur jalan kampus ITB dibagi

menjadi dua bagian yaitu titik (node) dan garis (edge). Adapun entitas jalur jalan

diperlihatkan pada tabel 3.1 dan tabel 3.2.

Node merupakan awal atau terminasi dari suatu jalur. Node diasumsikan

merupakan tempat tujuan akhir dari suatu jalur. Dan edge merupakan aksesibilitas

jalur dari tempat-tempat yang direpresentasikan oleh node.

Tabel 3.1 Daftar Entitas Titik

No. Entitas Jenis

Parkiran Titik

Taman Titik

Page 3: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

30

Gedung Titik

Ruang Titik

Lantai Titik

Lapangan Titik

Tabel 3.2 Daftar Entitas Garis

No. Entitas Jenis

Jalan kendaraan

bermotor

Garis

Jalan Setapak Garis

Koridor garis

Jalur Lift garis

Tangga garis

3.1.2 Tahap Konseptual

Setelah pemilihan entitas yang akan dimasukkan ke dalam basis data, relasi antara

data tersebut harus dibuat terlebih dahulu. Dalam perancangan desain konseptual

ini, dilakukan pengidentifikasian terhadap entitas basis data jalur jalan kampus

ITB. Pada tahap ini juga dilakukan perancangan model relasi antar entitas. Hasil

dari tahap konseptual ini sering disebut sebagai model konseptual dan pada

umumnya direpresentasikan dengan menggunakan model data Entity Relationship

(ER).

Hubungan satu entitas dengan entitas lainnya merupakan formulasi dari enterprise

rule, yaitu suatu aturan yang terjadi pada keterkaitan antara satu entitas dengan

entitas lainnya pada struktur organisasi data. Adapun entitas dan atribut yang

digunakan dalam kajian ini dapat dilihat pada tabel 3.3 berikut:

Page 4: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

31

Tabel 3.3 Tabel entitas-entitas basis data jalur jalan kampus ITB beserta

atributnya

No. Entitas Atribut Objek Primitif

1. Node Kampus a. ID Node Kampus Titik

2. Parkiran a. ID parkiran

b. keterangan

Poligon

3. Taman a. ID taman

b. keterangan

Poligon

4. Gedung a. ID bangunan

b. nama bangunan

Poligon

5. Ruang a. ID ruang

b. nama ruang

Poligon

6. Lapangan a. ID lapangan

b. keterangan

Poligon

7. Lantai a. ID lantai

b. nama lantai

Poligon

8. Net Kampus a. ID edge

b. source (from node)

c. target (to node)

Garis

9. Jalan a. ID jalan

b. nama jalan

Poligon

10. Jalan Setapak a. ID jalan setapak

b. keterangan

Poligon

11. Koridor a. ID koridor

b. keterangan

Poligon

12. Jalur Lift a. ID jalur lift

b. keterangan

Poligon

13. Tangga a. ID tangga

b. keterangan

Poligon

Page 5: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

32

3.1.2.1 Entity Relationship

1. Hubungan entitas node kampus dan entitas net kampus

Hubungan antara entitas node kampus dan entitas net kampus termasuk

kedalam jenis graf sederhana berarah dan merepresentasikan graf Matriks

Bersisian (incidency matrix) karena pada hubungan ini, terdapat informasi

yang menyatakan arah tujuan (from node dan to node) dan informasi

hubungan garis dengan titik.

a. Enterprise Rules

Untuk relasi from

i. Setiap segmen net kampus pasti memiliki satu titik dari (from)

node kampus.

ii. Satu titik pada node kampus pasti dapat memiliki lebih dari

satu segmen net kampus.

iii. Hubungan kedua entitas tersebut adalah banyak ke satu dan

keduanya berkelas obligatori.

Untuk relasi to

i. Setiap segmen net kampus pasti memiliki satu titik menuju (to)

node kampus.

ii. Satu titik pada node kampus pasti dapat memiliki lebih dari

satu segmen net kampus.

iii. Hubungan kedua entitas tersebut adalah banyak ke satu dan

keduanya berkelas obligatori.

b. Diagram ER

Node kampusNet kampus

to

from

m

m 1

1

Page 6: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

33

c. Tabel Skeleton

i. node_kampus (#gid)

ii. net_kampus (#gid, id_edge, source, target)

2. Hubungan entitas parkiran dan entitas node kampus

a. Enterprise Rules

i. Satu wilayah parkiran hanya memiliki satu centroid (node

kampus).

ii. Satu centroid (node kampus) hanya bisa memiliki satu wilayah

parkiran.

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori.

b. Diagram ER

memiliki Node kampusparkiran

11

c. Tabel Skeleton

i. node_kampus (#gid, id_node)

ii. parkiran (#id_parkiran, keterangan)

3. Hubungan entitas taman dan entitas node kampus

a. Enterprise Rules

i. Satu wilayah taman hanya memiliki satu ke satu centroid (node

kampus).

ii. Satu centroid (node kampus) hanya bisa memiliki satu wilayah

taman.

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori.

b. Diagram ER

memiliki Node kampustaman

11

Page 7: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

34

c. Tabel Skeleton

i. node_kampus (#gid, id_node)

ii. taman (#id_taman, keterangan)

4. Hubungan entitas gedung dan entitas node kampus

a. Enterprise Rules

i. Satu gedung hanya memiliki satu centroid (node kampus).

ii. Satu centroid (node kampus) hanya bisa memiliki satu gedung.

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori

b. Diagram ER

memiliki Node kampusgedung

11

c. Tabel Skeleton

i. node_kampus (#gid, id_node)

ii. gedung (#id_gedung, nm_gedung)

5. Hubungan entitas ruang dan entitas node kampus

a. Enterprise Rules

i. Satu ruang hanya memiliki satu centroid (node kampus).

ii. Satu centroid (node kampus) hanya bisa memiliki satu ruang.

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori.

b. Diagram ER

memiliki Node kampusruang

11

c. Tabel Skeleton

i. node_kampus (#gid, id_node)

ii. ruang (#id_ruang, nm_ruang)

Page 8: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

35

6. Hubungan entitas lantai dan entitas node kampus

a. Enterprise Rules

i. Satu lantai hanya memiliki satu centroid (node kampus).

ii. Satu centroid (node kampus) hanya bisa memiliki satu lantai.

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori.

b. Diagram ER

memiliki Node kampuslantai

11

c. Tabel Skeleton

iii. node_kampus (#gid, id_node)

iv. lantai (#id_lantai, nm_lantai)

7. Hubungan entitas jalan dan entitas net kampus

a. Enterprise Rules

i. Satu segmen jalan hanya memiliki satu segmen net kampus.

ii. Satu segmen net kampus hanya bisa memiliki satu segmen

jalan.

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori.

b. Diagram ER

net kampusmemilikijalan

11

c. Tabel Skeleton

i. net_kampus (#gid, id_edge)

ii. jalan (#id_jalan, nm_jalan)

8. Hubungan entitas jalan setapak dan entitas net kampus

a. Enterprise Rules

i. Satu segmen jalan setapak hanya memiliki satu segmen net

kampus.

Page 9: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

36

ii. Satu segmen net kampus hanya bisa memiliki satu segmen

jalan setapak.

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori.

b. Diagram ER

net kampusmemilikijalan setapak

11

c. Tabel Skeleton

i. net_kampus (#gid, id_edge)

ii. jalan_setapak (#id_jalan_setapak, keterangan)

9. Hubungan entitas koridor dan entitas net kampus

a. Enterprise Rules

i. Satu segmen koridor hanya memiliki satu segmen net kampus.

ii. Satu segmen net kampus hanya bisa memiliki satu segmen

koridor.

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori.

b. Diagram ER

net kampusmemilikikoridor

11

c. Tabel Skeleton

iii. net_kampus (#gid, id_edge)

iv. koridor (#id_koridor, keterangan)

10. Hubungan entitas jalur lift dan entitas net kampus

a. Enterprise Rules

i. Satu segmen jalur lift hanya memiliki satu segmen net kampus.

ii. Satu segmen net kampus hanya bisa memiliki satu segmen jalur

lift.

Page 10: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

37

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori.

b. Diagram ER

net kampusmemilikijalur lift

11

c. Tabel Skeleton

i. net_kampus (#gid, id_edge)

ii. jalur lift (#id_jalur_lift, keterangan)

11. Hubungan entitas tangga dan entitas net kampus

1. Enterprise Rules

i. Satu segmen tangga hanya memiliki satu segmen net kampus.

ii. Satu segmen net kampus hanya bisa memiliki satu segmen

tangga.

iii. Hubungan kedua entitas tersebut adalah satu ke satu dan

berkelas non obligatori dan obligatori

2. Diagram ER

net kampusmemilikitangga

11

3. Tabel Skeleton

i. net_kampus (#gid, id_edge)

ii. tangga (#id_tangga, keterangan)

12. Hubungan entitas gedung dan entitas lantai

1. Enterprise Rules

i. Satu gedung pasti memiliki lebih dari satu lantai.

ii. Satu lantai pasti memiiki satu gedung.

iii. Hubungan kedua entitas tersebut adalah satu ke banyak dan

berkelas obligatori dan obligatori.

Page 11: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

38

2. Diagram ER

lantaigedung memiliki1 m

3. Tabel Skeleton

i. gedung (#id_gedung, nm_gedung)

ii. lantai (#id_lantai, id_gedung)

13. Hubungan entitas lantai dan entitas ruang

1. Enterprise Rules

i. Satu lantai pasti memiliki lebih dari satu ruang.

ii. Satu ruang pasti memiliki satu lantai.

iii. Hubungan kedua entitas tersebut adalah satu ke banyak dan

berkelas obligatori dan obligatori

2. Diagram ER

ruanglantai memiliki1 m

3. Tabel Skeleton

i. lantai (#id_lantai, id_gedung, nm_lantai)

ii. ruang (#id_ruang, id_lantai)

keterangan :

= non obligatori

= Obligatori

Diagram ER dari basis data batas secara keseluruhan akan diperlihatkan dalam

gambar 3.1.

Page 12: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

39

3.1.2.2 Tabel Skeleton

Berikut ini adalah tabel-tabel skeletonnya secara keseluruhan:

1. node_kampus (#id_node, id_node)

2. parkiran (#id_parkiran, keterangan)

3. taman (#id_taman, keterangan)

4. gedung (#id_gedung, nm_gedung)

5. ruang (#id_ruang, id_lantai, nm_ruang)

6. lantai (#id_lantai, id_gedung, nm_lantai)

7. lapangan (#id_lapangan, keterangan)

8. net_kampus (#gid, id_edge)

9. jalan (#id_jalan, nm_jalan, keterangan)

10. jalan_setapak (#id_setapak, keterangan)

11. koridor (#id_koridor, keterangan)

12. jalur lift (#id_jalur_lift, keterangan)

13. tangga (#id_tangga, keterangan)

node kampus

parkiran

taman

gedung

ruang

lantai

lapangan

net kampus jalan

jalan setapak

koridor

jalur lift

tangga

1m

m 1

11

1

1

1

1

1 1 1

1

1

1 1 1

1

1

1

1

1

1

1

m

m

1

1

1

Gambar 3.1 Relasi antara Entitas-entitas

Page 13: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

40

3.1.3 Tahap Implementasi

Tahap implementasi merupakan tahapan untuk membuat perancangan fisik

bagaimana menerapkan data dan model basis data sesuai dengan perangkat lunak

yang digunakan. Tahap implementasi ini mengacu kepada tahapan eksternal dan

tahapan konseptual yang dikerjakan sebelumnya.

3.1.3.1 Perangkat Pembangun

Dalam tugas akhir ini, perangkat lunak yang digunakan untuk membangun

aplikasi adalah sebagai berikut:

a. Autodesk Land Desktop 2004

b. ArcGIS 9.2

c. ArcScene 9.2

d. Postgresql versi 8.1.5

e. postgis-pg81 versi 1.2.1-1

f. pgRouting versi 1.0.1 win32

Sedangkan perangkat keras yang digunakan untuk membangun aplikasi ini adalah

sebagai berikut:

a. Processor : Intel(R) Pentium(R) 2.4 GHz

b. Hardisk : 80 Gb

c. Monitor : GIC 15"

d. RAM : 768 Mb

e. VGA Card : 128 Mb

3.1.3.2 Pembuatan Basis Data

Pembuatan basis data dilakukan dengan menggunakan perangkat lunak

PostgreSQL 8.2.7 ditambah dengan fungsi PostGIS. Pembuatan basis data

dilakukan dengan perintah :

CREATE DATABASE "kampus_3D"

WITH OWNER = "ginziro"

TEMPLATE = "template_postgis";

Page 14: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

41

3.1.3.3 Pembuatan Tabel-tabel

Pembuatan tabel-tabel dapat dilakukan dengan menggunakan command prompt

atau dengan menggunakan aplikasi 3rd

party (EMS SQL Manager for Postgresql)

pendukung postgresql. Perintah dalam command prompt :

psql –U ginziro kampus_3D

proses pembuatan tabel dan penyusunan hubungan antar tabel dilakukan dengan

menggunakan bahasa SQL data definition Language (DDL). Daftr DDL dapat

dilihat pada lampiran A.

CREATE TABLE "public"."net_kampus" (

"gid" SERIAL,

"the_geom" "public"."geometry",

"id_edge" INTEGER,

"source" INTEGER,

"target" INTEGER,

"length" DOUBLE PRECISION,

"x1" DOUBLE PRECISION,

"y1" DOUBLE PRECISION,

"z1" DOUBLE PRECISION,

"x2" DOUBLE PRECISION,

"y2" DOUBLE PRECISION,

"z2" DOUBLE PRECISION,

CONSTRAINT "enforce_dims_the_geom" CHECK (ndims(the_geom) = 3),

CONSTRAINT "enforce_geotype_the_geom" CHECK

((geometrytype(the_geom) = 'MULTILINESTRING'::text) OR (the_geom

IS NULL)),

CONSTRAINT "enforce_srid_the_geom" CHECK (srid(the_geom) = -1)

) WITH OIDS;

3.2 Pengolahan Data

3.2.1 Pengumpulan data

Data awal yang digunakan berupa basis data peta kampus ITB

(http://petakampus.itb.ac.id) dan data kontur Kampus ITB dalam format *.DWG

yang masing-masing mempunyai sistem koordinat proyeksi UTM zona 48S

dengan ellipsoid WGS84. Dari basis data peta kampus ITB, dilakukan query

sesuai dengan entitas-entitas yang ada pada tahapan konseptual yang kemudian

dilakukan konversi dari format *.SQL ke format *.SHP dengan menggunakan

aplikasi Qgis (Quantum GIS 0.10.0), sedangkan untuk data kontur dilakukan

konversi di Autocad kemudian dikonversi menjadi format TIN dengan

Page 15: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

42

menggunakan aplikasi ArcScene (ArcGIS 9.2). Dengan menggunakan aplikasi

ArcScene ini pula, dilakukan proses pembuatan 3D shapefile dari flie-file hasil

konversi (*.SHP) dari basis data peta kampus dan TIN. Data 3D shapefile ini

kemudian di konversi kedalam format *.DWG yang kemudian akan dilakukan

pendijitasian jalur jalan dengan menggunakan aplikasi Autocad Land Desktop

2004. Hasil dijitasi jalur jalan ini kemudian di rubah ke dalam format *.DFX dan

kemudian di konversi ke dalam format *.SQL untuk dimasukan kedalam basis

data. Untuk lebih jelasnya dapat dilihat pada gambar 3.2 skematik langkah

pengumpulan data.

Basis Data

Peta Kampus

Titik-titik

ketinggian

(*.shp)

TIN

Query Entitas

(sql)

Konversi *.SQL ke

*.SHP

Pembuatan 3D

shapefile

Konversi 3d

shapefile ke

*.DWG

No

Yes

Dijitasi jalur

jalan

Konversi *.DXF ke

*.SQL

Data Base

3D

KonturKoordinat base

Bangunan dan jalan

Quantum GIS

ArcScene

ArcScene

AutoCad

DXF converter

Gambar 3.2 Skematik Pengumpulan dan Pengolahan Data

Page 16: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

43

1. Konversi basis data (*.sql) ke shapefile (*.shp)

Tahapan ini adalah proses untuk mengambil data entitas beserta atributnya yang

ada pada basis data peta kampus ITB. Proses yang dilakukan menggunakan

aplikasi Quantum GIS dibantu dengan bahasa SQL (Structure Query Language).

Untuk dapat terhubung dengan server basis data peta kampus ITB, terlebih dahulu

mengisikan data seperti user, password, dan alamat host. Gambar 3.3 untuk

melakukan hubungan dengan basis data peta kampus ITB, dan gambar 3.4 hasil

query dari basis data peta kampus ITB.

Gambar 3.3 Koneksi dengan Server Basis Data Peta Kampus ITB

(http://petakampus.itb.ac.id)

Page 17: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

44

Gambar 3.4 Hasil Query pada Aplikasi Quantum GIS

Proses selanjutnya adalah melakukan query terhadap data yang ada di basis data

peta kampus ITB. Query yang dilakukan berdasarkan entitas-entitas yang ada

pada tahapan konseptual, yaitu parkiran, taman, gedung, ruang, lantai, jalan, dan

koridor. Untuk entitas-entitas yang tidak terdapat pada server basis data kampus

ITB sepert node kampus, net kampus, jalan setapak, jalur lift dan tangga,

dilakukan pendijitasian yang dilakukan di aplikasi AutoCad Land Desktop 2004.

Setelah mendapatkan query yang diinginkan, dengan aplikasi Quantum GIS ini,

akan dilakukan juga konversi ke format shapefile (*.shp). Konversi ke format

shapefile dilakukan berdasarkan query entitas yang dilakukan, sehingga nanti

akan didapat file-file entitas yang berformat shapefile.

2. Pembuatan TIN (Triangulated Irregular Network)

Tahapan ini adalah tahapan untuk mendapatkan data TIN dengan melakukan

intersection antara kontur ITB dengan bangunan dan jalan proses ini

menggunakan aplikasi Autocad Land Desktop 2004. Kemudian data hasil

intersection tersebut, diekstrak berupa titik setiap 2 meter. Hal ini dilakukan untuk

mendapatkan titik-titik ketinggian. Titik-titik ketinggian tersebut kemudian di

konversi ke dalam format shapefile. Kemudian format shapefile tersebut di

Page 18: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

45

konversi menjasi format TIN dengan cara diinterpolasi proses ini menggunakan

aplikasi ArcScene. Gambar 3.5 merupakan representasi titik-titik tinggi dalam

format shapefile, dan gambar 3.6 adalah TIN dalam aplikasi ArcScene

Gambar 3.5 Titik-titik Tinggi dalam Format Shapefile

Gambar 3.6 TIN Kampus ITB

3. Pembuatan 3D shapefile

Pada tahapan ini akan dilakukan pembuatan objek 3D yang berasal dari 2D

shapefile (x,y) yang kemudian digabungkan dengan data TIN untuk mendapatkan

data ketinggian (z). Pada pembuatan objek 3D ini, dilakukan proses interpolasi

pencarian nilai ketinggian (z) data 2D shapefile (x,y) terhadap TIN yang

mempuyai informasi ketinggian (z), sehingga akan didapatkan 3D shapefile yang

mempunyai format (x,y,z). Gambar 3.7 merupakan betuk 3D shapefile jalan dan

TIN.

Page 19: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

46

Gambar 3.7 Overlay Layer data Jalan dan TIN

4. Konversi 3D shapefile ke autocad

Tahap ini adalah tahapan untuk melakukan konversi dari 3D shapefile ke format

AutoCad (*.DWG). Tahapan ini menggunakan aplikasi toolbox yang berada pada

ArcScene.

3.2.2 Dijitasi jalur jalan

Tahapan ini adalah tahapan untuk mendapatkan data jalur jalan yang berasal dari

data-data Autocad (*.dwg) hasil konversi. Pembuatan jalur jalan ini harus sesuai

dengan tahapan konseptual yang telah dibuat, yaitu hanya berupa objek

node(tititk) dan garis (edge). Pendijitasian dilakukan terhadap as (tengah) jalur

jalan dan gedung (Gambar 3.8 dan gambar 3.9). Dalam melakukan pendijitasian,

terdapat beberapa aturan seperti:

Bagian akhir dari jalur selalu node

Jalur penghubung antar objek selalu edge

Pertemuan antara jalur penghubung selalu node

Page 20: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

47

Gambar 3.8 Pendijitasian Jalur Jalan di Autocad

Gambar 3.9 Hasil Pendijitasian Jalur pada Gedung Labtek IXC

Page 21: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

48

3.2.3 Konversi *.dxf ke format *.sql

Tahap ini adalah tahapan untuk melakukan konversi dari format Autocad (*.dxf)

ke basis data (*.sql). Tahapan ini menggunakan dxf converter yang dibuat dengan

menggunakan bahasa pemograman Visual Basic. Langkah yang digunakan

aplikasi koverter ini adalah membaca file *.dxf dari awal sampai akhir dengan

mengenali beberapa kata kunci seperti POLYLINE, VERTEX, TEXT, dan

ENDSEC. Kata-kata kunci ini mengandung informasi-informasi mengenai bentuk

geometri dari suatu objek. Setelah dibaca, kemudian ditulis kembali dalam format

SQL. Format SQL inilah nanti yang akan menjadi data untuk basis data yang

sedang dibangun. Gambar 3.10 Aplikasi Konverter dengan menggunakan Visual

Basic. Contoh Input masukan data *.dxf data jalan

VERTEX

5

94

8

JALAN

10

788240.42017730419

20

9238219.4996079318

30

756.436279296875

0

Gambar 3.10 Aplikasi Koverter dengan Menggunakan Visual Basic

Page 22: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

49

Contoh output hasil dalam format *.sql

INSERT INTO jalan (the_geom) VALUES (GeomFromEWKT('SRID=-

1;POLYGON((788235.3142944054 9238211.3602182511

756.436279296875))'));

3.3 Implementasi PgRouting dalam basis data 3D

3.3.1 Aplikasi PgRouting

Pgrouting merupakan fungsi untuk melakukan pencarian lintasan terpendek dalam

postgis/postgresql. Pgrouting merupakan bagian dari postlib, dimana postlib

merupakan inti aplikasi untuk Location Based Services (LBS) yang bersifat Open

Source Software (OSS). Pgrouting mempunyai beberapa algoritma dalam

memecahkan masalah mengenai pencarian jalur jalan, diantaranya:

1. Shortest Path Search

a) Dijkstra

b) A*

c) Shooting*

Pgrouting menggunakan fungsi yang dibangun dengan menggunakan bahasa C++,

yang kemudian di-compile menjadi library khusus yang akan dibaca oleh

Postgresql untuk melakukan query. Untuk lebih jelasnya ada pada gambar 3.11

Gambar 3.11 Cara kerja Pgrouting

(http://pgrouting.postlbs.org/wiki/WorkshopFOSS4G2007)

Fungsi-fungsi yang terdapat dalam Pgrouting telah menjadi satu kesatuan dalam

format library (librouting.dll) yang disimpan di tempat peng-installan postgresql.

Dalam tugas akhir ini disimpan di “C : \Program Files\PostgreSQL \8.2 \lib

Page 23: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

50

\librouting.dll”. Di dalam library ini disimpan algoritma-algoritma pencarian

lintasan terpendek antara lain :

a. shortest_path fungsi utama pencarian lintasan terpendek dengan

menggunakan algoritma Dijkstra.

b. shortest_path_astar fungsi utama pencarian lintasan terpendek dengan

menggunakan algoritma A*.

c. shortest_path_shooting_star fungsi utama pencarian terpendek dengan

menggunakan algoritma Shooting*.

Di dalam library ini pula, terdapat fungsi untuk pembuatan topologi jaringan yaitu

fungsi assign_vertex_id. Fungsi assign_vertex_id ini membuat dua tabel, yaitu

tabel kumpulan edge dan tabel kumpulan node. Proses yang dilakukan oleh fungsi

assign_vertex_id ini adalah melakukan inisialisasi terhadap semua edge dalam

tabel jaringan, yaitu menginisialisasi from node dan to node dengan toleransi

tertentu. Toleransi ini berfungsi untuk mengetahui apakah edge tersebut

berhubungan atau tidak, apabila dua edge tersebut mempunyai jarak kurang dari

toleransi, maka kedua edge tersebut berhubungan, sebaliknya apabila melebihi

nilai toleransi, maka kedua edge tersebut tidak mempunyai hubungan.

3.3.2 Memodifikasi fungsi-fungsi Pgrouting

Tahap ini adalah tahapan memodifikasi fungsi pgrouting yang sudah ada untuk

dapat membaca data 3D yang telah dibuat. Tahapan-tahapan tersebut adalah

(daftar DDL berada pada lampiran A) :

1. Memodifikasi fungsi “assign_vertex_id”

Fungsi ini bertujuan untuk pembuatan topologi jaringan yang nantinya dipakai

sebagai data inti dalam melakukan query spasial analisis jalur (routing). Adapun

scripts yang dirubah adalah

EXECUTE 'SELECT addGeometryColumn(''vertices_tmp'', ''the_geom'',

'||srid||', ''POINT'', 2)';

Menjadi

EXECUTE 'SELECT addGeometryColumn(''vertices_tmp'', ''the_geom'',

'||srid||', ''POINT'', 3)';

Page 24: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

51

Perubahan yang dilakukan adalah dengan merubah dimensi yang pada awalnya

2D hanya untuk memproses data koordinat XY menjadi 3D untuk koordinat XYZ.

2. Pembuatan fungsi “distance3d”

Fungsi ini bertujuan untuk mencari jarak antara dua titik dalam 3D. Fungsi ini

sebagai penghitungan jarak untuk pembuatan topologi. Berikut ini scripts

perhitungan jarak antara dua titik dalam 3D.

DECLARE

x1 DOUBLE PRECISION;

y1 DOUBLE PRECISION;

z1 DOUBLE PRECISION;

x2 DOUBLE PRECISION;

y2 DOUBLE PRECISION;

z2 DOUBLE PRECISION;

dist3d DOUBLE PRECISION;

BEGIN

x1 := x(pnt1); y1 := y(pnt1); z1 := z(pnt1);

x2 := x(pnt2); y2 := y(pnt2); z2 := z(pnt2);

dist3d := sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) + (z2-z1)*(z2-

z1));

RETURN dist3d;

END;

3. Modifikasi fungsi “point_to_id”

Fungsi ini bertujuan untuk mencari hubungan antar node-node. Apakah node-node

saling berhubungan atau tidak sesuai dengan toleransi yang diberikan.

distance(the_geom, point) < tolerance;

menjadi

distance3d(the_geom, point) < tolerance;

perubahan yang dilakukan adalah dengan merubah fungsi pembacaan jarak

(distance) yang asalnya untuk 2D menjadi 3D.

3.3.3 Uji coba perbandingan algoritma

Uji coba perbandingan ketiga algoritma (Dijkstra, A*, dan Shooting*) dilakukan

terhadap data yang mempunyai 23216 edge dan 7857 node. Uji coba ini dilakukan

untuk mengetahui perbandingan ketiga algoritma tersebut dari banyaknya node

terhadap waktu untuk melakukan query.

Dari hasil uji coba tersebut didapat, untuk algoritma Dijkstra dan A*,

perbandingan banyaknya node pencarian terhadap waktu hampir sama. Untuk

Page 25: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

52

algoritma Shooting* merupakan algoritma yang paling lama dibandingkan dengan

algoritma yang lain. Untuk lebih jelasnya ada pada gambar 3.12.

Gambar 3.12 Perbandingan Algoritma Dijkstra, A*, dan Shooting*

3.3.4 Pembuatan topologi

Tahapan ini menggunakan fungsi-fungsi pgrouting yang sudah dimodifikasi untuk

dapat membuat topologi jalur jalan. Adapun langkahnya adalah sebagao berikut :

1. Menambahkan tabel

Tabel-tabel tersebut adalah source, target, dan length. Tabel source berisi data

point titik awal segmen (from node), tabel target berisikan data point akhir segmen

(to node), dan length berisikan data jarak segmen tersebut. Adapun scripts

tersebut adalah

ALTER TABLE as_kampus ADD COLUMN source integer;

ALTER TABLE as_kampus ADD COLUMN target integer;

ALTER TABLE as_kampus ADD COLUMN length double precision;

2. Proses topologi jaringan jalur jalan

Proses tersebut dengan menggunakan fungsi “assign_vertex_id”. Dalam proses ini

tabel-tabel yang dibuat dalam langkah (1) akan terisi.

SELECT assign_vertex_id('net_kampus', 0.001, 'the_geom', 'gid');

UPDATE as_kampus SET length = length(the_geom);

3. Membuat index untuk tabel source, target, dan the_geom

Tahapan ini bertujuan untuk mempercepat proses dalam melakukan analisis jalur

jalan dan proses query lainnya.

CREATE INDEX source_idx ON as_kampus(source);

CREATE INDEX target_idx ON as_kampus(target);

0

500

1000

1500

2000

10 20 30 40 50 60 70 80 97

A*

Dijkstra

Shooting*

Node

mili

sec

Page 26: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

53

CREATE INDEX geom_idx ON as_kampus USING GIST(the_geom

GIST_GEOMETRY_OPS);

4. Menjalankan fungsi “short_path” Dijkstra query

Scritpts fungsi short path adalah

SELECT * FROM shortest_path('SELECT gid as id, source::integer,

target::integer, length::double precision as cost FROM

net_kampus', 735,660, false, false);

Hasil query ada pada gambar 3.13.

Gambar 3.13 Hasil Query Shortest Path

3.4 Uji coba desain dan implementasi PgRouting untuk analisis

pencarian jalur jalan 3D

3.4.1 Query deskripsi

Tahapan ini bertujuan untuk mendapatkan hasil query yang diinginkan. Untuk

tugas akhir ini, query tersebut diharapkan dapat memberikan informasi deskriptif

mengenai hasil analisis jalur yang dihasilkan. Seperti jarak antar segmen dan arah

belok (kiri atau kanan). Untuk mendapatkan hasil deskriptif tersebut, dilakukan

pembuatan fungsi dengan menggunakan bahasa pgsql. Pada gambar 3.14

merupakan diagram alur penentuan deskripsi arah.

Page 27: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

54

awal

akhir

Fungsi

short_path

Awal ke

akhir

3300 ≤ X < 300

Sdt_jur1 = sudut jurusan sebelum

Sdt_jur2 = sudut jurusan tujuan

30 ≤ X < 600

600 ≤ X < 1200

3000 ≤ X < 3300

1200 ≤ X < 1500

1500 ≤ X < 2100

2100 ≤ X < 2400

2400 ≤ X < 3000

Lurus

Kiri Depan

Samping Kiri

Kanan Lurus

Kiri Belakang

Belakang

Kanan Belakang

Samping Kanan

Yes

No

X=sdt_jur1 – sdt_jur2

Gambar 3.14 Diagram Alur Penentuan Deskripsi Arah

Dari fungsi short_path didapat query analisis jalur berupa id_vertex, edge_id, dan

cost. Hasil query tersebut kemudian akan menjadi variable untuk mendapatkan

atribut sudut jurusan masing node awal dan node akhir dari tabel net_kampus.

Untuk mendapatkan informasi deskripsi horisontal dari setiap node, dihitung

dengan mengambil selisih antara sudut jurusan pada node sebelum dikurangi

dengan sudut jurusan pada node tujuan. Besar selisih antara kedua sudut jurusan

tersebut akan menjadi variabel untuk menentukan deskripsi arah (belok kiri atau

belok kanan) terhadap node tujuan. Pada gambar 3.15 merupakan gambar besaran

sudut dan deskripsi arah.

Untuk mendapatkan informasi deskripsi vertikal dari setiap node, dihitung dari

perhitungan sudut secara vertikal di setiap node. Sudut vertikal tersebut di dapat

dari perhitugan:

, dimana

delta H = selisih tinggi antara node akhir – node awal

jarak = jarak antara dua node dalam 3D.

Page 28: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

55

Besar sudut tersebut akan menjadi variabel untuk menentukan deskripsi arah

(menaik atau menurun) terhadap node tujuan. Pada gambar 3.16 merupakan

besaran sudut terhadap arah vertikal.

Lurus

Samping

Kiri

Samping

Kanan

Belakang

Kiri

Belakang

Kanan

Belakang

Kiri DepanKanan

Depan

00

900

1800

2700

300

2100

2400

3000 60

0

1500

1200

3300

Gambar 3.15 Besaran Selisih Sudut dan Deskripsi Arah

00 - 30

0

300 - 60

0

600 - 90

0

Mendatar

Menaik/

menurun

Curam menaik /

Curam menurun

Gambar 3.16 Besaran Arah Vertikal

Page 29: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

56

3.4.2 Query dengan menggunakan fungsi shortest path

Query dilakukan untuk mendapatkan seluruh informasi mengenai analisis

penelusuran jalur. Informasi-informasi tersebut berupa informasi grafis (koordinat

XYZ) dan informasi deskriptif (deskriptif arah tujuan). Secara lengkap informasi

yang dihasilkan adalah vertex_id, gid, the_geom, jarak, a_jur, arah, dan deskripsi.

Query dilakukan berdasarkan (daftar SQL ada pada lampiran B):

1. Query antar gedung

a. dari gedung Labtex IX C ke Labtex III

b. dari gedung Labtex III ke Labtex IX C

c. dari ruang tamu lantai dasar gedung Labtex III ke Ruang seminar lantai

6 gedung Labtex IX C

d. dari ruang laboratorium lantai 4 gedung labtex IX C ke dapur lantai 4

gedung Labtex III

e. dari gerbang depan ITB ke ruang sistech lantai 3 gedung Labtex IX C

2. Query dalam gedung

a. dari Perpustakaan lantai 6 ke ruang 3105 lantai 1 gedung Labtex IX C

b. dari ruang dosen lantai 2 ke Labkom lantai 4 gedung Labtex III

3. Query jarak dekat

a. dari Tugu Soekarno ke Plaza Widya

b. dari parkiran Aula Timur ke Tugu Soekarno

4. Query jarak jauh

a. dari parkiran Aula Timur ke gedung Labtex III

b. dari parkiran Aula Barat ke gerbang belakang ITB

Gambar 3.17 merupakan contoh untuk analisis pencarian jalur jalan dari gedung

Labtek III ke gedung Labtek IXC dengan mempergunakan aplikasi ArcScene

dalam menampilkan hasil analisisnya. Kemudian gambar 3.18 merupakan suatu

deskripsi dalam bentuk tabel mengenai informasi-informasi hasil analisis jalur

terpendek dari gedung Labtek III ke gedung Labtek IXC. Daftar grafis dan

deskripsi ada pada lampiran C.

Page 30: BAB 3 DESAIN DAN IMPLEMENTASI ANALISIS PENCARIAN JALUR ... · b. Diagram ER Net kampus Node kampus to from m m 1 1. 33 c. Tabel Skeleton i. ... Diagram ER jalur lift memiliki net

57

Gambar 3.17 Contoh Hasil Pencarian Jalur Jalan (Labtex III ke Labtex IX C)

Gambar 3.18 Contoh Hasil Atribut Pencarian Jalur (Labtex III ke Labtex IX C)