BAB 2
LANDASAN TEORI
Pengertian Sistem
Sistem didefinisikan sebagai suatu jaringan kerja dari prosedur prosedur
2.1.2
Teori Internet
2.1.2.1
Pengertian Internet
Menurut Laudon (2012, p. 21), Internet adalah suatu jaringan
2.1.2.2
sudah
disepakati
secara
universal
untuk
menyimpan,
mencari,
Sejarah TCP/IP
Menurut Javvin Technologies (2004, p. 11), TCP/IP protocol
2.1.3
2.1.3.1
Definisi RPL
10
b.
c.
2.1.3.2
Karakteristik RPL
Secara garis besar, karakteristik perangkat lunak berbeda dengan
3.
Meskipun
industri
bergerak
menuju
konstruksi
berbasis
Lapisan RPL
Pressman (2010,p. 13) mendefinisikan rekayasa perangkat lunak
Quality focus
11
Process Model
Process Model merupakan fondasi dari RPL yang mendefinisikan
Methods
Methods
menerangkan
secara
teknis
tentang
bagaimana
modeling),
pembuatan
program
(program
construction),
4.
Tools
Tools menyediakan dukungan otomatis dan semi otomatis untuk
12
2.1.3.4
V Model
Menurut Pressman (2010, pp. 39-40), V-model adalah variasi dari
representasi
model
waterfall.
V-model
menggambarkan
kualitas
13
2.1.4
Use-Case Diagram
Menurut Whitten & Bentley (2007, p. 246-250), use-case diagram
14
1.
2.
15
3.
16
2)
3)
17
4)
Depends
On:
use
case
mana
yang
memiliki
5)
kelakuan umum.
18
b.
Class Diagram
Menurut Whitten & Bentley (2007, p. 400), class diagram
menggambarkan struktur objek yang terdapat pada sistem.
Diagram ini menunjukkan objek yang terdapat pada suatu sistem
serta relasi antara objek-objek tersebut.
19
20
1)
terbagi atas tiga bagian. Bagian atas adalah bagian nama dari
class. Bagian tengah mendefinisikan atribut class. Bagian akhir
mendefinisikan method dari sebuah class.
2)
sendiri dan harus merupakan bagian dari class yang lain, maka
class tersebut memiliki relasi composition terhadap class tempat
21
dia
bergantung
tersebut.
Sebuah
hubungan
composition
4)
Gambar 2. 14 Aggregation
5)
2.
3.
22
c.
Activity Diagram
Menurut Whitten & Bentley (2007, p. 390), Activity
diagram adalah sebuah diagram yang dapat digunakan untuk
mendeskripsikan secara grafis aliran kerja dari sebuah proses
bisnis, langkah-langkah dari sebuah use case, atau logika dari
sebuah perilaku objek (object behavior/method).
Activity diagram adalah representasi grafis dari aliran
kerja (workflow) atas aktivitas-aktivitas yang bertahap dan aksiaksi di dalam sebuah sistem. Diagram ini juga mendukung proses
seleksi, pengulangan (iterasi), dan konkurensi.
Activity diagram sejenis dengan state diagram/statechart
diagram.
Diagram
ini
mendeskripsikan/menggambarkan
No
1
Simbol
Initial
node
Gambar
Keterangan
Menunjukkan awal dari suatu
23
proses.
2
Actions
Menunjukkan langkah-langkah
aktivitas sistem yang terjadi.
Flow
Decision
aktivitas
yang
dapat dipilih.
5
Merge
Menyatukan
flow
yang
sebelumnya
terpisah
oleh
decision.
6
Fork
Menotasikan permulaan
aksi
Join
telah
diselesaikan
24
Activity
Final
25
26
d.
Sequence Diagram
Menurut Whitten & Bentley (2007, pp. 394-395), Sequence
diagram menggambarkan bagaimana objek-objek berinteraksi satu sama
lain melalui pesan dalam eksekusi dari sebuah use case atau operasi.
Sebuah system sequence diagram membantu untuk mengidentifikasi
pesan tingkat tinggi yang masuk dan keluar dari sistem. (p. 394)
Beberapa notasi yang terdapat di dalam system sequence diagram, yaitu:
1.
2.
3.
4.
5.
27
6.
7.
8.
2.1.5
Javascript
Menurut Flanagan (2011, p. 1), Javascript adalah bahasa pemrograman
28
2.1.6
Waktu belajar
Merupakan suatu tolak ukur seberapa lama seorang user mampu
mempelajari tindakan apa saja yang diperlukan untuk suatu tugas
yang disediakan.
2.
Kecepatan kinerja
Merupakan suatu tolak ukur seberapa lama suatu tugas dapat
dilaksanakan oleh user.
29
3.
4.
Daya ingat
Merupakan suatu tolak ukur seberapa baik seorang user dapat
mengingat pengetahuan yang didapatkan dalam waktu tertentu.
5.
Kepuasan subjektif
Merupakan suatu tolak ukur seberapa besar tingkat kesukaan user
pada tampilan antarmuka yang ada pada aplikasi.
2.1.6.2
30
2.
3.
4.
5.
31
harus
mampu
mendeteksi
kesalahan,
menjelaskan,
dan
7.
8.
32
2.1.7
33
2.1.7.1
Karakteristik OOP
Menurut Clark (2011, pp. 3-5), beberapa karakteristik yang
OOP, objek
adalah
sebuah
struktur
data
untuk
34
b. Abstraction
Tanpa kemampuan untuk melakukan abstraksi atau menyaring
sifat benda asing, akan terjadi kesulitan untuk memproses
sejumlah informasi dan konsentrasi pada tugas yang sedang
dilakukan.
c. Encapsulation
Fitur penting lainnya dari OOP adalah enkapsulasi. Enkapsulasi
adalah proses dimana tidak ada akses langsung yang diberikan
untuk data, melainkan tersembunyi. Untuk mendapatkan akses ke
data, diperlukan interaksi dengan objek yang bertanggung jawab
untuk data.
d. Polymorphism
Polimorfisme adalah kemampuan dari dua objek yang berbeda
untuk merespon pesan permintaan yang sama dalam cara yang
unik.
e. Inheritance
Dalam OOP inheritance digunakan untuk mengklasifikasikan
objek dalam program sesuai dengan karakteristik dan fungsi yang
35
f. Aggregation
Agregasi adalah ketika sebuah objek terdiri dari gabungan dari
benda-benda lain yang bekerja sama. Misalnya, mesin pemotong
rumput adalah gabungan dari objek roda, mesin, pisai, dan
sebagainya. Bahkan, objek mesin adalah gabungan dari berbagai
objek. Kemampuan untuk menggunakan agregasi di dalam OOP
merupakan fitur canggih yang memungkinkan implementasi
proses bisnis dan model secara akurat di dalam suatu program.
2.1.8
Definisi Database
Menurut Connoly (2005, p. 15), database adalah kumpulan data
yang saling berhubungan secara logis dan dirancang untuk memenuhi
kebutuhan informasi dalam suatu organisasi.
Menurut Whitten & Bentley (2007, p. 518), database adalah
kumpulan data yang saling terkait/ berhubungan.
36
2.1.9
37
pada database.
Terdapat dua tipe DML yaitu: procedural dan nonprocedural. Secara garis
besar perbedaan diantara dua tipe data manipulation language tersebut
adalah DML procedural menspesifikasikan bagaimana hasil dari sebuah
pernyataan DML diperoleh. Sedangkan DML nonprocedural hanya
menjelaskan apa hasil yang akan diperoleh.
2.1.10 Definisi Database Management System
Menurut Connoly & Begg (2005, p. 16), DBMS (database management
system) merupakan suatu system perangkat lunak computer yang memungkinkan
pengguna untuk mendefinisikan, membuat dan mengatur database serta
menyediakan suatu kontrol akses ke database.
Menurut Whitten & Bentley (2007, p. 525), DBMS (database
management system) adalah perangkat lunak komputer yang terspesialisasi dari
komputer vendor yang digunakan untuk menciptakan, mengakses, mengontrol,
dan mengatur database.
Sehingga dapat disimpulkan DBMS (database management system)
adalah suatu sistem perangkat lunak komputer yang terspesialisasi dan
38
ke database.
Memungkinkan pengguna atau user untuk melakukan insert, update,
delete dan retrieve dari database, biasanya melalui Data Manipulation
Language (DML)
Menyediakan akses terkontrol ke database
Software (perangkat lunak), terdiri dari perangkat lunak DBMS itu sendiri
39
3.
dilihat dari sudut pandang pengguna akhir. Data berperan sebagai jembatan
antara komponen prosedur dan komponen manusia.
4.
terlibat dalam sistem seperti DBA, programmer, aplikasi, pengguna, akhir dan
lain-lain.
Konsistensi data
Share data.
Meningkatkan keamanan.
Standar pelaksanaan.
40
membuat aplikasi pada satu sumber data sehingga akan penghematan biaya).
Meningkatkan produktivitas.
Kompleksitas.
Ukuran.
Biaya DBMS.
41
2.2.2
Node.JS
Menurut jurnal yang ditulis oleh Iqbal (2012) Node.js adalah
sistem perangkat lunak yang didesain untuk pengembangan aplikasi web.
Aplikasi ini ditulis dalam bahasa JavaScript, menggunakan basis event
dan asynchrounous I/O. Tidak seperti kebanyakan bahasa JavaScript yang
42
2.2.3
Mongo DB
Menurut Francia (2012, p. 3), MongoDB dibangun oleh Eliot
Horowitz dan Dwight Merriman untuk mengoptimalkan operasi dan
skala. Filosofi dibalik MongoDB adalah untuk memiliki fungsi sebanyak
mungkin sambil memungkinkan pengembangan secara horizontal dan
disaat
bersamaan
pengembang.
memastikan
keserasian
dalam
pengalaman
43
2.2.4
Android
2.2.4.1
Pengenalan Android
Menurut Burnette (2009, p. 12), Android merupakan tooklkit
perangkat lunak open source baru untuk perangkat mobile masa depan,
android sendiri diciptakan oleh perusahaan Google yang bekerja sama
dengan Open Handset Alliance.
2.2.4.2
oleh
mashup
internet.
Bagian
dari
satu
aplikasi
dapat
44
45
8.
Semakin
berkembangnya
membuat
android
terlihat
46
47
2.2.5
Sencha Touch 2
Menurut Kosmaczewski (2012, p. 65), Sencha Touch adalah salah
satu UI Framework yang memiliki kemiripan dengan CocoaTouch,
Swing, maupun .NET. Ditulis sepenuhnya dalam bahasa JavaScript.
Sencha Touch menyediakan widget widget, bereaksi terhadap sapuan
jari kompleks, dan dipersiapkan
2.2.6
Phonegap
Menurut Kosmaczewski (2012, p. 91), PhoneGap diciptakan oleh
perusahaan bernama Nitobi yang kemudian di akuisisi oleh Adobe. Lebih
daripada itu, PhoneGap telah menjadi proyek resmi dari Apache
Foundation dan sekarang dinamakan Apache Cordova. Secara teknis,
dapat dikatakan bahwa PhoneGap adalah distribusi dari Apache Cordova.
PhoneGap membungkus aplikasi yang diciptakan menggunakkan
HTML, CSS dan JavaScript ke dalam bahasa native menggunakkan
komponen web browser native yang disediakan oleh kebanyakan
smartphone. Menurut promosi dari Adobe, PhoneGap merupakan dua
hal:
48
Wrapper
PhoneGap menangani HTML, CSS dan JavaScript file dan
menyatukannya dalam suatu cara sehingga dapat dirilis di online
store.
Bridge
PhoneGap juga menyediakan mekanisme HTML5 web
applications, yang memungkinkan mereka mengakses dan
memakai informasi dan service yang tersedia dari aplikasi
bawaan, seperti buku kontak lokal, sistem notifikasi, suara, dan
keperluan lainnya.
2.2.7
Websocket
Menurut jurnal yang ditulis oleh Sharma (2011, p. 134) ,Websocket di
49
50
2.2.8
PHP
Menurut Suryatiningsih (2009, p. 141), PHP adalah bahasa scripting yang
menyatu dengan HTML dan dijalankan pada sisi server. Artinya semua sintaks
yang diberikan akan sepenuhnya dijalankan pada server sedangkan yang
dikirimkan ke browser hanya hasilnya saja.
Melalui jurnal yang ditulis oleh Korhonen (2008, p. 12), System
GEOMAGIA50 menggabungkan teknologi open source PHP dan MySQL.
GEOMAGIA50 memiliki 3798 klasifikasi intensitas dari 50.000 tahun
lalu(49.900-1998 M?), diterbitkan dalam 165 peer-review artikel jurnal, laporan,
dan bab buku. Hal ini membuat GEOMAGIA50 alat yang ideal untuk
mempelajari perilaku medan magnet Holocone.
2.2.9
Java
Menurut Friesen (2010, p. 1), Java adalah platform untuk mengeksekusi
proram dan terdiri dari library untuk menjalankan program dan berinteraksi
dengan sistem operasi yang mendasarinya. Java adalah bahasa pemrograman
yang sederhana, berorientasi objek, terdistribusi, diinterpretasikan, kuat, aman,
arsitektur netral, portable, kinerja tinggi, multithreaded, dan dinamis. Java dapat
dijalankan di berbagai jenis sistem operasi dan arsitektur komputer.
51
Java pertama kali dikembangkan oleh tim yang dipimpin oleh James
Gosling di Sun Microsystem. Pada mulanya disebut Oak yang dirancang pada
tahun 1991 untuk digunakan dalam chip tertanam dalam peralatan elektronik
konsumen. Kemudian pada tahun 1995, berganti nama menjadi Java yang
didesain ulang untuk mengembangkan aplikasi internet.
2.2.10 Socket IO
Socket.IO menurut website resminya (LearnBoost, 2012) merupakan
Application Programming Interface (API) dari Websocket yang dibuat oleh
Guillermo Rauch, CTO dari LearnBoost. Socket IO ini akan membuat
sambungan yang dibentuk dengan Websocket untuk menciptakan aplikasi real
time yang dapat bekerja dimana saja. Socket.IO juga menyediakan API untuk
Node.JS yang banyak ditemukan pada API sisi klien.
2.2.11 MySQL
Menurut Kadir (2009, p. 15), MySql merupakan software yang tergolong
database server dan bersifat Open Source. Open Source menyatakan bahwa
software ini dilengkapi dengan source code (kode yang dipakai untuk membuat
MySql),selain tentu saja bentuk executable-nya atau kode yang dapat dijalankan
secara langsung dalam sistem operasi, dan bisa diperoleh dengan cara
mengunduh di Internet secara gratis.