Anda di halaman 1dari 44

8

BAB 2
LANDASAN TEORI

2.1 Teori Umum


2.1.1

Pengertian Sistem
Sistem didefinisikan sebagai suatu jaringan kerja dari prosedur prosedur

yang saling berhubungan, berkumpul bersamasama untuk melakukan suatu


kegiatan atau untuk menyelesaikan suatu aturan tertentu (Kusrini & Koniyo,
2007, p. 5)

2.1.2

Teori Internet

2.1.2.1

Pengertian Internet
Menurut Laudon (2012, p. 21), Internet adalah suatu jaringan

global yang menggunakan standar yang umum unutk menghubungkan


jutaan jaringan yang berbeda beda.

2.1.2.2

Pengertian World Wide Web


Menurut Laudon (2012, p. 21), WWW (world wide web)

merupakan layanan yang disediakan oleh internet dengan standar yang

sudah

disepakati

secara

universal

untuk

menyimpan,

mencari,

memformat, dan menampilkan informasi menggunakan arsitektur


client/server.
2.1.2.3

Sejarah TCP/IP
Menurut Javvin Technologies (2004, p. 11), TCP/IP protocol

merupakan dasar teknikal dari internet. Pengembangan TCP/IP dimulai


dengan nama Project DOD. Saat ini kebanyakan protocol dikembangkan
oleh Internet Engineering Task Force (IETF) yang berada dibawah
Internet Architecture Board (IAB), sebuah organisasi yang disponsori
oleh pemerintah Amerika Serikat. Fungsi utama dari TCP/IP adalah
melakukan pengalamatan (addressing) dan rute (routing) (IP/IPv6 dalam
layer jaringan) dan transportasi kontrol (TCP, UDP dalam layer
transport).

2.1.3

Teori Rekayasa Piranti Lunak (RPL)

2.1.3.1

Definisi RPL

Menurut Pressman (2010, p. 4), piranti lunak (software) adalah:


a.

Instruksi (program-program komputer) yang ketika dieksekusi


akan memberikan fitur, fungsi, dan performa sesuai yang
diharapkan.

10

b.

Kumpulan struktur data yang memungkinkan program untuk


memanipulasi informatasi, dan

c.

Informasi yang bersifat deskriptif dalam bentuk hard copy


ataupun bentuk-bentuk virtual yang mendeskripsikan aplikasi dan
penggunaan program.

2.1.3.2

Karakteristik RPL
Secara garis besar, karakteristik perangkat lunak berbeda dengan

perangkat keras. Menurut Pressman (2010, p. 4), karakteristik dari


perangkat lunak adalah sebagai berikut:
1.

Perangkat lunak dikembangkan atau direkayasa, tidak diproduksi

dalam pengertian klasik.


2.

Perangkat lunak tidak usang.

3.

Meskipun

industri

bergerak

menuju

konstruksi

berbasis

komponen, sebagian besar perangkat lunak terus dibangun secara khusus.


2.1.3.3

Lapisan RPL
Pressman (2010,p. 13) mendefinisikan rekayasa perangkat lunak

merupakan teknologi yang bertingkat atau berlapis. Lapisan/tingkatan


tersebut terbagi atas empat lapisan, yaitu:
1.

Quality focus

11

Quality focus merupakan batu landasan yang menopang tools,


methods, dan process dalam RPL.
2.

Process Model
Process Model merupakan fondasi dari RPL yang mendefinisikan

sebuah framework untuk sekumpulan key process area yang harus


dibangun demi keefektifan penyampaian teknologi pengembangan RPL.
3.

Methods
Methods

menerangkan

secara

teknis

tentang

bagaimana

membangun suatu perangkat lunak. Lapisan ini meliputi tugas-tugas yang


mencakup analisis kebutuhan (requirements analysis), model desain
(design

modeling),

pembuatan

program

(program

construction),

pengujian (testing), dan pendukung (support).

4.

Tools
Tools menyediakan dukungan otomatis dan semi otomatis untuk

process model dan methods.

Gambar 2.1 Software Engineering Layers

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

hubungan dari satu tindakan ke tindakan lain yang dihubungkan dengan


komunikasi, modeling dan aktifitas awal konstruksi.

Gambar 2.2 Ilustrasi V-model

13

V-model diawali dengan membuat requirement model yang


