Download - 2011-1-00318-IF bab 2 rev_2
iii
BAB 2
LANDASAN TEORI
2.1 Teori-teori Dasar / Umum
Bab ini menjelaskan beberapa teori secara umum yang secara mendasar
digunakan dalam mengembangkan aplikasi sistem monitoringsensor pada
Jembatan Suramadu.
2.1.1 Sistem
2.1.1.1 Pengertian Sistem
Menurut O’Brien (2003,p8-9), bahwa pengertian sistem
secara umum adalah sekelompok elemen-elemen yang berkaitan
dan berinteraksi untuk membentuk suatu kesatuan. Sistem adalah
sekelompok elemen yang bekerja sama untuk suatu tujuan tertentu
dengan masukan danmenghasilkan output dengan melalui sebuah
proses. Sistem terdiri atas 3 komponen utama yaitu input, proses,
dan output.
2.1.1.2 Pengertian Sistem Monitoring
Sistem monitoring merupakan sistem yang didesain untuk
bisa memberikan feedback ketika program sedang menjalankan
11
fungsinya. Feedback dimaksudkan untuk memberikan informasi /
keadaaan sistem pada saat itu.
(www.nonprofitbasic.org/TopicAreaGlossary.aspx)
Sistem monitoring merupakan kumpulan prosedur dan
program untuk mengkomputasi sistem informasi yang didesain
untuk mencatat dan mentransmisikan data berdasarkan informasi
yang diperloleh. (nces.ed.gov./pubs/stafh/glossary.asp)
Sistem monitoring adalah kumpulan fitur informatif yang
memberikan informasi mengenai apa saja yang terjadi dengan
sistem yang di-monitor.
(http:/www.agnitum.com/products/jammer/jtour4html)
2.1.2 Unified Modelling Language (UML)
UML adalah sebuah bahasa yang telah menjadi standar dalam
industri untuk memvisualisasi, menspesifikasi, merancang, dan
mendokumentasi sistem peranti lunak (Booch et al,1999, p14). UML
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 peranti lunak. Setiap bentuk memiliki makna tertentu dan UML
menjelaskan bagaimana bentuk-bentuk tersebut didefinisikan.
12
Tujuan dibentuknya UML, yaitu :
1. Memberikan gambaran model konseptual peranti lunak dari suatu
bahasa pemrograman yang tekstual sehingga dapat dimengerti oleh
orang-orang yang non-programmer.
2. Membangun model yang tepat, tidak ambigu, dan lengkap yang dapat
membantu dalam tahap-tahap dari analisis, perancangan, dan
implementasi.
3. Dapat memodelkan beberapa jenis bahasa pemrograman, dan
membantu memetakan kembali model tersebut ke suatu bahasa
pemrograman yang lain.
4. Membantu dalam dokumentasi perancangan peranti lunak.
2.1.2.1 Use Case Diagram
Use case diagram menggambarkan sekumpulan use case
dan actor serta hubungannya (Booch et al, 1999, p234). Yang
ditekankan adalah “apa” yang dilakukan terhadap sistem dan
bukan “bagaimana”. Sebuah use case menggambarkan interaksi
antara actor dengan sistem.
Notasi pada use case diagram, yaitu :
13
1. Actor
Menspesifikasikan seperangkat peranan yang user sistem
dapat perankan ketika berinteraksi dengan sistem.
Notasi :
Gambar 2.1 Notasi actor
2. Use Case
Sebuah deskripsi dari seperangkat aksi-aksi yang berurutan
yang ditampilkan sebuah sistem.
Notasi :
Gambar 2.2 Notasi use case
3. Association
Sebuah relasi struktural yang menghubungkan antara actor
dengan use case.
UseCase1
14
Notasi :
Gambar 2.3 Notasi association
4. System Boundary
Menggambarkan batasan dari sistem yang akan dibuat yang
mengelilingi sejumlah use case.
Notasi :
Gambar 2.4 Notasi system
2.1.2.2 Class Diagram
Class diagram menggambarkan kumpulan class, interface,
dan hubungan antar class atau interface tersebut. Class diagram
menggambarkan suatu gambaran desain statis dari suatu sistem
(Booch et al, 1999, p107).
System
15
Notasi pada class diagram, yaitu :
1. Class
Sebuah deskripsi dari seperangkat objek yang berbagi atribut,
operasi, dan relasi yang sama. Class terbagi atas tiga bagian,
yaitu nama class pada bagian atas, atribut (attribute)pada
bagian tengah, dan operasi (operation) pada bagian bawah.
Notasi :
Gambar 2.5 Notasi class
2. Association
Merupakan hubungan struktural antar class yang saling
berelasi.
Notasi :
Gambar 2.6 Notasi association
class name
operations()
attributes
16
3. Aggregationdan Composition
Agregasi merupakan bentuk hubungan asosiasi yang
merepresentasikan suatu relasi antara kumpulan (the whole)
dan sebuah bagian (the part). Komposisi merupakan bentuk
hubungan asosiasi yang lebih kuat dimana komposisi memiliki
tanggung jawab tunggal untuk mengatur bagian-bagiannya
(the parts), misalnya untuk alokasi dan dealokasi. Agregasi
digambarkan dengan wajik tidak terisi, sedangkan
composition digambarkan dengan wajik terisi.
Notasi :
Gambar 2.7 Notasi aggregation dan composition
4. Multiplicity
Menggambarkan jumlah objek yang berpatisipasi dalam
hubungan antar class.Multiplicity dispesifikasikan dengan
ekspresi teks yang memiliki bentuk sebagai berikut :
minimum..maksimum
17
Interval juga dapat berupa angka dimana angka tersebut
memiliki tipe data integer yang merepresentasikan interval
dari ukuran tunggal. Ekspresi multiplicityjuga dapat berupa
bintang tunggal (*) yang berarti tidak terbatas (more, without
limit).
Notasi :
Gambar 2.8 Notasi multiplicity
5. Generalization
Merupakan sebuah relasi spesialisasi / generalisasi dimana
suatu class dapat lebih general atau spesifik dari class lainnya.
Notasi :
Gambar 2.9 Notasi generalization
2.1.2.3 Sequence Diagram
Sequence diagram menggambarkan sekumpulan objek dan
interaksinya, termasuk message yang dikirim terhadap urutan
waktu (Booch et al, 1999, p245). Sequence diagram biasa
1..* 1
1 1..*
0..1 1
18
digunakan untuk menggambarkan skenario atau rangkaian
langkah-langkah yang dilakukan sebagai tanggapan dari sebuah
event untuk menghasilkan keluaran tertentu.
Diawali dari apa yang memicu aktifitas tersebut, proses
dan perubahan apa saja yang terjadi secara internal dan keluaran
yang dihasilkan. Masing-masing objek memliki lifeline vertikal
sedangkan message digambarkan secara horizontal.
Notasi pada sequence diagram :
1. Object Lifeline
Merupakan sebuah garis yang merepresentasikan adanya
sebuah objek dalam jangka waktu tertentu.
Notasi :
Gambar 2.10 Notasi object lifeline
2. Activation
Menggambarkan periode waktu ketika pemrosesan terjadi
dalam objek tersebut.
Object1
19
Notasi :
Gambar 2.11 Notasi activation
3. Message, Return, Callback Message
Penyampaian pesan dari satu objek ke objek lain atau ke diri
sendiri.
Notasi :
Gambar 2.12 Notasi message
20
2.1.3 Object Oriented Programming (OOP)
2.1.3.1 Pengertian Object
Object adalah suatu entitas yang memiliki identity, state,
dan behavior ( Mathiassen, 2000, p51). Object adalah abstraksi
dari sebuah entitas nyata atau tidak nyata (tangibleorintangible)
yang informasinya harus diingat/disimpan.
2.1.3.2 Pengertian Object Oriented Programming (OOP)
Object oriented merupakan suatu cara untuk melakukan
pemodelan sistem dengan berorientasikan pada object-object yang
terlibat pada sistem tersebut . (Britton, 2001, p4).
Fitur yang paling penting dalam object oriented adalah
bahwa seluruh proses pengembangan didasarkan pada sebuah
konsep tunggal utama. Object-object dalam dunia nyata menjadi
komponen dalam analisis dan perancangan model, dan akhirnya,
bagian dari kode akhir.
Keuntungan dari object oriented adalah :
1. Merupakan konsep umum yang dapat digunakan untuk
memodelkan hampir semua fenomena dan dapat dinyatakan
dalam bahasa umum (natural language). Misalnya :
1) Kata benda menjadi object class.
2) Kata kerja menjadi behavior
3) Kata sifat menjadi attributes.
21
2. Memberikan informasi yang jelas tentang konteks dari sistem.
3. Mengurangi biaya maintenance :
1) Memudahkan dalam mencari hal yang diubah.
2) Membuat perubahan menjadi bersifat lokal, tidak
berpengaruh terhadap modul lainnya.
Alasan-alasan mengapa pendekatan object oriented diperlukan,
adalah para praktisi perangkat lunak mencari sebuah pendekatan
baru pada pengembangan sistem yang akan menghasilkan
perangkat lunak yang lebih :
1. Maintainable (dapat dipelihara)
Selama masa hidupnya, sebuah aplikasi akan diminta untuk
berubah untuk memenuhi persyaratan-persyaratan baru
2. Testable (dapat diuji)
Unit-unit peranti lunak yang dibangun menggunakan
pendekatan object oriented menghasilkan hasil yang
mencukupi dan independen dengan interface yang
didefinisikan dengan jelas. Ini berarti setiap unit dapat diuji
dengan hati-hati dalam suatu isolasi sebelum disatukan
kembali ke dalam sistem.Integrasi dapat dilaksanakan secara
berangsur sehingga kesalahan-kesalahan yang ditemukan
dapat dilacak ke modul yang salah.
22
3. Reusable (dapat digunakan kembali)
Karena banyak masalah yang berisi fitur-fitur yang sama, cara
yang pasti untuk menghasilkan peranti lunak yang efisien
adalah dengan menggunakan kembali solusi-solusi dari
software yang telah ada, daripada menulis ulang kode tersebut
setiap kali.
4. Able to cope with large and complex system (mampu
mencakup sistem yang besar dan kompleks).
Sistem peranti lunak sekarang ini lebih besar dan lebih
komplek daripada yang sebelumnya.Sekarang kebanyakkan
aplikasi software membutuhkan sebuah GUI untuk dapat
diterima.
Terminologi dalam object oriented
Istilah Definisi
Object Unit peranti lunak menyatukan data dan metode-
metode secara bersama-sama untuk manipulasi
data.
Class Template untuk menciptakan object
Attribute Item data yang didefinisikan sebagai bagian dari
sebuah class atau object
Operation Prosedur atau fungsi yang didefinisikan sebagai
bagian dari sebuah class atau object; Menunjuk
23
pada interface umum prosedur.
Method Prosedur atau fungsi yang didefinisikan sebagai
bagian dari sebuah class atau object; Menunjuk
pada implementasi prosedur
Message Permintaan yang dikirim ke sebuah object untuk
menjalankan salah satu dari metodenya.
Encapsulation Penggabungan data dan operasi ke sebuah object
Data Hiding Membuat rincian detail dari sebuah object yang
tidak dapat diakses oleh object lain.
Inheritance Mekanisme untuk mendefinisikan sebuah class
baru dari class yang sudah ada.
Polymorphism Kemampuan untuk menyembunyikan
implementasi – implementasi yang berbeda di
balik sebuah interface umum.
Tabel 2.1 Terminologi dalam object oriented
24
2.1.4 Jaringan Komputer
Jaringan komputer adalah sekumpulan alat (nodes) yang
terhubung dalam jaringan komunikasi (Forouzan , 2003 p8). Sebuah node
dapat berupa komputer, printer, ataupun alat lain yang memiliki
kemampuan untuk mengirim dan atau menerima data yang dihasilkan
oleh node lain dalam jaringan.
2.1.4.1 IP Address
IP Address digunakan untuk menunjukkan lokasi spesifik
dari perangkat dalam jaringan. IP Address bersifat unik. Setiap IP
Address hanya dimiliki oleh perangkat tertentu saja yang
bertujuan untuk berkomunikasi dengan perangkat lainnya dalam
sebuah jaringan komputer yang menggunakan standar Internet
Protocol (IP).
2.1.4.2 Client / Server
Menurut MDGR (2008), server adalah komputer yang dapat
memberikan service ke client, sedangkan client adalah komputer
yang mengakses beberapa service yang ada di server. Ketika
client membutuhkan suatu service yang ada di server, dia akan
mengirim request kepada server melalui jaringan. Jika request
tersebut dapat dilaksanakan, maka server akan mengirim balasan
berupa service yang dibutuhkan untuk saling berhubungan dengan
menggunakan socket.
25
1. Karakteristik server : pasif, menunggu request, menerima
request, memproses mereka dan mengirim balasan berupa
service.
2. Karakteristik client : aktif, mengirim request, menunggu dan
menerima balasan dari server.
Gambar 2.13 Contoh hubungan yang menggunakan arsitektur client / server
2.1.4.3 Transfer Control Protocol / Internet Protocol (TCP/IP)
Transfer Control Protocol / Internet Protocol (TCP/IP)
adalah suatu standar protocol yang digunakan di internet sehingga
memungkinkan para penggunanya untuk saling bertukar data
antar komputer. TCP/IP ini pada awalnya dikembangkan dalam
26
situs penelitian bersama beberapa departemen di Amerika Serikat
(Comer, 2000,p2). Model TCP/IPini terdiri dari 4 layer yaitu
layer application, layer transport, layer internet dan layer
network access.
1 Layer Application
Layer applicationmerupakan kumpulan dari beberapa
komponen software yang mengirim dan menerima informasi
dari port TCP ( Transmission Control Protocol ) dan UDP
(User Datagram Protocol). Beberapa komponen pada layer
application hanya sebagai alat untuk pengumpul informasi
konfigurasi network dan beberapa lainnya boleh jadi adalah
sebuah userinterface atau Application Programming Interface
(API) yang mendukung desktop operating environment.
2 Layer Transport
Layer transport menyediakan suatu logicalconnection
antara sumber dan tujuan. Layer transport melakukan
segmentasi terhadap data menjadi paket, lalu mengirimkan
paket-paket data dari sumber ke tujuan melalui jaringan. Layer
transport ini menyediakan flow control dengan metode sliding
window, dan juga menyediakan reabilitas dengan penggunaan
27
sequence number dan acknowledgement. Protocol pada layer
ini terdiri dari TCP ( Transmission Control Protocol ) dan
UDP (User Datagram Protocol). TCP bersifat connection-
oriented sedangkan UDP bersifat connectionless-oriented.
3 Layer Internet
Layerinternet ini memiliki tujuan untuk memilih jalur
terbaik untuk aliran data di dalam suatu jaringan. Pada layer
ini terjadi pemilihan jalur terbaik serta packet switching.
Protocol utama pada layer ini adalah IP (InternetProtocol). IP
ini merupakan suatu protocol yang bersifat connectionless dan
best effort. IP tidak mempermasalahkan isi paket data, namun
hanya berfokus pada mencari jalur terbaik bagi paket data
tersebut. IP seringkali dikatakan unreliable karena IP tidak
melakukan error checking serta correction.
Pada layerinternet ini, terdapat IP address. IP address
merupakan alamat dari device yang berada pada jaringan. IP
address ini dapat dimiliki oleh server,printer, komputer client,
router atau device jaringan yang lain. IP address ini terdiri
dari kumpulan 32 bitbiner. Agar lebih mudah dillihat, IP
address ini biasanya direpresentasikan dalam 4 bilangan
desimal yang dipisahkan dengan titik. Tiap bilangan desimal
ini mewaikili 8 bit. Contoh :
28
IP address dalam biner :
xxxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx
IP address dalam desimal :
x . x . x . x
4 Layer Network Access
Layer ini menghubungkan paket-paket data dari layer atas
masuk ke dalam koneksi fisik jaringan. Pada layer ini, paket-
paket data berubah menjadi nilai-nilai tegangan untuk
dikirimkan ke dalam jaringan, atau untuk kasus jaringan fiber
optic, paket data berubah menjadi cahaya. Device-device
seperti NIC (Network Interface Card) atau modem beroperasi
pada layer ini. Pada layer network access ini juga terdapat
teknologi LAN.
a) LAN (Local Area Network)
Local Area Network adalah jaringan yang
digunakan secara private dalam sebuah gedung atau
kampus dalam jangkauan beberapa kilometer
(Tanenbaum, 2003 p16). LAN sering digunakan untuk
menghubungkan PC didalam perusahaan untuk membagi
sumber daya (contohnya printer) dan untuk bertukar
informasi.
29
LAN (Local Area Network) merupakan suatu
jaringan data yang mencakup area yang kecil, mencapai
beberapa ribu meter. LAN biasa digunakan untuk
menghubungkan device-device dalam satu gedung.
Salah satu bagian dari teknologi LAN yang sering
digunakan adalah ethernet. Ethernet standar yang pertama,
dikeluarkan pada tahun 1980 oleh konsorsium antara
Digital Equipment Company, Intel dan Xerox (DIX).
Sampai sekarang, ethernet menjadi teknologi yang sangat
banyak digunakan di seluruh dunia.
Di dalam spesifikasi ethernet, terdapat beberapa
jenis media ( copper, fiber optic) dan bandwith (10Mbps,
100Mbps, dan lainnya). Jenis ethernet yang banyak
dipakai adalah 100Base-Tx. 100Base-Tx ini menggunakan
kabel UTP (Unshielded Twisted Pair) dengan hambatan
100Ω. 100Base-Tx ini dapat mengirim data dengan
jangkauan terjauh hingga 100m menggunakan konektor
RJ-45 sebagai interface-nya.
2.1.5 Basis Data
2.1.5.1 Pengertian Data
Menurut Hoffer (2009, p46), data adalah sebuah fakta
yang menjelaskan objek atau kejadian yang dapat disimpan pada
media komputer, contoh sebuah data sales person yang berisi
30
nama pelanggan, alamat, telepon dikualifikasikan sebagai struktur
data.
2.1.5.2 Pengertian Basis Data
Menurut Thomas M. Connolly dan Carolyn Begg (2002,
p14), basis data adalah kumpulan data yang saling berhubungan
secara logis dan dirancang untuk memenuhi kebutuhan informasi
dalam suatu organisasi.
Basis data adalah kumpulan file yang saling berhubungan,
basis data memiliki beberapa sumber dimana data tersebut
diturunkan, beberapa berasal dari interaksi dengan dunia nyata,
dan pengguna yang secara aktif tertarik pada isi dari basis data itu
sendiri (Navathe dan Elmasri, 2000, p4).
Jadi basis data adalah sekumpulan data yang saling
berhubungan yang disimpan untuk memenuhi kebutuhan
informasi suatu organisasi.
2.1.5.3 Sistem Basis Data
Sistem basis data merupakan kumpulan dari program
aplikasi yang berinteraksi dengan basis data (Connolly dan Begg,
2002, p4). Menurut Navathe dan Elmasri (2000, p5) sistem basis
data merupakan gabungan basis data dengan sistem pengaturan
basis data.
31
Sehingga dapat disimpulkan bahwa sistem basis data
merupakan kombinasi dari beberapa program aplikasi dengan
basis data yang telah berjalan sehingga keseluruhan sistem
terkomputerisasi tersebut membolehkan pengguna menelusuri
kembali dan mengubah informasi tersebut sesuai kebutuhan.
2.1.5.4 Database Management System (DBMS)
Menurut Thomas M. Connolly dan Carolyn Begg (2002,
p16) Database Management System (DBMS) adalah suatu sistem
software yang memungkinkan user untuk menentukan,
menciptakan, me-maintain, dan mengontrol pengaksesan terhadap
suatu jenis basis data.
DBMS merupakan software yang berinteraksi dengan
program aplikasi dan basis data. Komponen-komponen DBMS
(Connoly dan Begg, 2002, p18), adalah sebagi berikut :
1. Hardware
Dibutuhkan untuk menjalankan DBMS dan aplikasi, berupa
komputer (PC), mainframe, dan jaringan komputer.
32
2. Software
Meliputi software DBMS , software aplikasi, sistem operasi,
dan juga softwarenetwork jika dalam penggunaannya
menggunakan network.
3. Data
Komponen yang terpenting dan juga merupakan komponen
penghubung antara komponen hardware dan software dengan
komponen prosedur dan manusia.
4. Prosedur
Intruksi dan aturan yang mengatur perancangan dan
penggunaan basis data.
5. Manusia
Semua manusia yang terlibat dalam sistem seperti DBA,
programmer, aplikasi, pengguna akhir, dan lain-lain.
Beberapa fasilitas yang disediakan dalam DBMS, yaitu :
1. DBMS memungkinkan user untuk menentukan suatu basis
data, biasanya menggunakan Data Definition Language
(DDL). DDL memungkinkan user untuk menspesifikasikan
tipe dan struktur data serta batasan-batasan data yang akan
33
disimpan dalam basis data. DDL memungkinkan pembuatan
dan penghancuran objek-objek yang ada dalam basis data
seperti skema, domain, table, view dan index.
2. DBMS memungkinkan user untuk melakukan insert, update,
delete, dan retrieve terhadap data-data yang ada dalam basis
data melalui Data Manipultion Language (DML). DML
menyediakan suatu fasilitas umum bagi data yang disebut
query language.Pengoperasian data yang akan dimanipulasi
biasanya meliputi :
1) Penambahan data baru ke dalam basis data.
2) Modifikasi data yang disimpan ke dalam basis data.
3) Pengembalian data yang terdapat di dalam basis data.
4) Penghapusan data dari basis data.
3. DBMS menyediakan kontrol terhadap pengaksesan suatu
basis data misalnya sebuah keamanan yang mencegah user
yang tidak berkepentingan mengakses suatu basis data.
Keuntungan dari penggunaan DBMS (Connolly dan Begg, 2002,
p26), diantaranya :
34
1. Mengurangi redudansi data. Data yang sama cukup disimpan
sekali.
2. Menghindari inkonsistensi. Redudansi berkurang sehingga
update terhadap data yang sama hanya perlu dilakukan pada
satu tabel saja, maka tabel-tabel lain yang berhubungan akan
ikut berubah.
3. Pengaksesan data beberapa user dalam waktu yang sama.
4. Integritas. Data yang tersimpan merupakan data yang akurat.
5. Jaminan keamanan dengan pengaturan hak akses terhadap
data.
6. Standarisasi. Keseragaman dalam penyajian data.
7. Meningkatkan aksesbilitas. User dapat memperoleh data yang
diinginkan melalui query.
8. Meningkatkan produktifitas. Tidak perlu menggunakan bahasa
pemrograman yang rumit, cukup menggunakan 4thGeneration
Language.
9. Meningkatkan maintenance melalui data independence.
Aplikasi dan basis data terpisah sehingga perubahan pada
basis data tidak mengubah program aplikasi.
35
10. Meningkatkan konkurensi. Pengaturan terhadap data yang
diakses oleh beberapa user bersamaan sehingga integritas data
tidak hilang.
11. Meningkatkan fasilitas back up dan recovery data.
Kerugian DBMS (Connoly dan Berg, 2002, p29), adalah sebagai
berikut :
1. Kompleksitas.
2. Ukuran.
3. Biaya dari DBMS.
4. Biaya tambahan untuk hardware.
5. Biaya proses konversi.
6. Pengaruh kegagalan yang tinggi.
2.1.5.5 Entity-Relationship Diagram
Untuk memastikan pemahaman yang tepat terhadap data
dan bagaimana penggunaannya di dalam suatu perusahaan,
diperlukan sebuah model. Salah satunya adalah model Entity-
Relationship (ER). (Connolly dan Begg, 2002, p330).
36
Model ini menggunakan pendekatan Top-Down dalam
merancang basis data, dimulai dengan mengidentifikasikan data
yang penting yang disebut entity dan relationship antara data
harus direpresentasikan dalam model, kemudian ditambahkan
beberapa attribute dan constraint pada entity, attribute, dan
relationship.
1 Entity Types
Entity type adalah sekumpulan objek dengan properti yang
sama yang diidentifikasikan oleh perusahaan dan
keberadaannya independent (Connolly dan Begg, 2002, p331).
Entity Occurrence adalah objek dari entity type yang
diidentifikasikan secara unik (Connolly dan Begg, 2002,
p333).
Entity type dapat diklasifikasikan menjadi :
a) Strong entity type, yaitu entity type yang keberadaannya
tidak bergantung pada entity type lainnya (Connolly dan
Begg, 2002, p342).
b) Weak entity type, yaitu entity type yang keberadaannya
bergantung pada entity type lainnya (Connolly dan Begg,
2002, p343).
37
2 Relationship Types
Relationship type adalah sekumpulan asosiasi antara
entity types yang ada dan mempunyai arti (Connolly dan
Begg, 2002, p334).
Relationship Occurrence adalah suatu pernyataan yang
dapat diidentifikasi secara unik, termasuk satu kejadian
(occurrence) dari tiap entity type yang berpartisipasi
(Connolly dan Begg, 2002, p334).
3 Atribut
Atribut merupakan sifat-sifat dari sebuah entitytype atau
relationshiptype (Connolly dan Begg, 2002, p338). Atribut
domain adalah kumpulan nilai yang diperbolehkan untuk satu
atau lebih atribut. Atribut dapat dibagi menjadi empat, yaitu :
a) Simple / composite attributes
Simple attribute adalah atribut yang terdiri dari
satu komponen tunggal (single) yang keberadaannya
independent.
Composite attribute adalah atribut yang terdiri dari
beberapa komponen yang keberadaannya independent
(Connolly dan Begg, 2002, p339).
38
Single-Valued and Multi-Valued attributes
Single-valued attribute adalah atribut yang mempunyai
nilai tunggal untuk setiap kejadian atau sebuah tipe entity.
Multi-valued attribute adalah atribut yang mempunyai
beberapa nilai untuk setiap kejadian atau sebuah tipe entity
(Connolly dan Begg, 2002, p339).
b) Derived attributes
Derived attribute adalah atribut yang memiliki
nilai yang dihasilkan dari satu atau beberapa atribut
lainnya dan tidak harus berasal dari entity yang sama
(Connolly dan Begg, 2002, p340).
c) Keys
1) Candidate key, merupakan sejumlah kecil atribut
dari entity yang mengidentifikasikan setiap
kejadian dari entity tersebut secara unik (Connolly
dan Begg, 2002, p340).
2) Primary key, merupakan candidate key yang dipilih
untuk mengidentifikasikan setiap kejadian dari
entity tersebut secara unik (Connolly dan Begg,
2002, p341).
39
3) Composite key, merupakan candidate key yang
terdiri dari dua atau lebih atribut (Connolly dan
Begg, 2002, p341).
4) Foreign key, adalah sebuah atribut atau
sekumpulan atribut pada suatu relasi yang sama
dengan candidate key dari beberapa relasi lainnya
(Connolly dan Begg, 2002, p79).
4 Structural Constraint
Multiplicity adalah jumlah kejadian (occurrence) yang
mungkin terjadi pada sebuah tipe entity yang berhubungan ke
sebuah occurrence dari tipe entity lain pada suatu relationship
(Connolly dan Begg, 2002, p344).
Derajat yang biasanya digunakan pada suatu relationship
(Connolly dan Begg, 2002, p344) adalah binary relationship,
yang terdiri atas :
1. One-to-One (1:1) Relationship
2. One-to-Many (1:*) Relationship
3. Many-to-Many (*:*) Relationship
40
2.1.5.6 Normalisasi
Menurut Thomas M. Connoly dan Carolyn Begg (2002,
p386), normalisasi adalah suatu teknik dalam membuat
sekumpulan relasi dengan properti yang sesuai berdasarkan
kebutuhan suatu perusahaan. Hasil dari normalisasi adalah sebuah
desain database logika yang konsisten secara terstruktur dan
memiliki redudansi minimal.
1 Denormalisasi
Kadang kala desain database yang dinormalisasi tidak
menyediakan efisiensi proses yang maksimum.
Konsekuensinya, ada kecenderungan dimana lebih
memungkinkan untuk mengabaikan keuntungan yang
diperoleh dari database yang telah dinormalisasi demi
performa yang dihasilkan. Hal ini dapat diterapkan pada
sistem yang tidak menemukan kebutuhan (requirement) akan
performa.
Denormalisasi merupakan perbaikan pada skema relasi
dimana derajat normalisasi untuk suatu relasi yang
dimodifikasi lebih rendah daripada derajat sedikitnya satu dari
relasi orisinil (Connoly dan Begg, 2002, p507). Denormalisasi
disebut juga perbaikan penggunaan (usage).
1. Denormalisasi membuat implementasi lebih rumit.
41
2. Denormalisasi sering kali mengorbankan fleksibilitas.
3. Denormalisasi mempercepat pengambilan (retrieval),
tetapi memperlambat pembaharuan (update).
2.1.6 Interaksi Manusia dan Komputer
Desain interface yang baik mengacu pada standar yang dijabarkan di
dalam Delapan Aturan Emas (Shneiderman, 2005, p.74-75), yaitu sebagai
berikut :
1. Konsistensi
Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah
yang digunakan pada prompt, menu, serta layar bantuan.
2. Memungkinkan pengguna untuk menggunakan shortcut
Ada kebutuhan dari pengguna yang sudah ahli untuk meningkatkan
kecepatan interaksi, sehingga diperlukan singkatan, tombol fungsi,
perintah tersembunyi, dan fasilitas makro.
3. Memberikan umpan balik yang informative
Untuk setiap tindakan operator, sebaiknya disertakan suatu sistem
umpan balik. Untuk tindakan yang sering dilakukan dan tidak
terlalu penting, dapat diberikan umpan balik yang sederhana.
Tetapi ketika tindakan merupakan hal yang penting, maka umpan
balik sebaiknya lebih substansial. Misalnya muncul suatu suara
42
ketika salah menekan tombol pada waktu input data atau muncul
pesan kesalahannya.
4. Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok
dengan bagian awal, tengah, dan akhir. Umpan balik yang
informatif akan memberikan indikasi bahwa cara yang dilakukan
sudah benar dan dapat mempersiapkan kelompok tindakan
berikutnya.
5. Memberikan penanganan kesalahan yang sederhana
Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat
melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat
mendeteksi kesalahan dengan cepat dan memberikan mekanisme
yang sedehana dan mudah dipahami untuk penanganan kesalahan.
6. Mudah kembali ke tindakan sebelumnya
Hal ini dapat mengurangi kekuatiran pengguna karena pengguna
mengetahui kesalahan yang dilakukan dapat dibatalkan; sehingga
pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang
belum biasa digunakan.
7. Mendukung tempat pengendali internal (internal locus of
control)
Pengguna ingin menjadi pengontrol sistem dan sistem akan
merespon tindakan yang dilakukan pengguna daripada pengguna
merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem
43
dirancang sedemikan rupa sehingga pengguna menjadi inisiator
daripada responden.
8. Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang
sederhana atau banyak tampilan halaman yang sebaiknya
disatukan, serta diberikan cukup waktu pelatihan untuk kodedan
urutan tindakan.
2.1.7 Java
Bahasa pemrograman Java merupakan bahasa pemrograman
berbasis objek yang berasal dari perpaduan sifat dari sejumlah bahasa
pemrograman, yaitu C, C++, Object-C, SmallTalk, dan Common LISP.
Java dilengkapi dengan keamanan dan paradigma pemrograman yang
sederhana , sehingga bisa dikatakan Java adalah bahasa pemrograman
yang sederhana (Abdul Kadir, 2004, p2).
2.1.7.1 Java Graphical User Interface (GUI)
Graphical User Interface (GUI) membuat sistem lebih
user-friendly dan mudah untuk digunakan. Bahasa pemrograman
Java menyediakan tools untuk desain visualisasi dan
pengembangan interface dari GUI. Ini memungkinkan
programmer untuk merangkai secara cepat elemen dari user
44
interface (UI) untuk sebuah aplikasi berbasis Java dengan koding
yang minimum (Daniel Liang, 2004, p596).
2.1.7.2 Java Networking
Java Application Programming Interface (API)
menyediakan class untuk membuat soket yang memfasilitasi
komunikasi program melalui internet. Soket merupakan bagian
akhir (ujung) koneksi logika di antara dua host dan dapat
digunakan untuk mengirim dan menerima data. Java
menggunakan soket untuk mendukung operasi input dan output,
sehingga program dapat menulis atau membaca ke soket seperti
halnya membaca atau menulis ke file (Daniel Liang, 2004,
p1042).
Pemrograman networking umumnya membutuhkan
keterlibatan server dan satu atau lebih client. Client mengirim
request kepada server, lalu server meresponnya. Client
memulainya dengan melakukan koneksi dengan server. Server
dapat menyetujui ataupun menolak koneksi dari client tersebut.
Setelah koneksi terhubung, server dan client terhubung melalui
soket. Server harus berada dalam status running saat koneksi
dilakukan oleh client. Server menunggu request koneksi dari
client.
45
2.1.7.3 Java 2D
Java 2D merupakan sebuah Application Programming
Interface (API) yang digunakan untuk mengembangkan peranti
lunak yang berhubungan dengan grafik (Jamie Jaworski, 1999,
p10). Java 2D mendukung penggambaran dua dimensi,
pemrosesan image, renderinggrafik, manajemen warna, dan
pencetakan. Meliputi pula model gambar yang mendukung
lineart, teks, image, spasial dan transformasi warna, dan
komposisi warna. Modelnya bersifat device-independent,
memungkinkan untuk menampilkan dan mencetak grafik yang di-
render dalam cara-cara yang konsisten.
2.2 Teori-teori Khusus yang Berhubungan dengan Topik Yang Dibahas
Bab ini menjelaskan beberapa teori yang bersifat spesifik (khusus) yang
digunakan dalam aplikasi sistem monitoring Jembatan Suramadu.
2.2.1 Jembatan Nasional Suramadu
Jembatan Nasional Suramadu adalah jembatan yang melintasi
Selat Madura, menghubungkan Pulau Jawa (di Surabaya) dan Pulau
Madura (di Bangkalan, tepatnya timurKamal), Indonesia. Dengan
panjang 5.438 m, jembatan ini merupakan jembatan terpanjang di
Indonesia saat ini. Jembatan Suramadu terdiri dari tiga bagian yaitu jalan
46
layang (causeway), jembatan penghubung (approach bridge), dan
jembatan utama (main bridge).
Jembatan ini diresmikan awal pembangunannya oleh
Presiden Megawati SoekarnoPutri pada 20 Agustus 2003 dan diresmikan
pembukaannya oleh Presiden Susilo Bambang Yudhoyono pada 10
Juni 2009. Pembangunan jembatan ini ditujukan untuk mempercepat
pembangunan di Pulau Madura, meliputi bidang infrastruktur dan
ekonomi di Madura, yang relatif tertinggal dibandingkan kawasan lain di
Jawa Timur. Perkiraan biaya pembangunan jembatan ini adalah
4,5 triliun rupiah.
Pembuatan jembatan ini dilakukan dari tiga sisi, baik sisi
Bangkalan maupun sisi Surabaya. Sementara itu, secara bersamaan juga
dilakukan pembangunan bentang tengah yang terdiri darimain
bridge dan approach bridge.
2.2.1.1 Konstruksi Jembatan Suramadu
Jembatan Suramadu pada dasarnya merupakan gabungan
dari tiga jenis jembatan dengan panjang keseluruhan sepanjang
5.438 meter dengan lebar kurang lebih 30 meter. Jembatan ini
menyediakan empat lajur dua arah selebar 3,5 meter dengan dua
lajur darurat selebar 2,75 meter. Jembatan ini juga menyediakan
lajur khusus bagi pengendara sepeda motor disetiap sisi luar
jembatan.
47
1 Jalan Layang
Jalan layang ataucausewaydibangun untuk
menghubungkan konstruksi jembatan dengan jalan darat
melalui perairan dangkal di kedua sisi. Jalan layang ini terdiri
dari 36 bentang sepanjang 1.458 meter pada sisi Surabaya dan
45 bentang sepanjang 1.818 meter pada sisi Madura.
Jalan layang ini menggunakan konstruksi penyangga PCI
dengan panjang 40 meter tiap bentang yang disangga pondasi
pipa baja berdiameter 60 cm.
2 Jembatan Penghubung
Jembatan penghubung atauapproach
bridge menghubungkan jembatan utama dengan jalan layang.
Jembatan terdiri dari dua bagian dengan panjang masing-
masing 672 meter.
Jembatan ini menggunakan konstruksi penyangga beton
kotak sepanjang 80 meter tiap bentang dengan 7 bentang tiap
sisi yang ditopang pondasi penopang berdiameter 180 cm.
3 Jembatan Utama
Jembatan utama atau main bridge terdiri dari tiga bagian
yaitu dua bentang samping sepanjang 192 meter dan satu
bentang utama sepanjang 434 meter.
48
Jembatan utama menggunakan konstruksi cable
stayed yang ditopang oleh menara kembar setinggi 140 meter.
Lantai jembatan menggunakan konstruksi komposit setebal
2,4 meter.
Untuk mengakomodasi pelayaran kapal laut yang
melintasi Selat Madura, jembatan ini memberikan ruang bebas
setinggi 35 meter dari permukaan laut. Pada bagian inilah
yang menyebabkan pembangunannya menjadi sulit dan
terhambat, dan juga menyebabkan biaya pembangunannya
membengkak.
49
Nama resmi Jembatan Nasional Surabaya - Madura
Mengangkut 8 lajur
Melintasi Selat Madura
Lokasi Jawa Timur
Desain Cable stayed
Panjang total 5,438 m (17.841 kaki)
Lebar 30 m (98 kaki)
Tinggi 146 m (479 kaki)
Bentang utama 434 m (1.424 kaki)
Jumlah bentangan 2 (jembatan utama)
6 (keseluruhan)
Vertical clearance 35 m (115 kaki)
Tanggal dibangun 20 Agustus 2003
Tanggal pembukaan 10 Juni 2009
Koordinat 7°11′3″S 112°46′48″E
Tabel 2.2 Spesifikasi Jembatan Suramadu
50
Gambar 2.14 Konstruksi Jembatan Suramadu
51
2.2.2 Sensor
Secara umum, sensor merupakan alat yang merubah
(convert) energi dari satu bentuk ke energi bentuk lainnya. Energi
masukan ke sensor merepresentasikan fenomena fisik dari benda
yang sedang diukur / diuji. Input ini kemudian mengacu sebagai
ukuran dari keluaran. Bentuk umum dari energi masukan
termasuk energi mekanis, panas, listrik, magnetis, radiasi, dan
kimia. Ada beberapa jenis sensor untuk mengukur beberapa
parameter yang dimungkinkan untuk diukur.
Pada kebanyakan pengujian dan monitoring jembatan,
variabel fisik yang diukur berkaitan dengan energi mekanis,
seperti: percepatan linear / angular, gaya, panjang, dan tekanan.
Energi keluaran dari sensor umumnya energi listrik seperti
tegangan dan arus atau energi mekanis.
Energi keluaran tersebut dapat dalam format sinyal analog
atau digital. Apabila masih dalam bentuk sinyal analog, maka
sinyal tersebut harus dirubah ke dalam bentuk digital oleh DAS
(Sistem Data Akuisisi) sehingga komputer dapat membacanya,
menganalisa, dan menyimpan hasil pengukuran tersebut.
Setiap sensor akan memiliki sedikitnya 2 komponenberikut:
1. Elemen penginderaan / sensing
52
Elemen penginderaan ini merupakan fundamen / dasar dari
mekanisme tranduksi yang merubah suatu energi ke energi
lainnya. Sensor yang sangat sederhana hanya memiliki
komponen ini, sementara multiple sensor memiliki beberapa
elemen penginderaan.
2. Selubung sensor
Selubung sensor terdiri atas material fisik yang mengandung
elemen penginderaan dan alat penghubung/ sensor.
2.2.2.1 Jenis-jenis Sensor di Jembatan Suramadu
Jenis-jenis sensor yang dikategorikan sesuai dengan jenis
pengukurannya. Sensor elektronik sejauh ini paling banyak
digunakan untuk pengujian dan monitoring jembatan.
1. Anemometer
Anemometer merupakan sebuah alat yang digunakan
untuk mengukur kecepatanangin dan arah angin. Terdapat
beberap jenis anemometer, salah satunya adalah anemometer
dengan jenis sonic. Anemometer jenis sonic ini, menggunakan
gelombang suara ultrasonic untuk mengukur kecepatan angin.
Anemometer sonic dapat mengukur dengan resolusi
temporal yang sangat halus (20Hz atau lebih baik) yang
membuat anemometer ini sanga cocok jika terjadi turbulensi.
Bagian-bagian pada anemometer jenis ini tidak bergerak
53
sehingga sangat cocok digunakan untuk jangka waktu yang
panjang pada kondisi lingkungan yang terpapar oleh cuaca.
Pada sistem monitoring jembatan anemometer
menginformasikan besaran kecepatan dan arah angin di sekitar
jembatan sehingga jika kecepatan angin berada di luar batas
kewajaran (kecepatan terlalu tinggi) dan dapat mengganggu
operasional jembatan, operator yang melakukan monitoring
jembatan melalui sistem dapat mengambil tindakan sesuai
dengan prosedur keselamatan yang berlaku.
Terdapat beberapa jenis anemometer jenis sonic :
1) Two-Dimentional Sonic Anemometer(Bi-Axial)
Digunakan untuk mengukur kecepatan angin dan arah
angin, biasa diaplikasikan untuk navigasi kapal,
penerbangan, dan lain-lain.
Gambar 2.15Two-dimentionalsonic anemometer (bi-axial)
54
2) Three-Dimentional Sonic Anemometer(Tri-Axial)
Digunakan untuk mengukur kecepatan angin dan arah
angin dari tiga sumbu sehingga hasil pengukuran menjadi
lebih akurat.
Gambar 2.16Three-dimentionalsonic anemometer (tri-axial)
2. Tiltmeter
Tiltmeter mengukur rotasi benda yang diuji terhadap
suatu datum sebagai referensi yang umumnya berupa vektor
gravitasi. Tiltmeter kerap digunakan sebagai bagian
instrumentasi permanen yang ditempatkan pada bagian
jembatan untuk monitoring jembatan. Tiltmeter memberikan
informasi posisi jembatan, berdasarkan posisi x axis dan y
axis, sehingga dapat diketahui kondisi kemiringan jembatan.
Melalui kondisi kemiringan jembatan yang terpantau dari
sistem monitoring, operator yang bertugas melakukan
55
monitoring dapat mengambil tindakan sesuai dengan prosedur
keselamatan yang berlaku jika kondisi yang terpantau
dianggap tidak wajar sehingga dapat mengganggu operasional
jembatan.
Jenis tiltmeter yang umumnya banyak digunakan dalam
pengujian dan monitoring jembatan, adalah sebagai berikut:
1) Vibrating Wire Tiltmeters
Umumnya sesuai untuk pengukuran dengan responnya
lamban untuk jangka panjang.
2) Electrolytic Tiltmeters
Umumnya sesuai untuk pengukuran dengan responnya
lamban untuk jangka panjang.
3) Inertial Based Inclinometers.
Sangat sesuai untuk pengukuran dengan respon yang
cepat, seperti akibat beban lalu lintas.
Gambar 2.17Tiltmeter
56
3. Air Temperature & Relative Humidity (AT & RH atau AtRh)
Air Temperature & Relative Humidity (AT & RH atau AtRh)
merupakan alat yang digunakan untuk mengukur suhu dan
kelembaban pada udara. Pada sistem monitoring jembatan
AtRh menginformasikan besaran nilai suhu dan kelembaban
udara di sekitar jembatan sebagai gambaran kondisi
lingkungan sekitar jembatan secara real-time.
Gambar 2.18Air Temperature&Relative Humidity (AT & RH)
4. Global Positioning Systems (GPS)
Global Positioning Systems (GPS) merupakan alat
untuk mengukur posisi dan perpindahan tanpa harus
menghubungkannya secara fisik ke lokasi titik referensi. GPS
merupakan sistem radio navigasi dengan cakupan dunia
(global).
Teknologi ini pada dasarnya menggunakan satelit
sebagai titik referensi untuk menghitung posisi dari suatu
57
objek. Prinsip kerja dari GPS adalah melakukan triangulasi
suatu lokasi dengan menggunakan sinyal radio satelit. Tingkat
akurasi pengukuran dengan GPS bervariasi mulai dari meter
ke milimeter.
Pada sistem monitoring jembatan GPS berperan dalam
menghasilkan nilai posisi (latitude, longitude, dan height)
jembatan secara dinamis, sehingga jika terjadi pergeseran nilai
yang perbedaannya signifikan dapat dikategorikan sebagai
kondisi yang tidak wajar (dapat mengganggu operasional
jembatan), sehingga operator yang melakukan monitoring
melalui sistem dapat mengambil tindakan sesuai dengan
prosedur keselamatan yang berlaku.
Gambar 2.19GPS receiver
58
5. Sensor Elektromagnetik (EM)
Sensor elektromagnetik(EM) pada Jembatan Suramadu
berfungsi untuk mengukur ketegangan kabel-kabel yang
menjadi penyangga antara jembatan dan pylon-plyon pada
Jembatan Suramadu. Karena jembatan ini bersifat cable state,
maka kabel-kabel tersebut bersifat krusial sebagai penyangga
jembatan, oleh karena itu monitoring ketegangan kabel pada
jembatan menjadi penting dan perlu untuk terus dipantau.
Cara kerja sensor ini adalah dengan mengirimkan arus listrik
tegangan tinggi kepada kabel – kabel peyangga jembatan
kemudian sensor mengukur tegangan kabel tersebut.
Gambar 2.20Sensor elektromagnetik (EM)
6. Sensor Fiber Optic (FO)
Sensor fiber optic (FO),berfungsi untuk mengukur
kemiringan struktur bangunan pada tiang-tiang penyangga
atau pylon Jembatan Suramadu. Sensor-sensor ini membentuk
59
suatu pola yang digunakan untuk mengukur keadaan struktur
bangunan pylon pada Jembatan Suramadu. Jika daya tarik dari
kabel peyangga Jembatan Suramadu terlalu besar yang
mengakibatkan kondisi fisik pylon jembatan membahayakan,
dapat segera dilakukan tindak lanjut untuk mencegah
terjadinya kecelakaan
Gambar 2.21 Sensor fiber optic (FO)
2.2.2 Multithreading
2.2.2.1 Pengertian Thread
Menurut Abdul Kadir (2004, p406), bahwa pengertian
thread adalah satu kumpulan instruksi yang akan dieksekusi
secara independen. Thread sangat berguna untuk membuat proses
yang interaktif. Dengan menggunakan sejumlah thread, program
tetap dapat menggerakkan sejumlah objek sembari memberikan
kesempatan pemakai untuk melakukan tanggapan melalui
keyboard.
60
2.2.2.2 Pengertian Multithreading
Menurut Abdul Kadir (2004, p406), bahwa pengertian
multithreading adalah suatu kemampuan yang memungkinkan
beberapa kumpulan instruksi atau proses dapat dijalankan secara
bersamaan dalam sebuah program.