Anda di halaman 1dari 55

BAB 2

LANDASAN TEORI

2.1 Pengertian Data

Menurut Turban (Turban, 2003, p15), data adalah fakta-fakta mentah atau

deskripsi dasar dari konsep-konsep, kejadian-kejadian, kegiatan-kegiatan, dan

transaksi yang dapat ditangkap, direkam, disimpan dan dikelompokkan, tetapi tidak

terorganisasi dalam membawakan arti tertentu. Jadi data merupakan bentuk yang

masih mentah yang belum dapat bercerita banyak sehingga masih perlu diolah lebih

lanjut.

2.2 Pengertian Informasi

Informasi adalah kumpulan fakta-fakta (data) yang sudah terorganisasi dalam

suatu cara sehingga dapat berarti bagi penerima (Turban, 2003, p15). Dengan

demikian informasi dapat menjadi masukan yang berguna dalam pengambilan

keputusan.

2.3 Pengertian Sistem

Sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya

saling bekerja sama membentuk satu kesatuan untuk mencapai tujuan tertentu

(Prahasta, 2002, p37). Berdasarkan pengertian tersebut maka sistem harus dapat

8
9

dirancang sedemikian rupa agar dapat bekerja secara efisien sehingga apa yang

menjadi sasaran dari sistem tersebut dapat tercapai.

2.4 Sistem Informasi Geografi

2.4.1 Pengertian Sistem Informasi Geografi

Sistem Informasi Geografi (SIG) didefinisikan sebagai komputer yang

membantu sistem untuk menangkap, menyimpan, mengambil kembali,

analisis, dan menampilkan data spasial.