semakin disempurnakan menjadi lebih rinci dan teknikal di sisi kiri. Saat
kode sudah dihasilkan, selanjutnya melakukan serangkaian tes kualitas
tindakan jaminan (Quality Assurance Actions) yang memvalidasi masing
masing model. V-model menyediakan cara untuk memvisualisasikan
bagaimana verifikasi dan validasi tindakan yang diterapkan dalam
rekayasa software sebelumnya.

2.1.4

UML (Unified Modifying Language)


Menurut Whitten & Bentley (2007, p. 371) UML adalah suatu
konvensi pemodelan yang digunakan untuik menspesifikasikan atau
mendeskripsikan sebuah sistem piranti lunak yang terkait dengan objek.
UML terdiri dari beberapa tipe diagram, yaitu:
a.

Use-Case Diagram
Menurut Whitten & Bentley (2007, p. 246-250), use-case diagram

adalah diagram yang menggambarkan interaksi antara sistem dan


pengguna. Dengan kata lain, diagram ini mendeskripsikan siapa yang
akan menggunakan sistem itu dengan cara apa pengguna berinteraksi
dengan sistem.

14

1.

Use case adalah urutan langkah-langkah yang secara tindakan


saling terkait, baik terotomatisasi maupun secara manual untuk
melengkapi suatu tugas bisnis tunggal.

Gambar 2.3 Contoh Diagram Model Use-Case

2.

Pelaku (Actor) adalah segala sesuatu yang perlu berinteraksi


dengan sistem untuk pertukaran informasi.

15

Gambar 2.4 Simbol Aktor

3.

Hubungan (Relationship) pada diagram use case digambarkan


sebagai sebuah garis antara dua simbol. Pemaknaan hubungan
berbeda-beda tergantung bagaimana garis tersebut digambar dan
tipe simbol apa yang digunakan untuk menghubungkan garis
tersebut. Beberapa tipe hubungan yang terdapat pada diagram use
case, yaitu sebagai berikut:
1)

Gabungan (Association): hubungan antara pelaku dengan

use case, dimana terjadi interaksi di antara mereka.

Gambar 2.5 Contoh Hubungan Asosiasi

16

2)

Extend: use case yang terdiri dari langkah yang diekstraksi

dari use case yang lebih kompleks untuk menyederhanakan


masalah orisinil dan karena itu memperluas fungsinya.

Gambar 2.6 Contoh Hubungan Extension

3)

Uses: satu atau lebih use case yang melakukan berbagai

langkah fungsionalitas yang identik.

Gambar 2.7 Contoh Hubungan Uses

17

4)

Depends

On:

use

case

mana

yang

memiliki

ketergantungan pada use case lain untuk menetapkan rangkaian


use case yang perlu dikembangkan.

Gambar 2.8 Contoh Hubungan Depends On

5)

Inheritance: pada saat dua atau lebih pelaku berbagi

kelakuan umum.

18

Gambar 2.9 Contoh Hubungan Inheritance

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

Gambar 2.10 Contoh Class Diagram

Beberapa elemen yang terdapat dalam class diagram, yaitu:

20

1)

Class: digambarkan sebagai sebuah kotak yang

terbagi atas tiga bagian. Bagian atas adalah bagian nama dari
class. Bagian tengah mendefinisikan atribut class. Bagian akhir
mendefinisikan method dari sebuah class.

Gambar 2.11 Class

2)

Association: merupakan sebuah hubungan yang

paling umum antara dua class dan dilambangkan oleh sebuah


garis yang menghubungkan antara dua class. Garis ini bisa
melambangkan tipe-tipe hubungan. Contohnya one-to-one, oneto-many, many-to-many.

Gambar 2.12 Association


3)

Composition: jika sebuah class tidak bisa berdiri

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

digambarkan sebagai garis dengan ujung berbentuk jajaran


genjang berisi/solid.

Gambar 2.13 Composition

4)

Aggregation: jika sebuah class bisa berdiri sendiri

walaupun merupakan bagian dari class yang lain.

Gambar 2. 14 Aggregation

5)

Cara bagaimana atribut dan metode diakses oleh

kelas lain didefinisikan dengan visibility. UML menyediakan tiga


tingkat dari visibility, yaitu:
1.

Public: ditandai dengan simbol +

2.

Protected: ditandai dengan simbol #

3.

Private: ditandai dengan simbol -

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

kumpulan aktivitas dengan menunjukkan sekuensial dari aktivitas


