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
iii
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 : UseCase1
Gambar 2.2 Notasi use case
3. Association Sebuah relasi struktural yang menghubungkan antara actor dengan use case.
14
Notasi :
Gambar 2.3 Notasi association
4. System Boundary Menggambarkan batasan dari sistem yang akan dibuat yang mengelilingi sejumlah use case. Notasi : System
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).
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 : class name attributes operations() Gambar 2.5 Notasi class
2. Association Merupakan hubungan struktural antar class yang saling berelasi. Notasi : Gambar 2.6 Notasi association
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 : 1
0..1
1..*
1
1..*
1
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
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 : Object1
Gambar 2.10 Notasi object lifeline
2. Activation Menggambarkan periode waktu ketika pemrosesan terjadi dalam objek tersebut.
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
pendekatan
object
mencukupi
dan
lunak
yang
oriented
dibangun
menghasilkan
independen
dengan
menggunakan hasil
yang
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 metodemetode 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. Prosedur atau fungsi yang didefinisikan sebagai
Method
bagian dari sebuah class atau object; Menunjuk pada implementasi prosedur Permintaan yang dikirim ke sebuah object untuk
Message
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. Mekanisme untuk mendefinisikan sebuah class
Inheritance
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 connectionoriented 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
4
.
x
.
x
.
x
Layer Network Access Layer ini menghubungkan paket-paket data dari layer atas masuk ke dalam koneksi fisik jaringan. Pada layer ini, paketpaket 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 EntityRelationship (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 Konsekuensinya, memungkinkan
efisiensi ada untuk
proses
yang
kecenderungan mengabaikan
maksimum. dimana
keuntungan
lebih 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
pengembangan
tools
interface
untuk dari
desain
GUI.
Ini
visualisasi
dan
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 dirender 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 masingmasing 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
penerbangan, dan lain-lain.
Gambar 2.15Two-dimentionalsonic anemometer (bi-axial)
kapal,
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.