(http://www.sli.unimelb.edu.au/gisweb/GISModule/GISTheory.htm).

Sistem Informasi Geografi (SIG) adalah perangkat lunak komputer

yang menghubungkan informasi geografi (dimana sesuatu berada) dengan

informasi deskriptif (apakah sesuatu itu). Tidak seperti peta di kertas datar,

dimana “Apa yang kita lihat yang kau dapatkan”, SIG merepresentasikan

banyak layer untuk berbagai informasi.

(http://www.sli.unimelb.edu.au/gisweb/GISModule/GISTheory.htm).

2.4.2 Komponen Utama SIG

Menurut Marble, ada 4 komponen utama dalam SIG yang benar yaitu:

1. Sistem Input Data

Mengumpulkan dan atau memproses spasial data dari sumber-sumber

yang ada, seperti peta, remote sensing data, gambar, dan lain-lain.
10

2. Penyimpanan dan Pengambilan Kembali Data

Mengorganisasikan data spasial dan memperbolehkan untuk

pengambilan dan perubahan data dengan cepat.

3. Analisis dan Manipulasi Data

Memperbolehkan untuk perubahan bentuk data, model simulasi,

perbandingan spasial sementara.

4. Hasil/Keluaran

Menampilkan basis data spasial dan analisis dalam grafik

(misalnya peta) atau dalam bentuk form tabular.

2.4.3 Perbandingan Keuntungan Data Digital Dengan Data Analog

Keuntungan dari data digital dengan data analog dijabarkan pada

tabel di bawah ini

(http://www.sli.unimelb.edu.au/gisweb/GISModule/GISTheory.htm) :

Digital Analog

Mudah diupdate Harus mengubah seluruh peta

jka ada perubahan.

Transfer data mudah dan cepat Transfer data lambat ( harus

(melalui internet) melalui pos)

Media penyimpanan yang Media penyimpanan yang

diperlukan adalah relatif kecil (alat- diperlukan adalah relatf besar

alat digital) (perpustakaan peta tradisional)


11

Mudah untuk dipelihara Peta kertas tidak terintegrasi (sulit

untuk dipelihara)

Mudah dianalis dengan automatis Sulit dan tidak akurat untuk

dianalisis (contohnya untuk

mengukur area dan jarak)

Tabel 2.1 Perbandingan keuntungan antara data digital dan data


analog

2.5 Basis Data Spasial

2.5.1 Pengertian Data Geospasial (Geografis)

Data geospasial mempunyai komponen spasial dan komponen

tematik. Secara konsep, data geografik bisa dibedakan menjadi 2 elemen

yaitu observation / entity dan attribute / variable. Sistem Informasi

Geografis dapat mengatur keduanya.

Observation mempunyai dua aspek dalam lokalisasinya yaitu

lokalisasi berdasarkan sistem koordinat dan hubungan topologikal yang

menunjuk ke observation lain. Contohnya : The Department of Geomatics

berlokasi di posisi X dan Y tertentu, atau The Department of Geomatics

terletak diantara Grattan Street dan Old Engineering Building. SIG

berkemampuan memanage kedua-duanya, sementara computer assisted

cartography ( komputer pembantu perpetaan ) hanya dapat mengatur

salah satunya.

Thematic component. Suatu variabel atau atribut bisa dipelajari

mengenai aspek tematiknya (untuk ilmu statistika), aspek lokasinya


12

(untuk analisis spasial) atau kedua-duanya (SIG).

(http://www.sli.unimelb.edu.au/gisweb/GISModule/GISTheory.htm).

Dua tipe dasar di SIG (Sistem Informasi Geografis) yaitu :

a. Spatial data , berguna untuk mendeskripsikan lokasi dan bentuk

dari fitur/unsur geografi dan hubungan spasial dengan fitur/unsur

lain.

Spatial data itu sendiri mencakup :

o locational data, merupakan data yang menginformasikan

letak/lokasi fitur-fitur.

o topological data, merupakan data yang menginformasikan

letak fitur dalam hubungannya dengan fitur lain.

b. Attribute data, berguna untuk mendeskripsikan informasi tentang

data spasial.

(http://www.umsl.edu/~campbell/ SPATDAT1_F00.htm).

2.5.2 Pengertian Basis Data Spasial

Basis data spasial didefinisikan sebagai kumpulan data-data

geospasial yang saling berhubungan, yang dapat menangani dan

memelihara data-data besar yang dapat dibagi antara aplikasi-aplikasi SIG

yang berbeda-beda. Syaratnya adalah mengatur data yang berhubungan

dengan beberapa ruang.

Yang perlu direpresentasikan dalam basis data ini adalah objek di

dalam ruang dan ruang itu sendiri.


13

1. Objek di dalam ruang itu sendiri misalnya seperti gambar di bawah ini :

kota Jakarta :

area kota :

Gambar 2.1 Area Kota

sungai : rutenya

Sungai Ciliwung

Gambar 2.2. Sungai Ciliwung

2. Ruang

Ruang adalah pernyataan tentang setiap titik dalam ruang ( dalam raster

image ) misalnya peta pemukiman, peta sarana dan transportasi.


14

2.5.3 SIG dalam Vektor

Vektor adalah struktur data, digunakan untuk menyetor data

spasial. Data vektor adalah terdiri dari arc atau rusuk. , yang didefinisikan

awal dan akhirnya dengan titik, yang disebut node. Namun bagaimanapun

penyimpanan data dalam bentuk vektor hanya menampilkan titik-titik

yang mendefinisikan fitur di semua ruang. Di luar fitur-fitur ini tidak

ditampilkan.

Data berbasiskan vektor didefinisikan sebagai representasi vektor

dari data geografis. Berkenaan dengan karakteristik data model itu, objek

geografis secara eksplisit direpresentasikan, dan didalam karakteristik

spasial, aspek tematik / atribut juga berhubungan. Ada beberapa jalan

dalam mengorganisasi basis data ganda (spasial dan tematik/atribut).

Umumnya, sistem vektorial dikomposisikan dari 2 komponen: yang satu

mengatur data spasial dan yang satu mengatur data tematik. Ini dinamakan

hybrid organization system, yang adalah sistem yang menghubungkan

data secara relasional untuk atribut dari topologi untuk data spasial.

Elemen kunci dari tipe sistem ini adalah identifier(penunjuk) dari setiap

objek. Identifier ini bersifat unik dan berbeda untuk setiap object dan

mengijinkan sistem untuk menghubungkan antara basis data

(http://www.sli.unimelb.edu.au/gisweb/GISModule/GISTheory.htm).

2.5.3.1 Representasi Vektor dari Data

Di dalam model berbasis vektor, data geospasial

direpresentasikan dalam bentuk koordinat. Di dalam vektor data,


15

unit terdasar dari informasi spasial adalah point (titik), line / arc

(garis) dan polygon. Line adalah kumpulan dari point yang

berelasi, dan polygon adalah kumpulan dari line yang berelasi.

Coordinate (koordinat) yaitu sepasang angka yang

mengekspresikan jarak horisontal sepanjang sumbu orthogonal

dengan angka yang mengukur jarak horisontal dan vertikal, atau n

angka yang mengekspresikan lokasi yang akurat dalam bidang n

dimensi. Koordinat secara general merepresentasikan lokasi di

permukaan bumi relatif ke lokasi lain. Sedangkan point atau titik

adalah abstraksi dimensional 0 dari sebuah representasi objek oleh

koordinat tunggal X,Y. Point umumnya merepresentasikan fitur

geografi yang terlalu kecil ditampilkan sebagai arc atau area.

Sebagai contoh, lokasi dari lokasi bangunan di atas peta skala

kecil, atau lokasi dari servis dilapisi oleh skala map medium

menengah.

Arcs adalah sekumpulan dari koordinat tertentu yang

merepresentasikan bentuk dari fitur geografik terlalu terbatas

untuk ditampilkan sebagai area di skala yang diberikan (countour,

jalan atau streams) atau fitur linear tanpa area n(county boundary

lines). Arc adalah sinonim dari rusuk. Rusuk adalah bagian

ARC/INFO yang digunakan sinonim dengan arc. Sedangkan

polygon adalah fitur digunakan untuk merepresentasikan area.

Polygon didefinisikan dengan arcs yang menghiasi boundary dan

point di dalam boundary untuk pengidentifikasian. Polygon


16

mempunyai atribut yang mendeskripsikan fitur geografi yang

mereka representasikan.

Ada beberapa vektor model untuk menyediakan dan

mengatur vektor informasi. Setiap dari mereka memiliki

keuntungan dan kerugian

(http://www.sli.unimelb.edu.au/gisweb/GISModule/GISTheory.ht

m).

2.5.3.2 Model-Model Vektor

1. Daftar dari Koodinat “spaghetti” (gambar 2.3)

Gambar 2.3 List of coordinates “spaghetti”

Karakteristik dari model verteks List of coordinates

“spaghetti” :

- Sederhana

- Mudah diatur

- Tidak topologi
17

- Banyak duplikasi, hingga butuh untuk tempat

penyimpanan besar.

- Sering dipakai di CAC (Computer Assisted

Cartography)

2. Vektor dictionary (gambar 2.4)

Gambar 2.4 Vertex Dictionary

Tidak ada duplikasi, tapi tetap tidak menggunakan

topologi.
18

3. Dual independent Map Encoding (DIME) (gambar 2.5)

Gambar 2.5 Dual independent Map Encoding (DIME)

- Dikembangkan oleh US Bureau of the Cencus.

- node-node (interseksi dari arcs) diidentifikasi dengan code.

- Menempatkan code langsung di dalam form dari suatu

“from node” dan suatu “to node”

- kedua alamat jalan dan UTM koordinat adalah eksplisit

teridentifikasi untuk setiap link.


19

4. arc/node (gambar 2.6)

Gambar 2.6 Arc / Node

Tabel 2.2 Coordinates of nodes and vertex for all the arcs

Tabel 2.3 Arcs Topology


20

Tabel 2.4 Polygons Topology

Tabel 2.5 Nodes Topology

2.5.3.3 Topologi Arc Node

Topologi mendefinisikan hubungan spasial antara fitur-

fitur. Konsep dasar topologi adalah sebagai berikut:

1. Setiap garis/arc memiliki node awal dan akhir (arah).

2. Arc yang terhubung ke arc lain pada node - node

(koneksi/hubungan).

3. Arcs yang terhubung yang mengelilingi sebuah area

membentuk polygon (mempunya area dan perimeter).

4. Arc memiliki sisi kiri dan kanan (adjacency).


21

Topologi arc node yaitu hubungan topologikal antara

node-node (titik) dan arcs (garis) dispesifikasikan dengan

FNODE# dan TNODE#. FNODE# (from node number)

merupakan titik awal dari arc, dan TNODE# (to node number)

merupakan titik akhir dari arc.

ARC# FNODE# TNODE#

1 2 1

2 1 4

3 1 3

4 3 4

Tabel 2.6 Topologi Arc Node

Gambar 2.7 Representasi Topologi Arc Node

Topologi polygon arc adalah hubungan topologikal antara

arc dan polygon yang dispesifikasikan dengan LPOLY# dan

RPOLY#. LPOLY# (left polygon number) merupakan poligon di

sebelah kiri arc sedangkan RPOLY# (right polygon number)

merupakan polygon di sebelah kanan arc. Untuk menentukan


22

apakah polygon itu kiri atau kanan didasarkan pada arah arc,

ARC/INFO menciptakan polygon universal untuk

merepresentasikan semua area di luar cakupan polygon yang ada.

Polygon universal itu biasa disebut POLY#1. Polygon dikatakan

berpotongan jika mereka berbagi arc (contoh: polygon 1 dan 2

berpotongan, tapi polygon 3 dan 4 tidak berpotongan). Nilai nol

dari sebuah ARC# menunjukkan ada sebuah polygon atau lubang

di dalam polygon lain.

ARC# FNODE# TNODE# LPOLY# RPOLY#


1 1 2 1 2
2 1 3 2 1
3 3 2 2 4
4 2 4 1 4
5 4 3 1 4
6 5 5 2 3
Tabel 2.7 Topologi polygon arc

POLY# ARC#

1 1,4,5,2

2 1,3,2,0,6

3 6

4 4,5,3

Tabel 2.8 Himpunan Anggota Polygon


23

Gambar 2.8 Representasi Polygon Arc

Fitur tabel atribut juga mengandung atribut tambahan

sebagai berikut:

1. Point mempunyai Point Atrribute Tables (PAT) yang

mengandung kolom :

Area Perimeter Cover# Cover-ID

(Area dan Perimeter selalu mempunyai nilai 0)

2. Arc juga mempunyai Arc Attribute Tables (AAT) yang

mengandung kolom :

Fnode# Tnode# Lpoly# Rpoly# Length

Cover# Cover-ID

3. Polygon mempunyai Polygon Attribute Tables yang

mengandung kolom :

Area Perimeter Cover# Cover-ID

Record pertama di tabel atribut polygon merepresentasikan

polygon universal. Area di polygon universal adalah jumlah dari


24

semua area di dalam tabel PAT. Perimeter di polygon universal

adalah keliling dari semua cakupan polygon yang ada.

Data atribut menyediakan informasi yang lebih deskriptif

mengenai fitur di peta. Di dalam ArcView dan ARC/INFO, data

atribut dihubungkan dengan data spasial oleh kolom penghubung.

Di dalam ARC/INFO atribut data file disebut fitur tabel atribut.

Feature Coordinates

Street # X, Y Coordinates

1 3,5 5,5

2 5,5 9,5

3 9,5 11,5

4 6,8 6,7 5,6 5,5

5 9,5 9,3

Tabel 2.9 Feature Coordinates

Feature Attributes

Street
Street_type Surface Width Name
#

Main
1 1 48
Asphalt St.

Main
2 1 48
Asphalt St.
25

Main
3 1 48
Asphalt St.

Elm
4 2 36
Asphalt Ave.

5 3 30 7th St.
Asphalt

Tabel 2.10 Feature Attributes

Spasial joins menghubungkan atribut pada tabel di lokasi

spasial dengan fitur di sumber dan tujuan tema. Ada 3 landasan

untuk spasial joins, bergantung pada tipe fitur dari sumber dan

tujuan tema. “Kedekatan” adalah “sepenuhnya di dalam” atau

“adalah bagian dari”.

Join Type Source Destination Basis for


Theme Theme Spatial Join
Point-to- Point Point Nearness
Point
Line-to-Point Point Line Nearness
Point-to-Line Line Point Nearness
Point-in- Polygon Point Are Completely
Polygon Within
Line-in- Polygon Line Are Completely
Polygon Within
Polygon-in- Polygon Polygon Are Completely
Polygon Within
Line-in-Line Line Line Are Part Of
Tabel 2.11 Spatial Joins
26

Untuk point ke point, arc ke point, atau point ke arc spasial

join, setiap record di tabel tujuan ditambah dengan kolom dari

tabel sumber yang berkoresponden dengan fitur terdekat di tema

sumber. Kolom baru berlabel Jarak juga ditambahkan ke tabel

tujuan. Kolom baru ini berisikan jarak dari setiap fitur di tabel

tujuan ke fitur terdekat di tabel sumber. Polygon ke polygon

spasial join mirip dengan menambah atribut dari polygon sumber

ke polygon tujuan di dalam polygon sumber. Dikatakan bahwa

point ke polygon, arc ke polygon, dan polygon ke polygon spasial

joins menjadi ambigu ketika fitur (point, arc, atau polygon) ada di

dua atau lebih polygon di tema sumber. Dalam kasus ini, record

tujuan menerima kolom atribut kosong sejak dua atau lebih record

pada tabel sumber overlap record tujuan. Ada kesamaan

ambiguitas ketika sebuah point atau arc terletak tepat di batas

antara dua polygon.

(http://www.umsl.edu/~campbell/SPATDAT1_F00.htm).

2.5.4 SIG dalam Raster

Struktur data raster merepresentasikan data spasial menggunakan

tabular atau struktur grid baris dan kolom. Setiap lokasi di sel bujur

sangkar mempunyai baris dan kolom. Fitur-fitur spasial seperti arc dan

polygon direpresentasikan dengan kumpulan dari sel dengan nilai yang

bersangkutan. Point direpresentasikan dengan satu sel. Sebagai contohnya

grid di sebelah kiri di bawah ini digunakan untuk merepresentasikan


27

point, arc, dan polygon di sebelah kanan. Setiap sel di grid mengandung

nilai (atau tidak ada data). Sebagai contohnya, sel tunggal

direpresentasikan point bisa mempunyai nilai 1. 20 sel merepresentasikan

arc bisa mengandung nilai 2, dan 31 sel merepresentasikan polygon bisa

mengandung nilai3. Warna yang berbeda dan/atau pola bisa menentukan

sel berbeda dari yang ditampilkan.

Gambar 2.9 Representasi point, arc, dan polygon dalam raster

Gambar 2.10 Representasi point, arc, dan polygon dalam


vektor

Masalah terpenting untuk bekerja dengan data grid adalah ukuran

sel. Semakin kecil sel menyediakan lebih akurat, tapi membutuhkan data
28

lebih banyak dan memperlambat analisis. Mengurangi ukuran sel dari 50

meter persegi menjadi 10 meter persegi (a faktor dari 5) menambah

jumlah dari sel, dan karena itu banyak data menjadi a faktor dari 25.

2.5.4.1 Representasi data dengan Raster

Raster adalah metode untuk penyimpanan, memproses dan

menampilkan data spasial. Setiap data dibagi menjadi baris dan

kolom, dimana bentuknya struktur grid regular. Setiap sel adalah

bentuk persegi panjang, tapi tidak harus bujur sangkat. Setiap sel

dalam matriks ini mengandung lokasi koordinat sebaik nilai

atribut. Lokasi spasial dari setiap sel adalah secara implisit

mengandung dalam order matriks, tidak seperti struktur vektor

yang menyimpan topologi secara eksplisit. Area mengandung nilai

atribut yang sama , nsmun struktur raster bisa mengidentifikasikan

wilayah seperti area dalam polygon.

Struktur raster mungkin memulai untuk meningkatkan

penyimpanan dalam situasi tertentu, sejak mereka menyimpan

setiap sel dalam matriks tanpa menghiraukan apakah itu feature

atau hanya tempat kosong. Berbagai tipe analisis adalah

memungkinkan dengan banyak grid. Setiap operasi analisis grid

memproduksi output grid baru berdasarkan satu atau banyak input

grid. Analisis grid bisa dibagi menjadi 4 kategori: operasi lokal,

operasi fokal, operasi zonal, dan operasi global. Pada operasi

lokal, nilai dari sel di output grid ditentukan dari korespondensi


29

nilai-nilai sel dari grid input. Menambahkan 2 grid sel ke sel,

seperti ditunjukkan gambar di bawah ini, adalah operasi lokal.

Gambar 2.11 Operasi Lokal

Di operasi fokal, setiap nilai sel di output grid ditentukan

menggunakan nilai dari sel tetangga di grid input, seperti yang

ditunjukkan gambar di bawah ini:

Gambar 2.12 Operasi Fokal

Varietas operasi fokal mengkalkulasi untuk setiap sel

nomor di nilai terjadi di setiap sel dan tetangganya, seperti

ditunjukkan di bawah ini:


30

Gambar 2.13 Varietas Operasi Fokal

Operasi zonal memerlukan 2 grid. 1 grid menjelaskan zona

dari nilai yang serupa. Grid yang kedua mengandung nilai untuk

analisis. Setiap nilai sel di output grid ditentukan berdasarkan

analisis dari nilai dari semua sel di dalam setiap zona. Di contoh

berikut ini, grid pertama mengandung 3 zona (ditentukan oleh

nilai 1, 2, dan 5) dan output grid mengandung nilai rata-rata untuk

setiap zona dari nilai-nilai di grid kedua.

Gambar 2.14 Operasi Zonal

Pada operasi global, nilai di setiap sel di output grid adalah

fungsi di seluruh grid. Sebagai contoh, grid jarak bisa dikalkulasi

dari banyak sumber point, dimana setiap nilai di setiap sel di

output grid adalah jarak terdekat ke sel dari point sumber. Di

contoh di bawah ini, ada 2 point sumber dan setiap sel adalah
31

panjang dan lebar 1 unit. Jarak adalah dihitung antara sel-sel di

tengah.

Gambar 2.15 Contoh Perhitungan Jarak

Satu tipe umum dari analisis dengan grid adalah untuk

mengidentifikasikan daerah-daerah yang sesuai dengan kriteria

tertentu. Ini dapat diistilahkan pemilihan tempat atau analisis

kesesuaian. Sebagai contohnya, jika tujuannya adalah

mengidentifikasikan tempat yang baik untuk pengenalan kembali

serigala, seseorang bisa mengkombinasikan grid ketersediaan

makanan dan air, grid serangan serigala, grid persaingan dengan

gerombolan serigala yang telah ada, dan grid tempat hidup

manusia untuk menghasilkan grid akhir yang sesuai dengan

keadaan tersedianya makanan dan minuman, jauh dari predator,

bersaing dengan gerombolan serigala dan tempat hidup manusia

untuk keberhasilan pengenalan kembali.

Biasanya tiap grid individu diubah menjadi grid yang lebih

sederhana di mana setiap sel mengandung 0 jika tidak sesuai atau

1 jika sesuai. Grid-grid masing-masing untuk setiap kriteria, bisa

lebih mudah dikombinasi dengan pertambahan atau perkalian

untuk memproduksi grid akhir yang mengindikasi grid akhir yang


32

sesuai dengan semua kriteria. Sebagai contoh, penambahan 2 grid

kesesuaian mengandung 0 atau 1 memproduksi grid kesesuaian

akhir dengan nilai 2 menyatakan sel yang cocok dengan kriteria.

Gambar 2.16 Penjumlahan Grid

Perkalian 2 grid kesesuaian memproduksi grid kesesuaian

akhir seperti di bawah ini dan nilai 1 menyatakan grid yang sesuai.

Gambar 2.17 Perkalian Grid

Tipe analisis umum yang lainnya adalah

mengkombinasikan grid untuk menentukan biaya keluaran.

Sebagai contohnya, jika tujuannya untuk menentukan jalur yang

disukai untuk dilewati oleh 2 binatang di antara 2 bidang tanah.

Seseorang mungkin bisa mengkombinasikan antara jenis

vegetarian, lereng dan aliran sungai. Nilai berbeda di setiap sel

grid mengidentifikasikan bedanya derajat kesulitan atau biaya,

untuk melewati sel-sel. Sebagai contoh, lereng curam mempunyai

biaya yang tinggi, lereng datar mempunyai biaya yang rendah.

Untuk beberapa binatang, padang rumput mempunyai biaya yang


33

tinggi untuk hewan pemangsa, sementara untuk beberapa binatang

padang rumput mempunyai biaya yang rendah ntuk kemudahan

melakukan perjalanan. Untuk mengkombinasikan grid ongkos,

grid biaya akhir bisa diperoleh. Dengan grid akhir tersebut, biaya

terkecil yang menghubungkan 2 bidang dapat ditentukan

(http://www.umsl.edu/~campbell/RASTER1_F00.htm).

2.5.5 Perbandingan struktur data vektor dan struktur data raster

Struktur data raster menawarkan beberapa keuntungan dari

struktur data vektor:

- Struktur data raster bekerja dengan lebih sederhana

- Map overlays (luaran peta) dapat diselesaikan dengan lebih

efisien.

- Permukaan yang terus menerus (kepadatan populasi, lereng, dan

sebagainya) bisa direpresentasikan dengan lebih baik.

- Banyak data yang dibuat dalam format raster (gambar satelit, foto

antena, dan lain-lain).


34

Struktur data raster juga mempunyai beberapa kelemahan dibandingkan

dengan struktur data vektor:

- Hubungan topologi lebih sukar didirikan dan diatur.

- Keakuratan dari analisis spasial bisa menjadi masalah. Sebagai

contohnya, panjang dari arc, area dari polygon, sulit untuk

ditentukan dalam set data raster.

- Penyimpanan data bisa menjadi tidak efisien, sejak banyaknya sel

yang mempunyai nilai yang sama untuk merepresentasikan fitur

yang sama. Juga sel yang paling kecil diperlukan untuk

meningkatkan keakuratan.

- Peta raster menjadi menjadi kurang atraktif.

- Transformasi data dalam struktur raster (rotasi) dan dari raster ke

vektor bisa menjadi persoalan.

Untuk peta parkir dapat dispasial atau disegmentasi berdasarkan

tempat-tempat yang dapat digunakan parkir mobil dengan data pembobot

atau data jarak tempat parkir tersebut dengan pintu gerbang parkir. Data

pembobot ini merupakan data prioritas suatu tempat jika mempunyai jarak

yang sama, agar bisa dibedakan atau bisa juga prioritas tempat tersebut

dapat ditempati secara berurutan atau dengan prasyarat tertentu

(http://www.umsl.edu/~campbell/RASTER1_F00.htm).
35

2.6 Basis Data Relasional

2.6.1 Pengertian Basis Data

Basis data adalah kumpulan data yang terhubung secara logika

yang bisa dipakai secara bersama dan deskripsi mengenai data tersebut

yang didesain untuk memenuhi kebutuhan informasi dari sebuah

organisasi (Connolly, 2002, p14).

2.6.2 Basis Data Relasional

Di dalam basis data relasional, data dimasukkan ke dalam table

yang dimana baris merepresentasikan objek atau entitas dan kolom

merepresentasikan atribut/variabel. Basis data biasanya terdiri dari

beberapa tabel dan relasi diantara mereka adalah melalui 2 variabel

dengan penunjuk (identifiers), satu diantara mereka adalah unik dan

korelatif. Bisa jadi angka atau alfabet. Dan yang kedua mungkin diulang

dan untuk menolong mengorganisasi tabel atribut.

Keuntungan menggunakan basis data model ini adalah :

- Desain ini berdasarkan metodologi dengan basis teroritik berat,

dimana menawarkan kepercayaan diri di dalam kapasitasnya untuk

dikembangkan.

- Menjadi sangat mudah untuk mengimplementasikannya, terutama

dalam perbandingan dengan model lain seperti hirarikal, jaringan

dan object oriented.

- Menjadi sangat fleksibel. Bisa menambahkan tabel dengan mudah.


36

- Terakhir, banyak DBMS unggul lainnya menggunakan pendekatan

mengandung bahasa query (seperti SQL) ini yang membuat mudah

untuk memasukan alat ini ke SIG.

Basis data yang biasa digunakan dalam SIG adalah basis data relational.

Penggunaan SIG dengan basis data berorientasi objek sedang

dikembangkan.

2.6.3 Basis Data Berorientasi Objek

Berdasarkan objek, pendekatan ini bisa didefinisikan sebagai

entitas dengan lokalisasi dengan nilai dan dengan operasi grup. Jadi,

keuntungan dalam perbandingan dengan basis data relasional berdasarkan

inklusi, dalam definisi objek, tidak hanya atribut namun juga metode atau

operasi yang dibuat objek. Sebagai tambahan, objek-objek adalah

kepunyaan kelas yang dapat mempunyai variabel mereka sendiri dan kelas

ini dapat merupakan kepunyaan dari super kelas

(http://www.sli.unimelb.edu.au/gisweb/GISModule/GISTheory.htm).

2.7 Pengertian Manajemen

Menurut James A.F. Stoner, manajemen adalah suatu proses perencanaan,

pengorganisasian, kepemimpinan, dan pengendalian upaya dari anggota

organisasi serta penggunaan semua sumber daya yang ada pada organisasi untuk

mencapai tujuan organisasi yang telah ditetapkan sebelumnya

(http://organisasi.org/pengertian_definisi_dari_manajemen).
37

Manajemen menggolongkan proses memimpin dan mengarahkan semua

atau sebagian organisasi (biasanya sebuah bisnis) melalui penyebaran dan media

sumber (manusia, finansial, material, intelektual, dan hal-hal lain yang tidak kasat

mata). Kata manage berasal dari bahasa Italia maneggiare, yang juga didapatkan

dari bahasa Latin manus, tangan. Seseorang dapat juga berpikir tentang

manajemen secara fungsional, sebagai sebuah tindakan untuk mengukur suatu

kuantitas secara teratur dan tentang menyesuaikan beberapa rencana awal; atau

sebagai tindakan yang diambil untuk mencapai tujuan yang dihadapkan

seseorang. Ini berlaku bahkan di situasi ketika perencanaan tidak ada. Menurut

pendapat Henry Fayol, manajemen terdiri dari lima fungsi yaitu perencanaan,

pengorganisasian, kepemimpinan, koordinasi, serta pengontrolan

(http://en.wikipedia.org/wiki/Management).

Sedangkan menurut Kamus Besar Bahasa Indonesia Edisi kedua pada

halaman 623, manajemen adalah :

1. proses penggunaan sumber daya secara efektif untuk mencapai

sasaran.

2. pimpinan yang bertanggung jawab atas jalannya perusahaan dan

organisasi.

2.8 Pengertian Parkir

Definisi parkir adalah sebagai berikut

(http://www.thefreedictionary.com/park) :
38

1. Suatu posisi dimana suatu transmisi otomatis melepaskan gigi persneling

dan mengerem sehingga sarana (angkut) itu tidak dapat dipindahkan atau

digerakkan.

2. Untuk meletakkan atau meninggalkan kendaraan untuk beberapa waktu

pada lokasi tertentu.

Selain itu, pengertian parkir menurut Kamus Besar Bahasa Indonesia

Edisi kedua pada halaman 731 adalah menghentikan atau menaruh (kendaraan

bermotor) untuk beberapa saat di tempat yang sudah disediakan.

2.9 Pengertian Algoritma

Berdasarkan buku Computer Algorithms/C++ (Horowitz et al, 1998, p1)

terdapat beberapa pengertian mengenai algoritma, antara lain:

• Algoritma adalah metode yang dapat dipakai oleh komputer untuk

menyelesaikan suatu masalah. Pengertian ini dikemukakan pertama kali

oleh Abu Ja’far Mohammad ibn Musa al Khowarizmi dari Persia pada

bukunya yang berjudul Kitab al-jabr w’al-muqabala (Rules of

Restoration and Reduction). Dari sinilah istilah algoritma pertama kali

dikenal.

• Algoritma adalah urut-urutan terbatas dari operasi-operasi yang terdefinisi

dengan baik yang masing-masing membutuhkan memori dan waktu yang

terbatas untuk menyelesaikan suatu masalah.

• Algoritma adalah sekumpulan instruksi yang harus dijalankan dan harus

berakhir prosesnya dengan mengeluarkan suatu keluaran.


39

Dari beberapa pengertian diatas dapat ditarik suatu kesimpulan bahwa

algoritma adalah urutan langkah-langkah penyelesaian masalah yang disusun

secara sistematis

2.10 Metode Shortest Path

2.10.1 Pengertian Shortest Path

Pencarian rute atau path terpendek antar-node yang ada pada

graph. Biaya (cost) yang dihasilkan adalah yang paling minimum

(Horowitz et al, 1998, p241). Berdasarkan pengertian pada digraph (2.14)

dan weighted graph (2.15) di atas maka cost dari shortest path dapat

dihitung berdasarkan total nilai minimum yang ada pada edge-nya. Pada

penulisan ini nilai pada masing-masing edge merupakan panjang jalan

yang harus ditempuh.

2.10.2 Algoritma A*

Algoritma A* pertama kali dikemukanan oleh P. E. Hart, N. J.

Nilson, dan B.Raphael (1986) dalam karya ilmiah mereka berjudul “A

Formal Basis for the Heuristic Deterministic of Minimum Cost Paths”.

Menurut Luger dan Stubblefield (1993, p127-133), algoritma A* memiliki

fungsi dimana h(h) ≤ biaya minimum suatu rute dari n ke titik tujuan.

Sedangkan algoritma A* adalalah algoritma yang menerapkan heuristik

untuk melakukan pencarian dan memiliki fungsi f(n) = g(n) + h(n)

dimana:
40

• n adalah titik (node) yang terdapat pada saat pencarian.

• f(n) adalah fungsi untuk menentukan arah yang dipilih saat

melakukan pencarian rute.

• g(n) adalah fungsi untuk memperkirakan biaya yang diperlukan

dari titik sekarang ke titik tujuan.

• h(n) adalah heuristic untuk memperkirakan biaya yang diperlukan

dari titik yang sekarang ke tujuan.

Kelebihan algoritma A* adalah karena algoritma ini menggunakan

heuristik dalam memperkirakan seberapa jauh suatu titik dengan tujuan.

Dengan teknik ini dapat memandu pencarian rute dalam menentukan arah

pencarian terbaik tanpa harus mencari ke segala arah. Bila ternyata arah

yang diikuti tidak dapat sampai ke tujuan maka algoritma ini dapat

backtrack untuk mencari rute lain yang mempunyai kemungkinan

mencapai tujuan. Algoritma ini akan kembali mencari rute dengan biaya

terendah dari titik awal hingga akhir.

2.10.3 Heuristik

Menurut Silitonga (1993b), heuristik adalah suatu aturan tentang

perkiraan secara ilmiah maupun intuitif untuk mengurangi atau membatasi

wilayah pencarian yang sulit dilakukan. Menurut Luger dan Stubblefield

(1993c, p116), heuristik merupakan aturan–aturan untuk memilih cabang–

cabang yang memiliki kemungkinan mengarah pada pemecahan masalah.

Karena heuristik menggunakan informasi yang terbatas, maka heuristik


41

jarang dapat memprediksi perilaku yang tepat dalam suatu pencarian.

Suatu heuristik dapat berhasil atau gagal memberikan petunjuk untuk

suatu algoritma.

Algoritma A* tanpa fungsi heuristik yang bagus akan

memperlambat pencarian dan dapat menghasilkan rute yang bukan

terpendek. Jika algoritma ini diharapkan menghasilkan rute yang benar –

benar terpendek, maka fungsi heuristiknya harus underestimate terhadap

biaya dari suatu titik ke tujuan. Fungsi heuristik yang sempurna akan

membuat algoritma ini langsung menuju titik tujuan tanpa harus

mengecek seluruh node. Sehingga bisa fungsi heuristiknya terlalu

underestimate menyebaban algoritma ini selalu beranggapan bahwa ada

rute yang lebih baik dari rute yang ada. Untuk fungsi heuristik yang

underestimate bila nilainya terlalu rendah akan menyebabkan algoritma

ini seperti algoritma Dijkstra yang mencari ke segala arah yang mungkin.

Hal ini dikarenakan tidak cukupnya informasi mengenai masalah yang

dihadapi sehingga menyebabkan algoritma A* tidak efektif dan efisien.

Jika algoritma ini diharapkan melakukan pencarian rute dengan lebih

cepat tanpa mengharuskan memperoleh rute terpendek, maka fungsi

heuristiknya suatu saat dapat overestimate terhadap biaya dari suatu titik

ke tujuan atau fungsi biaya atas suatu jarak disesuaikan dengan fungsi

heuristiknya.

Fungsi heuristik yang baik adalah bila lebih rendah dari biaya

yang sebenarnya terhadap jarak antara suatu titik dengan tujuan. Fungsi

heuristik yang pada umumnya digunakan pada algoritma A* adalah


42

heuristic manhattan distance. Contoh heuristik yang sering digunakan

pada pathfinding yaitu :

1. Manhattan distance adalah heuristik standar untuk algoritma A*,

digunakan pada aplikasi yang hanya memiliki 4 arah gerakan dan

tidak boleh bergerak secara diagonal.

H(n) = b * (abs (n.x – tujuan.x) + abs(n.y – tujuan.y))

Dimana : n = titik saat ini

h(n) = fungsi heuristic dari titik n

b = fungsi biaya

x, y = kordinat (x, y)

abs = fungsi absolute

2. Diagonal Distance adalah heuristik yang digunakan apabila

aplikasinya memiliki 8 arah gerakan atau bila bergerak secara

diagonal.

Rumusnya : h(n) = b * max (abs(n.x – tujuan.x, abs(n.y–

tujuan.y)))

3. Straighline distance adalah heuristik yang digunakan bila

aplikasinya memiliki arah penggerakan menggunakan sudut.

Rumusnya :
( n. x − tujuan . x ) 2 + ( n. y − tujuan . y ) 2

4. Breaking ties adalah heuristik yang menggunakan suatu perkalian

silang antara vektor dari titik awal dengan vektor titik tujuan.

Heuristik ini digunakan untuk menentukan rute mana yang akan


43

dieksplorasi lebih lanjut bila aplikasi memiliki rute – rute dengan

kemungkinan yang sama dalam mencapai titik tujuan.

Rumusnya : vector cross product = abs((dx1 * dy2) – (dx2 * dy1))

* 0.001

Dimana : dx 1 = posisi x dari titik sekarang – posisi x dari titik

tujuan

dy 1 = posisi y dari titik sekarang – posisi y dari titik tujuan

dx 2 = posisi x dari titik awal – posisi x dari titik tujuan

dy 2 = posisi y dari titik awal – posisi y dari titik tujuan

2.10.4 Algoritma Djikstra’s

Algoritma Djikstra’s menyelesaikan masalah single-source

shortest-paths dalam sebuah weighted directed graph G = (V, E) untuk

kasus dimana setiap weight edge tidak negative. Algoritma Djikstra’s

membuat sebuah himpunan S dari vertex – vertex mempunyai shortest

path yang telah ditentukan dari sumber s. Algoritma ini mengulang

pencarian vertex u Є V – S dengan estimasi shortest path minimum.

Menambahkan u ke S, dan membiarkan semua edge meninggalkan u.

Untuk implementasi di bawah ini, kami menggunakan sebuah min-

priority queue Q dari vertex – vertex, ditandai dengan nilai d masing –

masing.

Djikstra(G, w, s)

1 INITIALIZE-SINGLE-SOURCE (G, s)
44

2 SÅØ

3 Q Å V[G]

4 While Q ≠ Ø

5 Do u Å EXTRACT-MIN(Q)

6 S Å S U {u}

7 for each vertex v Є Adj[u]

8 do RELAX (u, v, w)

Baris 1 penunjukkan inisialisasi dari nilai d dan П, dan baris 2

menginisialisasi himpunan S menjadi himpunan kosong. Algoritma ini

membuat invariant Q = V – S dalam tiap – tiap awalan iterasi dari

perulangan while di baris 4 – 8. Baris 3 menginisialisasi min-priority

queue Q berisi semua vertex dalam V; sejak S = Ø, invariant menjadi

benar setelah baris 3. Tiap melalui perulangan while di baris 4 – 8, sebuah

vertex u diambil dari Q = V – S dan ditambahkan ke dalam himpunan S,

dengan cara demikian membuat invariant. (Pertama kali melalui

perulangan ini, u = s). Vertex u, oleh karena itu, telah menjadi shortest-

path paling kecil estimasi dari beberapa vertex di V – S. Kemudian, baris 7

– 8 melepaskan (relax) tiap – tiap edge (u, v) meninggalkan u, hingga

mengubah estimasi d[v] dan predesesor П[v] jika shortest path ke v dapat

dikembangkan dengan melalui u. Perhatikan bahwa vertex – vertex tidak

pernah ditambahkan ke Q setelah baris 3 dan bahwa tiap – tiap vertex

diambil dari Q dan ditambahkan ke S hanya sekali, jadi jika perulangan

while di baris 4-8 beriterasi sebanyak |V| kali.


45

2.11 Metode Rekayasa Piranti Lunak

Menurut Pressman (Pressman, 1997, p29), metode rekayasa piranti lunak

adalah pengembangan dan penggunaan prinsip untuk memperoleh perangkat

lunak secara ekonomis yang reliable dan bekerja secara efisien pada mesin nyata.

Dalam usaha untuk mengembangkan perangkat lunak secara memadai, proses

perkembangan perangkat lunak harus didefinisikan terlebih dahulu.

Semua metode rekayasa perangkat lunak itu memiliki serangkaian tugas

yang luas yang menyangkut analisa kebutuhan, desain, konstruksi program,

pengujian dan pemeliharaan. Model proses untuk rekayasa piranti lunak dipilih

berdasarkan sifat aplikasi, metode dan alat-alat bantu yang akan dipakai serta

penyampaian yang dibutuhkan. Jadi ketepatan dalam memilih metode rekayasa

pranti lunak harus dilakukan untuk mendapatkan sarana yang diinginkan.


46

2.11.1 Waterfall Model

Waterfall model merupakan versi popular dari daur hidup

pengembangan sistem untuk rekayasa piranti lunak. Sering dianggap

sebagai pendekatan klasik dari daur hidup pengembangan piranti lunak,

waterfall model menggambarkan metode pengembangan yang linear dan

sekuensial. Pengembangan waterfall memiliki tujuan yang berbeda untuk

setiap fase dalam pengembangan. Bayangkan air terjun pada jurang, sekali

air telah mengalir ke tepi jurang dan telah memulai perjalanannya menuju

sisi gunung, itu tidak dapat kembali lagi. Hal ini sama dengan

pengembangan waterfall. Sekali fase pengembangan telah diselesaikan,

pengembangan akan dilanjutkan ke fase berikutnya dan tidak ada titik

balik.

Keuntungan dari waterfall model adalah model ini

memperbolehkan departementalisasi dan pengendalian manajerial. Setiap

jadwal dapat dibuat dengan deadline untuk setiap tahap pengembangan

dan sebuah produk dapat dihasilkan melalui proses pengembangan seperti

sebuah mobil dalam tempat cuci mobil dan secara teoritikal akan

dikirimkan pada waktunya. Pengembangan bergerak dari konsep, melalui

desain, implementasi, pengujian, instalasi, permasalahan, dan berakhir

pada operasi dan pemeliharaan. Setiap fase pada pengembangan

berlangsung pada urutan yang tepat, tanpa ada langkah yang saling

tumpang tindih atau berulang. Kerugian dari model atau pengembangan

ini adalah model ini tidak mengijinkan untuk banyak revisi. Saat sebuah

aplikasi sudah berada dalam tahap atau langkah pengujian, ini akan sangat
47

sulit untuk kembali dan mengubah sesuatu yang dipikir tidak terlalu baik

pada langkah atau tahap konsep.

Daur hidup pengembangan sistem memiliki tahap-tahap sebagai

berikut ini:

1. System/Information Engineering and Modelling

Sebagaimana piranti lunak selalu merupakan sistem yang besar

(bisnis), kerja dimulai dengan menentukan kebutuhan-kebutuhan

untuk semua elemen sistem dan kemudian mengalokasikan

beberapa bagian dari kebutuhan ini dalam kebutuhan piranti lunak.

Sistem merupakan dasar dan kebutuhan yang sangat kritis untuk

keberadaan piranti lunak dalam semua entitas. Jadi, jika sistem

tidak berada pada tempatnya, sistem harus diperbaiki dan

diletakkan pada tempatnya.

2. Software Requirement Analysis

Ini juga dikenal sebagai pembelajaran mengenai kemungkinan

yang terjadi. Pada tahap ini, tim pengembangan mengunjungi

pelanggan dan mempelajari sistem mereka. Mereka meneliti

kebutuhan akan otomatisasi piranti lunak pada sistem yang

diberikan. Pada akhir tahap ini, tim melengkapi dokumen yang

berisi rekomendasi khusus yang berbeda-beda untuk calon sistem.

Tujuan penting dari fase ini adalah untuk menemukan kebutuhan

dan untuk mendefinisikan masalah yang perlu diselesaikan.

3. System Analysis and Design


48

Pada fase ini, proses pengembangan piranti lunak, struktur piranti

lunak keseluruhan dan perbedaan atau nuansanya didefinisikan.

Dalam istilah teknologi client/server, banyaknya tier yang

dibutuhkan untuk paket arsitektur, desain basis data, desain

struktur data, dan sebagainya, semua didesain dalam fase ini.

Model pengembangan piranti lunak diciptakan. Analisis dan

desain merupakan hal yang sangat penting dalam daur

pengembangan. Sistem logikal dari produk dikembangkan dalam

fase ini.

4. Code Generation

Desain harus diterjemahkan ke dalam form yang dapat dibaca oleh

mesin. Jika desain ditampilkan dengan lebih rinci, penghasilan

kode dapat diselesaikan tanpa banyak masalah. Alat - alat untuk

programming seperti compilers, interpreters, debuggers digunakan

untuk menghasilkan kode. Bahasa pemrograman tingkat tinggi

yang berbeda-beda seperti C, C++, Pascal, Java digunakan untuk

koding. Dengan penyesuaian terhadap tipe aplikasi, bahasa

pemrograman yang tepat dapat dipilih.


49

5. Testing

Sekali koding telah dihasilkan, pengujian program piranti lunak

dimulai. Metodologi pengujian yang berbeda-beda tersedia untuk

menyelesaikan masalah-masalah yang muncul di langkah-langkah

sebelumnya. Alat - alat pengujian yang berbeda dan metodologi-

metodologi tersedia. Beberapa perusahaan membangun alat - alat

sendiri untuk menguji segala sesuatu yang saling

berkesinambungan untuk operasi pengembangan mereka sendiri.

6. Maintenance

Piranti lunak pasti akan mengalami perubahan saat piranti lunak

itu dikirim ke pelanggan. Ada banyak alasan untuk perubahan.

Perubahan dapat terjadi karena beberapa nilai input yang tidak

diharapkan masuk ke dalam sistem. Di samping itu, perubahan

dalam sistem dapat dengan langsung mempengaruhi operasi

piranti lunak. Piranti lunak harus dikembangkan untuk

menyesuaikan perubahan yang mungkin terjadi selama periode-

periode setelah implementasi.

2.12 UML (Unified Modelling Languange)

2.12.1 Sejarah UML

UML adalah sebuah bahasa yang telah menjadi standar dalam

industri untuk memvisualisasi, menspesifikasi, merancang dan

mendokumentasi sistem piranti lunak (Booch et al, 1999, p14). UML


50

menawarkan sebuah standar untuk merancang model sebuah sistem.

Seperti bahasa-bahasa lainnya, UML juga memiliki notasi. Notasi UML

merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai

diagram piranti lunak. Setiap bentuk memiliki makna tertentu dan UML

menjelaskan bagaimana bentuk-bentuk tersebut didefinisikan. Notasi

UML terutama diturunkan dari tiga notasi yang telah ada sebelumnya

yaitu: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh

OMT (Object Modelling Technique) dan Ivar Jacobson OOSE (Object

Oriented Software Engineering).

Dimulai pada bulan Oktober 1994, Booch, Rumbaugh dan

Jacobson yang merupakan tiga tokoh di mana metodenya banyak

digunakan, mempelopori usaha untuk penyatuan pendesainan berorientasi

objek (Booch et al, 1999, pXIX). Pada tahun 1995 dirilislah UML (versi

0.8). Sejak tahun 1996 pengembangan tersebut lalu dikoordinasikan oleh

Object Management Group (OMG). Sejak itulah UML menjadi standar

bahasa pemodelan untuk aplikasi berorientasi objek.

2.12.2 Tujuan UML

Melihat dari faktor sejarah dan pendorong terbentuknya UML ini,

dapat ditarik suatu kesimpulan mengenai tujuan dibentuknya UML yang

terangkum sebagai berikut:


51

• Memberikan model yang siap pakai, bahasa pemodelan visual

yang ekspresif untuk mengembangkan dan saling menukar model

dengan mudah dan dapat dimengerti secara umum.

• Memberikan bahasa pemodelan yang bebas dari berbagai bahasa

pemrograman dan proses rekayasa.

2.12.3 Beberapa bagian dari UML

A. Use Case Diagram

Use Case Diagram menggambarkan fungsionalitas yang

diharapkan dari suatu sistem. Yang ditekankan adalah “apa” yang

dilakukan sistem dan bukan “bagaimana”. Sebuah use case

menggambarkan interaksi antara aktor dengan sistem. Aktor adalah

sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk

melakukan pekerjaan-pekerjaan tertentu. Di bawah ini dijelaskan bagian

use case:

a. Aktor

Aktor menggambarkan pengguna aplikasi perangkat lunak (user).

Aktor membantu memberikan suatu gambaran jelas tentang apa

yang harus dikerjakan aplikasi perangkat lunak. Contohnya,

sebuah aktor dapat memberikan input ke dalam dan menerima

informasi dari aplikasi perangkat lunak. Aktor berinteraksi dengan

use case tetapi tidak mengontrol use case. Sebuah aktor mungkin

seorang manusia, perangkat keras atau sistem informasi lain.


52

Notasi aktor dengan nama aktor tersebut dibawahnya:

User
Gambar 2.18 Notasi Aktor

b. Use Case

Use case menggambarkan perilaku aplikasi perangkat lunak, termasuk

didalamnya interaksi antara aktor dengan aplikasi perangkat lunak

tersebut. Dengan kata lain, use case adalah urutan aksi yang dilakukan

oleh sistem yang menghasilkan hasil yang bernilai dan dapat dilihat

oleh aktor. Use case harus merupakan “apa” yang yang dikerjakan

perangkat, bukan “bagaimana” aplikasi perangkat lunak

mengerjakannya. Suatu sistem yang kompleks memiliki banyak use

case, sehingga perlu diorganisasi. Use case–use case yang saling

berhubungan dapat dikelompokkan dalam use case package.

Notasi use case:

Gambar 2.19 Notasi Use Case

Untuk menghubungkan antara aktor dengan use case digunakan

simbol garis yang disebut sebagai relationship. Untuk

menghubungkan use case, maka yang perlu dilakukan adalah

menentukan perilaku (behavior) yang terdapat dalam sebuah use case


53

yang menunjukkan interaksi antara aktor dengan sistem. Cara yang

dipakai untuk menyatakan hubungan antar use case adalah:


<<include>>

Gambar 2.20 Simbol Relationship <<include>

Sebuah use case dapat meng-include fungsionalitas dari use case lain

sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan

bahwa use case yang di-include akan dipanggil setiap kali use case

yang meng-include dieksekusi secara normal.

<<extends>>

Gambar 2.21 Simbol Relationship <<extends>>

Extends relationship berarti memperluas use case dasar dengan

menambah behavior-behavior baru tanpa mengubah use case dasar itu

sendiri. Titik di mana use case diperluas disebut sebagai extension

point.

Dengan adanya use case diagram maka akan membantu dalam

menyusun kebutuhan sebuah sistem dan mengkomunikasikannya

dengan klien.

B. Activity Diagram

Activity diagram memodelkan alur kerja (work flow) sebuah proses

bisnis dan urutan aktivitas dalam suatu proses. Diagram ini sangat mirip

dengan sebuah flowchart karena dapat memodelkan sebuah alur kerja dari

satu aktivitas ke aktivitas lainnya. Seringkali bermanfaat bila membuat sebuah


54

activity diagram terlebih dahulu dalam memodelkan sebuah proses untuk

membantu memahami proses secara keseluruhan. Komponen utama dalam

activity diagram adalah:

Initial state, yaitu menyatakan awal

dimulainya suatu aktivitas.

Final state, yaitu menyatakan

berakhirnya suatu aktivitas.

State, menggambarkan aktivitas yang


Buka koneksi
merepresentasikan kinerja dari suatu

operasi.

Control Flow, menyatakan relationship

diantara 2 state. Control flow

mengidentifikansi kontrol yang dikirim

dari state pertama ke state kedua

setelah aktivitas pada state pertama

selesai dijalankan.

Decision, menggambarkan kontrol dari

aliran yang bersifat kondisional

Tabel 2.12 Tabel Komponen Utama Acivity Diagram


55

Contoh penggunaan Activity Diagram:

Activity 1

Activity 2

Gambar 2.22 Contoh Activity Diagram

Pembuatan activity diagram akan sangat membantu dalam memahami alir

aktivitas dari sistem yang dirancang, bagaimana masing-masing alir berawal,

keputusan yang mungkin terjadi dan bagaimana mereka berakhir.

C. Class Diagram

Menunjukkan entitas yang ada pada sistem dan bagaimana entitas

tersebut berhubungan satu sama lain. Entitas tersebut memiliki atribut dan

perilaku tertentu. Class diagram memperlihatkan hubungan antarkelas dan

penjelasan detail tiap-tiap kelas di dalam logical view dari suatu sistem.

Selama proses analisa, class diagram memperlihatkan aturan-aturan dan

tanggung jawab entitas yang menentukan perilaku sistem. Selama tahap

desain, class diagram berperan dalam menangkap struktur dari semua kelas

yang membentuk arsitektur sistem yang dibuat. Class diagram

direpresentasikan dalam bentuk kotak yang terbagi atas tiga bagian yaitu

nama class, atribut dan perilaku (behavior), seperti di bawah ini:


56

Class nama

Attribute: Type=Initial Value

Operation(arg list): return type

Gambar 2.23 Contoh Class Diagram

D. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan

di sekitar sistem (termasuk pengguna, display dan sebagainya) berupa

message yang digambarkan terhadap waktu. Sequence diagram biasa

digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah

yang dilakukan sebagai tanggapan dari sebuah event untukl menghasilkan

keluaran tertentu.

Diawali dari apa yang memicu aktivitas tersebut, proses dan perubahan apa

saja yang terjadi secara internal dan keluaran yang dihasilkan. Masing-masing

objek memiliki lifeline vertikal sedangkan message digambarkan secara

horizontal.

E. Statechart Diagram

Merupakan diagram yang menggambarkan serangkaian state yang

dapat terjadi pada sebuah object. State dapat berubah karena adanya suatu

event atau kondisi tertentu. State merupakan kondisi dimana obyek melakukan

sebuah kegiatan atau sedang menunggu event. Statechart diagram digunakan


57

untuk menggambarkan behaviour yang penting dari subsistem atau sebuah

obyek.

F. Deployment Diagram

Pada UML, deployment diagram menunjuk ke model hardware yang

digunakan dalam implementasi sistem, komponen yang disebarkan pada

hardware, dan hubungan di antara komponen-komponen itu. Elemen-elemen

yang digunakan dalam deployment diagram adalah node (ditunjukkan dengan

gambar kubus), komponen (ditunjukkan dengan gambar kotak persegi

panjang, dengan dua persegi panjang menonjol keluar dari sisi kiri) dan

associations.

Dengan kata lain, deployment diagram menunjukkan hardware untuk

sistem Anda, software yang diinstall pada hardware, dan middleware yang

digunakan untuk menghubungkan mesin-mesin yang terpisah satu dengan

yang lainnya.

Deployment/physical diagram menggambarkan detail bagaimana

komponen di-deploy dalam infrastruktur sistem, di mana komponen akan

terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan

jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat

fisikal Sebuah node adalah server, workstation, atau piranti keras lain yang

digunakan untuk men- deploy komponen dalam lingkungan sebenarnya.

Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga

didefinisikan dalam diagram ini.


58

2.13 C#

C# (dibaca “C Sharp”) merupakan bahasa pemrograman berorientasi objek

yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif .NET, dan akhirnya

disetujui sebagai sebuah standar oleh ECMA dan ISO. C# memiliki sintaks yang

prosedural, berorientasi objek berdasarkan C++ yang meliputi aspek beberapa bahasa

pemrograman lainnya (terutama Delphi, VB, dan Java) dengan penekanan khusus

pada penyederhanaan (lebih sedikit kebutuhan simbol dibandingkan dengan C++, dan

lebih sedikit kebutuhan dekoratif dibandingkan dengan Java).

(http://en.wikipedia.org/wiki/C_Sharp).

Pendapat lain juga mengatakan bahwa C# merupakan bahasa pemrograman

berorientasi objek dari Microsoft yang bertujuan untuk mengkombinasikan kekuatan

komputer C++ dengan kemudahan programming Visual Basic. C# berdasarkan pada

C++ dan mengandung fitur-fitur serupa yang ada pada Java. C# didesain untuk

berjalan atau bekerja pada platform Microsoft .NET. Tujuan Microsoft adalah untuk

memfasilitasi pertukaran informasi dan layanan melalui Web, dan memungkinkan

pengembang untuk membangun aplikasi yang sangat portable. C# menyederhanakan

programming melalui kegunaan XML (Extensible Markup Language) dan Simple

Object Access Protocol (SOAP) yang memperbolehkan akses ke objek programming

atau metode tanpa membutuhkan programmer untuk menulis kode tambahan untuk

setiap langkah. Karena programmer dapat membangun dalam kode yang sudah ada,

daripada menduplikasikannya secara berulang, C# diharapkannya dapat membuatnya

lebih cepat dan tidak terlalu mahal untuk mendapatkan produk baru dan layanan ke

pasar. (http//searchwinit.techtarget.com/sDefinition/0,,sid1_gci333873,00.html )
59

Apa itu .NET? Kita dapat menjawab pertanyaan tersebut dengan baik, dengan

membandingkannya dengan Windows dan bertanya apa itu Windows kepada

pengembangnya. Jawaban hal tersebut ada dua. Pertama, Windows adalah sebuah

library, ini merupakan kumpulan semua function calls dalam Windows API, yang

tersedia bagi Anda untuk digunakan dalam program. Fungsi ini menyediakan fitur-

fitur umum seperti menampilkan dialog box, multiple document interface, dan single

document interface windows, mengakses fungsi-fungsi dasar seperti fitur keamanan

atau komponen layanan dan sebagainya. Kedua, Windows adalah lngkungan dimana

aplikasi Anda berjalan, sebaik sistem operasi itu sendiri.

Pada cara yang sama, .NET adalah 2 hal. Pertama, library-nya seekstensif

Windows API. Anda dapat menggunakannya untuk memanggil semua bentuk fitur

yang sama telah ada atau berperan dalam sistem operasi Windows: menampilkan

windows dan dialog box, memeriksa atau menguji surat kepercayaan keamanan,

menjalankan layanan-layanan yang ada pada sistem operasi, membuat threads, dan

sebagainya, sebaik area-area baru seperti mengakses basis data atau menghubungkan

internet atau menyediakan web services. Kedua, .NET dapat menyediakan

lingkungan (“.NET runtime”) di mana program Anda berjalan. Ketika koding .NET

dieksekusi, ini akan menjadi .NET yang memulai koding Anda, mengatur thread-

thread yang berjalan, menyediakan layanan background yang bermacam-macam.

Keuntungan yang diperoleh dari .NET adalah sebagai berikut: programming

yang berorientasi objek, desain yang baik, kebebasan bahasa pemrograman,

dukungan yang lebih baik untuk Dynamic Web Pages, akses data yang efisien, code

sharing, meningkatkan keamanan, mendukung web services.


60

2.14 Java

2.14.1 Sejarah Java

Java adalah bahasa pemrogaman serbaguna. Java dapat digunakan

untuk membuat suatu program sebagaimana Anda membuatnya dengan

bahasa seperti Pascal ataupun C++. Yang lebih menarik, Java juga

mendukung sumber daya internet yang saat ini popular, yaitu World Wide

Web atau yang sering disebut Web saja. Java juga mendukung aplikasi

client/server, baik dalam jaringan lokal (LAN) ataupun jaringan berskala luas

(WAN).

Java dikembangkan oleh Sun Microsystems pada Agustus 1991,

dengan nama semula Oak. Konon OAK adalah pohon semacam Jati yang

terlihat dari jendela tempat pembuatnya, James Gosling, bekerja. Ada yang

mengatakan bahwa Oak adalah singkatan dari ‘Object Application Kernel’,

tetapi ada yang menyatakan hal itu muncul setelah nama Oak diberikan. Pada

Januari 1995, karena nama Oak dianggap kurang komersial, maka diganti

menjadi Java. Program Java bersifat tidak tergantung pada platform; Artinya,

Java dapat dijalankan pada sembarang komputer, bahkan sembarang sistem

operasi.

Ketidakbergantungan terhadap platform sering dinyatakan dengan

istilah portabilitas. Yang menarik, tingkat portabilitas Java tidak hanya

sebatas pada program sumber (source kode), melainkan juga pada tingkat

kode biner yang disebut bytecode. Dengan demikian bila Anda telah
61

mengkompilasi program Java pada komputer bersistem operasi Windows,

Anda dapat menjalankan hasil kompilasi pada Macintosh secara langsung,

tanpa harus mengkompile ulang.

Kode yang disebut bytecode dapat dijalankan pada berbagai sistem

operasi karena kode ini berbeda dengan kode mesin. Kode mesin sangat

bergantung pada platform, sedangkan bytecode dapat dimengerti oleh semua

platform yang telah dilengkapi interpreter Java. Mengingat bahwa hasil

kompilasi Java dapat dijalankan pada sembarang sistem operasi maupun

prosesor, Java sering dikatakan bersifat netral terhadap arsitektur komputer.

2.14.2 Java adalah Bahasa Pemrogaman Berorientasi Objek

Sebagaimana halnya C++, salah satu bahasa pemrogaman yang

mengilhami Java, Java juga merupakan bahasa pemrogaman berorientasi

objek (suatu model pengembangan perangkat lunak yang saat ini sangat

popular). Sebagai bahasa pemrogaman berorientasi objek, Java menggunakan

kelas untuk membentuk suatu objek. Sejumlah kelas sudah tersedia dan Anda

dapat menggunakannya dengan mudah, dan bahkan Anda dapat

mengembangkannya lebih jauh melalui konsep pewarisan. Pewarisan adalah

salah satu sifat yang ada pada bahasa pemrogaman berorientasi objek, yang

memungkinkan sifat – sifat suatu objek diturunkan dengan mudah ke objek

lain.

2.15 Jaringan Client Server


62

Kemunculan dari interkoneksi LAN dan LAN/WAN telah menciptakan suatu

kebiasaan baru dimana dua atau lebih komputer dapat bekerja sama untuk

memecahkan suatu masalah. dalam hal ini proses client/server terdiri dari suatu

proses dimana perangkat keras, perangkat lunak, dan sumber data dari dua atau lebih

komputer dikombinasikan untuk menyelesaikan suatu masalah atau untuk memproses

suatu aplikasi tunggal. Suatu jaringan client/server memperbolehkan proses

client/server; satu sisi untuk berpikir bahwa suatu jaringan client/server adalah

dimana jaringan menjadi satu komputer digunakan untuk menyelesaikan suatu

problem khusus atau memproses suatu aplikasi.

Komputer – komputer yang termasuk dalam jaringan client/server dapat

terdiri dari dari microcomputer sampai mainframe (atau bahkan supercomputer).

Perangkat lunak dan sumber data yang akan dibagi antara komputer – komputer

dalam jaringan client/server ditempatkan dalam suatu komputer yang dinamai server.

Server mengatur sumber – sumber tersebut dalam bagian dari komputer lain (yang

disebut client) yang dibaginya.