yang dilakukan. Diagram ini juga bisa menunjukkan aktivitas
yang bersifat kondisional atau paralel. Berikut notasi yang
digunakan pada activity diagram:

Tabel 2.1 Simbol pada Activity Diagram

No
1

Simbol
Initial
node

Gambar

Keterangan
Menunjukkan awal dari suatu

23

proses.
2

Actions

Menunjukkan langkah-langkah
aktivitas sistem yang terjadi.

Flow

Untuk menunjuk ke aksi atau


proses yang lain. Dilengkapi
dengan kata-kata jika berasal
dari decision.

Decision

Memiiki sebuah flow masuk dan


dua atau lebih flow keluar.
Menunjukkan

aktivitas

yang

dapat dipilih.
5

Merge

Menyatukan

flow

yang

sebelumnya

terpisah

oleh

decision.
6

Fork

Menotasikan permulaan

aksi

atau proses paralel yang dapat


terjadi dalam suatu urutan atau
terjadi secara bersamaan.
7

Join

Semua aksi yang masuk ke join


harus

telah

diselesaikan

sebelum proses berlanjut.

24

Activity
Final

Menunjukkan akhir dari proses.

25

Gambar 2.15 Contoh Activity Diagram

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.

Actor, berupa aktor yang memulai pada use case ditunjukkan


dengan simbol use case aktor.

2.

System, berupa kotak yang menunjukkan sistem yang sedang


berjalan, ditandai dengan notasi titik dua (:) pada awal nama
sistem.

3.

Lifelines, berupa garis putus-putus menurun dari simbol aktor dan


sistem.

4.

Activation bars, berupa balok yang terletak di atas lifelines,


menunjukkan periode waktu ketika terdapat interaksi secara aktif.

5.

Input messages, berupa anak panah mendatar dari aktor ke sistem


yang menunjukkan pesan masuk, dimana kata pertama diawali
dengan huruf kecil, sedangkan kata berikutnya diawali dengan
huruf besar dan tidak ada spasi, diikuti dengan tanda kurung yang
berisi parameter yang dibutuhkan.

27

6.

Output messages, berupa anak panah mendatar dengan garis


putus-putus dari sistem ke aktor yang menunjukkan pesan keluar.

7.

Receiver Actor, berupa aktor lain yang menerima pesan dari


sistem.

8.

Frame, berupa kotak yang menambahkan pesan terpisah untuk


menunjukkan perulangan, alternative, atau pilihan.

2.1.5

Javascript
Menurut Flanagan (2011, p. 1), Javascript adalah bahasa pemrograman

web. Mayoritas situs web modern menggunakan JavaScript, termasuk semua


browser web modern di desktop, game consoles, tablet, dan smart phone.
Javascript adalah bahasa pemrograman berjenis untyped language,
tingkat tinggi, dan dinamis yang cocok untuk gaya pemrograman berorientasi
objek dan fungsional.
Javascript benar-benar berbeda dengan bahasa pemrograman Java, dan
akar dari bahasa scripting javascript telah berkembang menjadi bahasa untuk
keperluan umum yang kuat dan efisien.

28

2.1.6

Interaksi Manusia dan Komputer


Menurut Shneiderman dan Plaisant (2005, p. 4) ,Interaksi Manusia dan

Komputer (IMK) adalah disiplin ilmu yang berhubungan dengan perancangan,


evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh
manusia. Titik berat IMK adalah perancangan dan evaluasi antarmuka pemakai
(user interface). Antarmuka pemakai adalah bagian sistem komputer yang
memungkinkan manusia berinteraksi dengan komputer.
2.1.6.1

Lima Faktor Manusia Terukur


Menurut Shneiderman dan Plaisant (2005, p. 16), ada lima faktor

manusia terukur yang dapat dijadikan pusat evaluasi kebutuhan pengguna


dalam perancangan suatu antarmuka, yaitu:
1.

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.

Tingkat kesalahan user


Merupakan suatu tolak ukur seberapa banyak dan apa saja kesalahan
yang dilakukan user dalam mengerjakan suatu tugas.

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

Eight Golden Rules of Interface Design


Menurut Shneiderman (2005, pp. 74-75), terdapat delapan aturan

emas (eight golden rules) yang biasa digunakan dalam perancangan


antarmuka pemakai, yaitu:
1.

Berusaha untuk konsisten


Konsistensi harus dilakukan pada setiap tindakan, perintah, dan
istilah yang digunakan pada prompt, menu, layar bantu, warna
tampilan, kapitalisasi, huruf, dan sebagainya.

30

2.

Menyediakan penggunaan yang universal


Menambahkan fitur seperti tombol cepat (shortcuts) untuk
memudahkan pengguna. Pemakaian shortcuts digunakan untuk
mengurangi jumlah interaksi dan meningkatkan kecepatan
interaksi. Singkatan, tombol fungsi, dan fasilitas makro sangat
membantu untuk pengguna yang sudah ahli.

3.

Memberikan umpan balik yang informatif


Untuk setiap aksi yang dilakukan oleh user harus diberikan
umpan balik agar tercipta suasana yang komunikatif. Pada aksi
yang kecil dan sering digunakan, respon yang diberikan
sederhana. Namun, pada aksi yang besar dan jarang digunakan,
respon yang diberikan harus lebih banyak dan rinci.

4.

Merancang dialog untuk memberikan penutupan


Urutan tindakan sebaiknya diorganisasi ke dalam kelompok awal,
tengah, dan akhir. Tampilan harus memberikan dialog untuk
menunjukkan penutupan ketika aplikasi selesai diproses ato
dijalankan.

5.

Memberikan pencegahan dan penanganan kesalahan yang


sederhana
Sebisa mungkin, sistem dirancang untuk dapat mencegah user
dari kesalahan fatal yang dilakukan. Jika kesalahan dibuat, sistem

31

harus

mampu

mendeteksi

kesalahan,

menjelaskan,

dan

menawarkan penanganan kesalahan untuk memperbaikinya.


6.

Memungkinkan pembalikan aksi yang mudah


Diharapkan adanya fitur untuk kembali (back) ke aktivitas
sebelumnya. Fitur ini bertujuan agar pengguna dapat kembali ke
aktivitas sebelumnya jika ternyata terdapat suatu kesalahan yang
disebabkan pengguna, sehingga kesalahan dapat diperbaiki.

7.

Mendukung pusat kendali internal


User memiliki kendali sebagai pemberi aksi pada sistem
antarmuka. Kemudian antarmuka tersebut harus merespon
kembali, sehingga dapat mengontrol program-program yang ada
dalam sistem.

8.

Mengurangi beban ingatan jangka pendek


Sebuah sistem diharapkan dapat ditampilkan sesederhana
mungkin dan sebaiknya tampilan halaman yang banyak disatukan,
serta diberikan cukup waktu dalam mempelajari kode, singkatan,
dan urutan tindakan.

32

2.1.7

OOP(Object Oriented Programming)


Menurut Clark (2011, pp. 1-3), OOP adalah sebuah pendekatan untuk

pengembangan perangkat lunak dimana struktur perangkat lunak ini didasarkan


pada benda-benda berinteraksi satu sama lain untuk menyelesaikan tugas.
Interaksi ini membutuhkan bentuk pesan lewat bolak-balik antara objek. Dalam
menanggapi pesan, objek dapat melakukan suatu tindakan atau metode.
Contohnya seperti ketika seseorang ingin pergi ke toko dan berinteraksi dengan
sebuah mobil. Sebuah objek mobil terdiri dari benda-benda yang berinteraksi
satu sama lain untuk menyelesaikan tugas untuk mengantar orang tersebut ke
toko. Orang tersebut meletakkan kunci dan menyalakannya. Hal tersebut
mengirimkan pesan (melalui sinyal listrik) ke objek pemula, yang berinteraksi
dengan objek mesin untuk menyalakan mobil. Sebagai supir, hal tersebut
membuatnya terisolasi dari logika bagaimana suatu objek pada suatu sistem
bekerja sama untuk menyalakan mobil. Orang tersebut hanya memulai urutan
kejadian dengan menjalankan metode mulai dari objek pengapian dengan kunci,
kemudian menunggu respon keberhasilan atau kegagalan.
Banyak pengembang software bisnis yang beralih ke metode objek
oriented dan bahasa pemrograman untuk menyelesaikan berbagai masalah.
Keuntungannya adalah sebagai berikut:
a. Sebuah transisi yang lebih intuitif dari analisis model bisnis perangkat lunak
ke model penerapan perangkat lunak.
b. Kemampuan untuk memelihara dan menerapkan perubahan dalam program
yang lebih efisien dan cepat.

33

c. Kemampuan untuk lebih efektif menciptakan sistem perangkat lunak


menggunakan proses tim, memungkinkan para ahli (specialists) untuk
bekerja pada bagian dari sistem.
d. Kemampuan untuk menggunakan kembali komponen kode dalam program
lain dan membeli komponen yang ditulis oleh pengembang pihak ketiga
untuk meningkatkan fungsi dari program mereka dengan sedikit usaha.
e. Integrasi yang lebih baik dengan sistem komputasi terdistribusi yang
digabungkan secara longgar.
f. Peningkatan integrasi dengan sistem operasi modern.
g. Kemampuan untuk membuat tampilan antarmuka yang lebih intuitif untuk
pengguna.

2.1.7.1

Karakteristik OOP
Menurut Clark (2011, pp. 3-5), beberapa karakteristik yang

terdapat dalam OOP adalah:


a. Objects
Dalam

OOP, objek

adalah

sebuah

struktur

data

untuk

menggabungkan data dan prosedur untuk bekerja dengan data.


Misalnya, apabila ingin memiliki kemampuan pencetakan, maka
harus bekerja dengan objek printer yang bertanggung jawab atas
data dan metode yang digunakan dengan printer tersebut.

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

umum. Hal itu membuat bekerja dengan objek menjadi lebih


mudah dan intuitif. Hal itu juga membuat program menjadi lebih
mudah, karena memungkinkan pembuat untuk menggabungkan
karakteristik umum kedalam objek orangtua/parent dan mewarisi
karakteristik tersebut di dalam objek anak/child.

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

Sehingga dapat disimpulkan bahwa database adalah suatu


kumpulan data yang berhubungan secara logis dan data dapat
dimanipulasi serta digunakan untuk memenuhi kebutuhan informasi suatu
organisasi.

2.1.9

Bahasa-bahasa dalam database


Sebuah sub-bahasa data terdiri dari 2 bagian yaitu: Data Definiton
language (DDL) dan Data Manipulation Language (DML).

Data Definiton language(DDL)

Data definition language adalah sebuah bahasa yang mengizinkan


database administrator atau pengguna untuk menjelaskan dan memberi
nama ke entitas-entitas, atribut-atribut, dan relasi yang diperlukan untuk
aplikasi, bersama pula dengan kendala keamanan dan integritas yang
berhubungan.

Data Manipulation Language (DML)

Data Manipulation Language (DML) adalah sebagai bahasa yang


menyediakan operasi-operasi untuk mendukung operasi pemanipulasian
data pada data yang berada di database diantaranya adalah:

Melakukan penambahan data baru ke databse.

37

Melakukan pembaharuan terhadap data yang disimpan

pada database.

Mengambil kembali data yang berada pada database.

Menghapus data dari 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

memungkinkan pengguna untuk mendefinisikan, membuat dan mengatur


database serta menyediakan suatu kontrol akses ke database.
Secara khusus, DBMS menyediakan fasillitas berikut:

Memungkinkan pengguna untuk menentukan database, biasanya melalui


Data Definition Language (DDL). DDL memungkinkan user untuk
menentukan tipe user dan struktur data mendorong data untuk disimpan

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

2.1.11 Komponen Utama Database


Menurut Connolly & Begg (2005, pp. 18-21), komponen-komponen
DBMS adalah sebgai berikut:
1.

Hardware (perangkat keras), dibutuhkan untuk menjalankan DBMS dan

juga aplikasi-aplikasinya. Yang termasuk perangkat keras adalah mini computer,


network computer, personal computer, dan mainframe.
2.

Software (perangkat lunak), terdiri dari perangkat lunak DBMS itu sendiri

dan aplikasi program, bersama operating system, termasuk didalamnya perangkat


lunak jika DBMS digunakan dalam jaringan.

39

3.

Data, merupakan komponen terpenting dari lingkungan DBMS yang

dilihat dari sudut pandang pengguna akhir. Data berperan sebagai jembatan
antara komponen prosedur dan komponen manusia.
4.

Prosedur, mengacu pada instruksi-instruksi dan aturan-aturan yang

pengendalian desain dan penggunaan database.


5.

People (sumber daya manusia), mengacu pada semua manusia yang

terlibat dalam sistem seperti DBA, programmer, aplikasi, pengguna, akhir dan
lain-lain.

2.1.12 Keuntungan Dan Kerugian DBMS


Ada beberapa keuntungan yang didapat dengan memakai DBMS yaitu
menurut Connolly & Begg (2005, pp. 26-30):

Mengontrol redudansi data.

Konsistensi data

Lebih banyak informasi dari jumlah data yang sama.

Share data.

Meningkatkan integritas data.

Meningkatkan keamanan.

Standar pelaksanaan.

40

Skala ekonomi (data operasional organisasi dijadikan satu database dan

membuat aplikasi pada satu sumber data sehingga akan penghematan biaya).

Keseimbangan aksesibilitas data dan data responsiveness.

Meningkatkan produktivitas.

Meningkatkan pemeliharaan melalui data independence.

Meningkatkan konkurensi(mengurangi loss informasi dan loss integritas).

Meningkatkan layanan backup dan recovery.

Namun ada pula kerugian dari pemakaian DBMS sebagai berikut:

Kompleksitas.

Ukuran.

Biaya DBMS.

Biaya penambahan perangkat keras.

Biaya konversi (biaya staf spesialis, biaya pelatihan).

Performance (tidak dapat berjalan secepat yang diinginkan).

Resiko kesalahan yang lebih tinggi.

41

2.2 Teori Khusus


2.2.1

JSON (Javascript Object Notation)


JSON adalah standar berbasis teks ringan yang dirancang terbuka
dan mudah untuk dibaca dan ditulis manusia serta mudah bagi mesin
untuk mengurai dan menghasilkan pertukaran data. Hal ini didasarkan
pada subset dari Bahasa Pemrograman JavaScript, standar ECMA 262
Edisi 3 (Pengenalan JSON, 2011) merupakan format text bahasa
independen tetapi menggunakan konvensi bahasa yang akrab dari bahasa
C, meliputi C, C++, C#, Java, JavaScript, Perl, Python, dan lainnya. Hal
hal inilah yang membuat JSON sebagai bahasa pertukaran yang ideal.
Format JSON awalnya ditentukan oleh Douglas Crockford dan
dijelaskan dalam RFC4627. Jenis media internet yang resmi untuk JSON
adalah aplikasi/json. Format JSON sering digunakan untuk serialisasi dan
mengirimkan data terstruktur melalui koneksi jaringan. Terutama untuk
pengiriman data antara server dan aplikasi web, melayani sebagai
alternatif ke XML.

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

dijalankan pada peramban, Node.js dieksekusi sebagai aplikasi server.


Aplikasi ini terdiri dari V8 JavaScript Engine buatan Google dan
beberapa modul bawaan yang terintegrasi.
Sedangkan menurut Teixeira (2012, p. iv) Node.JS diperkenalkan
oleh seorang programmer bernama Ryan Dahl pada European JSCONF
2009. Saat ini lebih dikenal secara sederhana sebagai 'Node'. Node
memungkinkan programmer untuk secara mudah mengkonstruksikan
network services yang cepat dan terukur.

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

Kelebihan dan Kekurangan Android


Meski saat ini sudah banyak platform mobile di pasaran seperti :

Symbian, iOS, Windows Mobile, Blackberry, Java Mobile Edition, Linux


Mobile (LiMo), dsb, namun android masih bisa menyaingi platform
sebelumnya, karena android adalah yang pertama menggabungkan fitur
fitur sebagai berikut :
1.

Merupakan pengembang platform bebas yang berbasis

linux dan open source, bebas karena pengembang dapat


menggunakan dan menyesuaikan platform tanpa harus membayar
royalty.
2.

Sebuah komponen berbasis arsitektur yang terinspirasi

oleh

mashup

internet.

Bagian

dari

satu

aplikasi

dapat

dikembangkan, digantikan, ditingkatkan komponennya sesuai

44

dengan versi anda sendiri. Sehingga dapat memunculkan berbagai


kreativitas pada mobile application.
3.

Memiliki layanan berbasis lokasi menggunakan GPS atau

triangulasi menara sel untuk menyesuaikan dimana anda berada.


4.

Memungkinkan anda untuk memanfaatkan kekuatan

penyimpanan local untuk berhubungan dengan komputasi dan


sinkronisasi. Browser dan peta views dapat ditanamkan langsung
pada aplikasi. Semuanya dapat ditingkatkan sambil tetap menekan
harga biaya pengembangan
5.

Android dioptimalkan untuk perangkat daya rendah dan

rendah memori, yang dimana pada platform sebelumnya tidak


terpikirkan.
6.

Mendukung grafis dan suara berkualitas tinggi, lebih

halus. Grafik 2D dan vector grafis serta animasi yang terinspirasi


oleh flash yang menyatu dengan 3D dan dipercepat oleh grafis
OpenGL untuk memungkinkan jenis baru dalam permainan dan
aplikasi bisnis.
7.

Memiliki portabilitas diberbagai perangkat keras saat ini

dan masa depan serta memiliki dukungan untuk berbagai jenis


input seperti metode keyboard, layar sentuh dan trackball.

45

8.

Program yang terisolasi dapat memberikan tingkat

stabilitas sistem yang tidak terlihat sebelumnya pada ponsel


pintar.
9.

Android menawarkan berbagai cara untuk berinteraksi

dengan mobile application bersama dengan dasar dasar teknis


untuk membuatnya.
10.

Semakin

berkembangnya

membuat

android

terlihat

mudah, anda tidak membutuhkan akses ke ponsel android saja,


tapi cukup dengan komputer dimana anda dapat menginstall SDK
Android dan emulator.
Android Software Development Kit (SDK) bekerja pada
Windows, Linux, dan Mac OS X. Aplikasi yang anda buat dapat
digunakan pada setiap perangkat Android, sebelum anda memulai
membuat program anda perlu menginstall JAVA, IDE, dan SDK
Android.
Selain kelebihan kelebihan tersebut ada beberapa
kekurangan Android, diantaranya:
1.

Handset Android dibuat oleh banyak vendor dengan

ukuran layar yang berbeda, sebagian menggunakan keyboard


fisik, sebagian lagi hanya menggunakan touch screen. Versi
Android yang terpasang di handset juga berbeda berbeda, hal ini
menyebabkan pengalaman memakai android tidak seragam, hal

46

ini juga sekaligus menyulitkan Programmer dalam membuat


program. Karena apabila versi OS tidak sama, program itu tidak
bisa diinstal.
2.

Android adalah produk open source dari Google dan Open

Handset Aliance, itulah mengapa aplikasi yang ada di Android


sangat menyatu dengan layanan

Google, sebut saja Email

menggunakan GMail, kalendar menggunakan Google Calendar,


bahkan sampai Contact pun disimpan di Gmail Contact. Bagi
penggemar Google ini merupakan keunggulan sendiri, namun
bagi pengguna yang tidak familiar dengan produk Google (Misal
orang yang baru pindah dari Windows Mobile atau Symbian) hal
ini cukup merepotkan karena mereka harus menyesuaikan
kebiasaannya.
3.

Android cukup aktif dikembangkan, hampir tiap tahun

mereka merilis sistem operasi baru, pada tahun 2010 Google


merilis froyo (2.2), Gingerbread (2.3) dan Honeycomb (3.0),
tahun 2011 merilis Ice cream sandwich (4.0). Namun dari sisi
vendor atau operator, update ke user membutuhkan waktu
berbulan bulan, sebagai contoh, froyo dirilis pada bulan mei 2010,
namun pengguna android kebanyakan baru meng-update setelah
bulan September 2010.

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

untuk kreasi web applications yang

bersifat sangat kompleks. Sencha Touch merupakan produk dari Sencha,


yang dibangun berdasarkan gabungan pustaka javascript dari Ext.JS,
jQTouch dan Raphael. Saat buku ini ditulis, Sencha Touch yang
digunakan sudah memasuki versi 2.0.1.

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

HTML5 merupakan kemajuan di bidang komunikasi HTTP. Spesifikasi dari


Websocket memungkinkan saluran komunikasi dua arah single-socket untuk
mengirim dan menerima informasi antara browser dan server. Dengan demikian,

49

Websocket menghindari koneksi dan portabilitas masalah teknik lainnya dan


memberikan solusi yang lebih efisien daripada polling Ajax. Saat ini Websocket
di HTML5 adalah sarana terdepan untuk memfasilitasi full-duplex, pertukaran
data di web secara real time. Websocket menyediakan lintasan sederhana dari
firewall dan router dan kompatibel dengan data biner. Websocket juga
memungkinkan pertukaran data dengan cookie-based authentication.

Gambar 2. 16 Perbandingan Websocket Dengan Teknologi Lain

Tabel diatas membandingkan parameter yang berbeda untuk setiap


teknologi yang berbeda yang digunakan dalam implementasi komunikasi crosssite pada server QIIIP. Empat belas teknologi dibandingkan terhadap berbagai
parameter seperti cross-browser compatible, cross-site browser security
enforcement, http status codes, dll.

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.

Anda mungkin juga menyukai