BAB 2 - Landasan Teori -...

49
9 BAB 2 LANDASAN TEORI 2.1 Teori Umum Berikut ini merupakan teori-teori umum yang digunakan sebagai landasan teori dalam penulisan skripsi ini. 2.1.1 Pengertian Data Menurut Whitten dan Bentley (2007, p21), data adalah fakta mentah mengenai orang, tempat, peristiwa, dan hal-hal yang penting dalam suatu organisasi. Setiap fakta ini, secara relatif tidak mempunyai arti. Menurut Connolly dan Begg (2005, p20), data merupakan komponen paling penting dalam Database Management System, yang berasal dari sudut pandang pengguna. Data bertindak sebagai jembatan yang menghubungkan antara mesin dengan pengguna Menurut Pressman (2010, p841), data merupakan informasi mentah, kumpulan fakta yang harus diproses agar memiliki arti. 2.1.2 Pengertian Sistem Menurut O’Brien (2005, p29), sistem merupakan sekumpulan elemen yang saling berhubungan atau berinteraksi hingga membentuk satu kesatuan.

Transcript of BAB 2 - Landasan Teori -...

Page 1: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

9

BAB 2

LANDASAN TEORI

2.1 Teori Umum

Berikut ini merupakan teori-teori umum yang digunakan sebagai landasan

teori dalam penulisan skripsi ini.

2.1.1 Pengertian Data

Menurut Whitten dan Bentley (2007, p21), data adalah fakta

mentah mengenai orang, tempat, peristiwa, dan hal-hal yang penting dalam

suatu organisasi. Setiap fakta ini, secara relatif tidak mempunyai arti.

Menurut Connolly dan Begg (2005, p20), data merupakan

komponen paling penting dalam Database Management System, yang

berasal dari sudut pandang pengguna. Data bertindak sebagai jembatan

yang menghubungkan antara mesin dengan pengguna

Menurut Pressman (2010, p841), data merupakan informasi mentah,

kumpulan fakta yang harus diproses agar memiliki arti.

2.1.2 Pengertian Sistem

Menurut O’Brien (2005, p29), sistem merupakan sekumpulan

elemen yang saling berhubungan atau berinteraksi hingga membentuk satu

kesatuan.

Page 2: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

10

2.1.3 Pengertian Informasif

Menurut O’Brien (2005, p703), informasi adalah data yang

ditempatkan dalam konteks yang berarti dan berguna untuk pengguna.

Menurut Pressman (2010, p841), informasi diperoleh dengan

mengasosiasikan fakta ke dalam konteks yang diberikan.  Informasi yang

dikumpulkan pada berbagai topik yang terkait dan yang tidak terkait

terhubung untuk membentuk tubuh fakta yang di sebut pengetahuan.

2.1.4 Pengertian Sistem Informasi

Menurut O’Brien (2005, p5), sistem informasi merupakan suatu

kombinasi teratur dari orang-orang, hardware, software, jaringan

komunikasi, dan sumber daya data yang mengumpulkan, mengubah, dan

menyebarkan informasi dalam sebuah organisasi.

2.1.5 Pengertian Sistem Operasi

Menurut Stallings (2011, p718), Sistem operasi adalah software

yang mengontrol eksekusi dari program dan menyediakan layanan seperti

alokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

data.

2.1.6 Model Proses Waterfall

Menurut Pressman (2010, p39), model proses Waterfall, yang

sering disebut classic life cycle, menawarkan pendekatan yang sistematik

Page 3: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

11

dan sekuensial dalam pengembangan software. Model proses Waterfall

diawali dengan pengumpulan kebutuhan pengguna, proses perencanaan,

pemodelan, konstruksi, dan penyebaran, berpuncak pada dukungan yang

berkelanjutan pada software yang telah jadi.

Gambar 2.1 Model Proses Waterfall

2.1.7 Model Proses Incremental

Menurut Pressman (2010, p41), model proses Incremental

mengkombinasikan elemen-elemen aliran proses linier dan paralel. Proses

model Incremental menerapkan urutan linier seperti waktu yang

berlangsung pada kalender. Setiap urutan linier menghasilkan

penyampaian "penambahan" dari software dengan cara yang mirip dengan

peningkatan yang dihasilkan oleh aliran proses evolusi.

Gambar 2.2 Model Proses Incremental

Communication

Planning 

Modelling (analysis, design)

Construction (code, test)

Deployment (delivery, feedback)

increment #1 

increment #2

increment #n

delivery of  1st increment

delivery of  2nd increment 

delivery of  n th increment

Page 4: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

12

2.1.8 Pengertian Database

Menurut Connolly dan Begg (2005, p15), database merupakan

sekumpulan data logikal yang berelasi, dan didesain untuk mendapatkan

informasi yang dibutuhkan sebuah organisasi. Hal ini berarti bahwa

database merupakan tempat penyimpanan data yang besar dan dapat

digunakan secara bersamaan oleh banyak pengguna.

Menurut Whitten dan Bentley (2007, p518), di dalam sebuah

database terdapat beberapa tabel yang berisi fields dan records. Fields

adalah implementasi fisik dari sebuah atribut data. Fields adalah unit

terkecil dari data yang disimpan dalam database. Sedangkan records

adalah sebuah koleksi (kumpulan) fields yang diatur dalam format yang

telah ditentukan sebelumnya. Terdapat empat macam field yang dapat

disimpan dalam database :

a. Primary Key

Primary key adalah field yang memberikan tanda unik dalam setiap

record.

b. Secondary Key

Secondary key adalah sebuah field yang mengidentifikasikan sebuah

record tunggal atau bagian dari beberapa record.

c. Foreign Key

Foreign key adalah field yang menunjuk ke sekumpulan record yang

terdapat dalam tabel yang lain di database.

Page 5: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

13

d. Descriptive Field

Descriptive Field adalah field selain key field yang menyimpan data

bisnis.

Relational database adalah database yang mengimplementasikan

data sebagai sederetan tabel dua dimensi yang dihubungkan satu sama lain

dengan foreign key. (Whitten dan Bentley, 2007, p526)

2.1.9 Database Management System (DBMS)

Menurut Hoffer, Prescott, dan Topi (2009, p49), database

management system (DBMS) adalah sistem software yang digunakan

untuk membuat, memelihara, dan menyediakan akses kontrol ke database

pengguna. Sebuah DBMS menyediakan metode sistematik untuk membuat,

meng-update, menyimpan, dan mendapatkan data dalam database. DBMS

memungkinkan pengguna akhir dan programmer aplikasi untuk berbagi

data, dan memungkinkan data yang dibagi di antara beberapa aplikasi,

bukan disebarkan dan disimpan dalam file baru untuk setiap aplikasi baru.

Sebuah DBMS juga menyediakan fasilitas untuk mengendalikan akses data,

menerapkan integritas data, mengelola kontrol konkurensi, dan

memperbaiki database.

a. Relational Database Management System (RDBMS)

Relational DBMS adalah sebuah sistem manajemen data yang

mengimplementasikan relasi antara model data, salah satu tempat di

Page 6: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

14

mana data disimpan dalam kumpulan tabel, dan hubungan data yang

direpresentasikan dengan nilai umum, bukan link. (Hoffer, Prescott,

dan Topi, 2009, p352)

b. Object-Relational Database (ORDB)

Object-Relational database merupakan relational database

dengan penambahan konsep object-oriented. Meskipun tidak

sepenuhnya berorientasi objek, sistem object-relational database

masih berhasil bersaing dengan sistem object-oriented database. 

(Teorey, Lightstone, Nadeau, dan Jagadish, 2011, p298) 

Sebuah fitur utama sistem object-relational yang ditambahkan

ke relational database adalah pemikiran dari sebuah tipe data abstrak.

Database tradisional memiliki satu set kecil tipe data standar (seperti

integer, date, presisi, double precision, dsb). Tipe data abstrak

(Abstract Data Type / ADT) mengizinkan objek class yang kompleks

didefinisikan sebagai tipe database. Instansi tipe data ini dapat

kemudian disimpan sebagai nilai atribut dalam kolom tabel yang telah

didefinisikan sebagai ADT ini. (Teorey et al, 2011, p153)

2.1.10 Arsitektur Three-Tier

Arsitektur Three-Tier Client-Server mengajukan 3 lapisan, dimana

masing-masing berpotensi dijalankan pada platform yang berbeda-beda :

1. Lapisan antarmuka pengguna, yang berjalan pada komputer pengguna

(klien).

Page 7: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

15

2. Lapisan bussiness logic dan proses. Tingkatan menengah ini dapat

berjalan pada server dan sering disebut application server.

3. Sebuah DBMS yang menyimpan data yang dibutuhkan oleh tingkatan

menengah. Tingkatan ini dapat berjalan pada server yang terpisah

yang disebut database server.

(Connolly dan Begg, 2005, p61)

Gambar 2.3 Arsitektur Three-Tier Client-Server

2.1.11 Pengertian Internet (Interconnected Networking)

Menurut Williams dan Sawyer (2011, p18), internet adalah sebuah

jaringan komputer di seluruh dunia yang menghubungkan ratusan ribu

jaringan yang lebih kecil. Jaringan ini menghubungkan beberapa komputer

Page 8: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

16

pada bidang edukasi, komersial, non-profit, dan kebutuhan militer, serta

masing-masing individu.

2.1.12 Pengertian Web

Berikut ini beberapa teori yang menyangkut pengembangan

aplikasi yang berbasis web.

a. eXtensible Markup Language (XML)

XML atau eXtensible Markup Language adalah sebuah bahasa

markup baru yang dikembangkan oleh W3C (World Wide Web

Consortium). XML digunakan untuk mengirim, menukar, dan

memanipulasi dalam dalam aplikasi internet. XML berisi data yang

didefinisikan sendiri dalam format dokumen; dan tidak bergantung

pada platform. XML juga memudahkan pengiriman dokumen dari

satu situs ke situs lainnya melalui HTTP. Namun, penerapan XML

tidak hanya terbatas untuk aplikasi internet konvensional saja; XML

juga dapat digunakan untuk berkomunikasi dan bertukar informasi

dalam konteks lain. (Sills, Ahmed, Boumphrey, Dotthatcom.com, dan

Ortiz, 2002, p84) .

Menurut Hoffer, Prescott, dan Topi (2009, p720), XML

merupakan bahasa scripting berbasis teks yang digunakan untuk

menggambarkan struktur data hirarki, menggunakan tag seperti

HTML.

Page 9: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

17

b. HyperText Transfer Protocol (HTTP)

Menurut Williams dan Sawyer (2011, p66), HTTP adalah

aturan komunikasi yang memungkinkan browser tersambung ke web

server.

c. Transmission Control Protocol/Internet Protocol (TCP/IP)

TCP/IP adalah protokol yang memungkinkan semua komputer

menggunakan data yang ditransimisikan melalui internet. TCP/IP

digunakan pada semua transaksi internet, mulai dari mengirim email

sampai mengunduh gambar dari situs web. Prinsip utamanya, TCP/IP

menentukan bagaimana piranti pengirim memberi tanda jika telah

selesai mengirim pesan dan bagaimana piranti penerima memberi

tanda jika telah menerima pesan tersebut. (Williams dan Sawyer, 2011,

p62)

d. Domain Name System (DNS)

Domain merupakan suatu lokasi di internet, yaitu di web server

tertentu. Nama domain menunjukkan lokasi dan jenis alamat.

Komponen nama domain dipisahkan dengan tanda titik (dot).

Komponen terakhir dari nama domain disebut top level domain, yaitu

ekstensi tiga (3) huruf yang mengekspresikan tipe

domain: .gov, .com, .net, .edu, .org, .mil, .int, pemerintahan, komersial,

jaringan, pendidikan, oraganisasi nonprofit, militer, atau organisasi

internasional. (Williams dan Sawyer, 2011, p66)

Page 10: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

18

e. Universal Resource Locator (URL)

URL adalah kumpulan karakter yang menunjuk pada potongan

informasi khusus di bagian mana saja pada web. Dengan kata lain,

URL adalah alamat situs web yang unik (tidak ada dua situs berbeda

yang memiliki alamat yang sama). (Williams dan Sawyer, 2011, p65)

f. Web Server

Web server merupakan sebuah proses yang berjalan pada

komputer host, yang menunggu request dari HTTP masuk. Web server

menyediakan akses terhadap informasi dan layanan yang disimpan

dalam web. (Eaglestone dan Ridley, 2001, p209)

Menurut Hoffer, Prescott, dan Topi (2009, p469), web server

digunakan untuk memproses permintaan dari klien dan kemudian

mengembalikan halaman HTML kepada klien.

g. Web Service

Web service merupakan aplikasi enterprise berbasis web yang

menggunakan terbuka, standar berbasis XML dan protokol

transportasi untuk bertukar data dengan klien yang memanggil.

(Jendrock, Evans, Gollapudi, Haase, dan Srivathsa , 2010, p15)

Web service adalah sebuah sistem software yang didesain

untuk dapat dioperasikan pada interaksi mesin ke mesin melalui

jaringan. Web service memiliki antarmuka yang dideskripsikan dalam

format machine-processable (WSDL). Sistem lain yang berinteraksi

dengan web service dengan cara yang ditentukan oleh deskripsinya

Page 11: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

19

menggunakan pesan SOAP, biasanya disampaikan menggunakan

HTTP dengan serialisasi XML bersama dengan standar web terkait

yang lain. (Graham et al, 2001, p)

Menurut Hoffer, Prescott, dan Topi (2009, p720), web service

adalah seperangkat standar yang muncul, yang mendefinisikan

protokol untuk komunikasi secara otomatis antara program software

melalui Web. Web service berbasis XML dan biasanya bekerja di

belakang layar untuk membangun suatu komunikasi yang transparan

antara komputer.

2.1.13 Object-Oriented Programming (OOP)

Menurut Deitel dan Deitel (2012, p11), Object-Oriented

Programming meningkatkan produktivitas sehingga mengurangi biaya

pengembangan software. Pengembang software menemukan bahwa

menggunakan sebuah desain berorientasi objek modular dan pendekatan

implementasi dapat membuat kelompok pengembangan software jauh

lebih produktif daripada dengan teknik sebelumnya seperti “structured

programming” — object-oriented programming sering lebih mudah untuk

dipahami, diperbaiki dan dimodifikasi. Berikut ini adalah beberapa kunci

mengenai konsep object-oriented programming.

a. Method dan Class

Pada sebuah program, menjalankan suatu tugas membutuhkan sebuah

method. Method ini merupakan tempat statemen program yang

Page 12: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

20

melakukan tugasnya. Method ini menyembunyikan statemen dari

pengguna. Pada Java, dibuat sebuah unit program yang disebut dengan

class untuk menjadi tempat sekumpulan method yang melakukan

tugas dari class tersebut. (Deitel dan Deitel, 2012, p11)

b. Instantiation

Object dari class harus dibangun sebelum program dapat melakukan

tugas yang didefinisikan oleh method pada class. Proses pembangunan

ini disebut dengan instantiation. Sebuah object kemudian disebut

sebagai instansi dari class-nya. (Deitel dan Deitel, 2012, p12)

c. Reuse

Class dapat dipakai berkali-kali untuk membangun object-object.

Menggunakan kembali class yang sudah ada ketika membuat class-

class dan program-program menghemat waktu dan tenaga.

Penggunaan kembali juga membantu pembangunan sistem yang lebih

handal dan efektif, karena class dan komponen yang ada telah melalui

pengujian, debug dan kinerja tuning. (Deitel dan Deitel, 2012, p12)

d. Messages dan Methods Calls

Message dikirimkan ke object. Setiap message diimplementasikan

sebagai sebuah panggilan method yang memberitahukan sebuah

method pada object untuk melakukan tugas. (Deitel dan Deitel, 2012,

p13)

Page 13: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

21

e. Attributes dan Instance Variables

Sebuah object memiliki atribut yang dibawanya bersama sepanjang

penggunaan object tersebut dalam sebuah program. Atribut ini

ditetapkan sebagai bagian dari class object. Atribut ditentukan oleh

instance variables class. (Deitel dan Deitel, 2012, p12)

f. Encapsulation

Class mengenkapsulasi atribut dan method ke dalam object – sebuah

atribut object dan method yang berhubungan erat. Object dapat

berkomunikasi satu sama lain, tetapi biasanya suatu object tidak

mengetahui bagaimana object lainnya diimplementasikan – rincian

implementasi tersembunyi dalam object itu sendiri. (Deitel dan Deitel,

2012, p13)

g. Inheritance

Sebuah class object baru dapat dibuat dengan cepat dan mudah

dengan inheritance – class baru akan menyerap karakteristik class

yang sudah ada, memungkinkan pengubahan dan penambahan

karakteristik unik sendiri. (Deitel dan Deitel, 2012, p13)

Class yang sudah ada disebut dengan superclass, dan class yang baru

disebut dengan subclass. Setiap subclass dapat menjadi superclass

untuk subclass berikutnya. (Deitel dan Deitel, 2012, p360)

Sebuah anggota public pada class dapat diakses di manapun program

ini memiliki referensi ke sebuah object dari class itu atau salah satu

subclass-nya. Sebuah anggota private pada class dapat diakses hanya

Page 14: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

22

oleh anggota class itu sendiri.  Sebuah anggota protected pada

superclass dapat diakses oleh anggota dari superclass-nya, anggota

subclass-nya dan anggota dari class lain yang berada pada package

yang sama — anggota protected mempunyai akses ke package.

(Deitel dan Deitel, 2012, p360)

h. Polymorphism

Polymorphism memungkinkan untuk membuat "program di umum"

daripada "program dalam spesifik". Secara khusus, polymorphism

memungkinkan untuk menulis program yang proses object-nya

berbagi superclass yang sama (baik secara langsung atau tidak

langsung) seolah-olah mereka semua object dari superclass. Hal ini

dapat menyederhanakan pemrograman. (Deitel dan Deitel, 2012,

p397)

2.1.14 Java

Java merupakan bahasa pemrograman level tinggi yang

dikembangkan oleh Sun Microsystem pada tahun 1995, juga merupakan

sebuah bahasa berorientasi objek. Digunakan untuk menuliskan program-

program yang padat dan bisa diunduh melalui internet dan dengan segera

dieksekusi pada banyak komputer. File kode sumber Java (file dengan

ekstensi .java) dikompilasi ke dalam format yang disebut bytecode (file

dengan ekstensi .class), yang nantinya bisa dieksekusi oleh sebuah

penerjemah (interpreter) Java. Kode Java yang telah dikompilasi bisa

Page 15: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

23

berjalan pada sebagian besar komputer karena penerjemah Java dan

lingkungan untuk menjalankannya, Java Virtual Machines (JVMs), telah

tersedia di sebagian besar sistem operasi. (Deitel dan Deitel, 2003, p539)

2.1.15 JavaScript

JavaScript adalah scripting language (bahasa pemrograman yang

ringan) terpopuler pada internet, dan berjalan pada berbagai browser,

seperti Internet Explorer, Firefox, Chrome, Opera, dan Safari. JavaScript

didesain untuk menambah interaktivitas halaman HTML. JavaScript

biasanya ditanamkan pada halaman HTML. JavaScript adalah interpreted

language (berarti JavaScript mengeksekusi tanpa kompilasi pendahuluan)

dan setiap orang dapat menggunakan JavaScript tanpa harus membeli

lisensi. ( http://www.w3schools.com/js/js_intro.asp )

2.1.16 Structured Query Language (SQL)

Berikut ini beberapa teori yang menyangkut SQL, meliputi

pengertian dan kelompok statement dalam SQL.

a. Pengertian SQL

Standard Query Language (SQL, dibaca S-Q-L atau juga

Sequel) adalah bahasa query paling umum yang sekarang baik secara

formal dan de facto merupakan bahasa standar untuk database

management system. (Connolly dan Begg , 2005, p16)

Page 16: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

24

Sebuah statement dalam SQL terdiri dari reserved words dan

user-defined words. Reserved words merupakan bagian tetap dari

bahasa SQL dan memiliki makna yang tetap. Reserved words harus

dieja dengan tepat seperti yang diharuskan dan tidak dapat dipisahkan.

User-defined words dibuat oleh pengguna dan merepresentasikan

nama dari variasi objek database seperti, tabel, kolom, dan sebagainya.

(Connolly dan Begg , 2005, p116)

b. Kelompok Statement dalam SQL

Statement dalam SQL dikelompokkan menjadi lima, yaitu

Data Defintion Language, Data Manipulation Language, Data

Control Language, Transaction Control Language, dan Pengendali

Programatik.

1) Data Definition Language (DDL)

Data Definition Language adalah bahasa yang memperbolehkan

seorang database administrator (DBA) atau pengguna untuk

mendeskripsikan dan menamai suatu entitas, atribut, dan

hubungan yang dibutuhkan oleh aplikasi, bersamaan dengan

integritas data dan keamanan datanya. (Connolly dan Begg , 2005,

p40)

2) Data Manipulation Language (DML)

Data Manipulation Language merupakan bahasa yang

menyediakan seperangkat operasi untuk mendukung operasi

manipulasi data yang berada dalam database. Pengoperasian

Page 17: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

25

manipulasi data diantaranya memasukkan data baru,

memodifikasi data, mengambil data, maupun menghapus data

dari basis-data. (Connolly dan Begg, 2005, p41)

3) Data Control Language (DCL)

Data Control Language merupakan bahasa yang digunakan untuk

mengendalikan pengaksesan data. Pengendalian dapat dilakukan

pada setiap pengguna, tabel, kolom, ataupun operasi yang dapat

dilakukan. Perintah-perintah ini berkaitan dengan pengaturan

keamanan basis-data. Contoh dari bahasa DCL adalah GRANT,

REVOKE, dan LOCK.

4) Transaction Control Language (TCL)

Transaction Control Language merupakan bahasa yang

digunakan untuk mengontrol pengeksekusian dari sebuah

transaksi. Contoh dari perintah TCL adalah COMMIT, dan

ROLLBACK.

5) Pengendali Programatik

Dalam kelompok statement ini, perintah-perintah yang termasuk

pengendali programatik merupakan pernyataan-pernyataan yang

berhubungan dengan pemanfaatan SQL dalam bahasa lain.

Pernyataan-pernyataan terdapat pada bahasa konvensional

generasi ketiga (3-GL), seperti COBOL. Perintah-perintah yang

termasuk dalam kategori ini diantaranya CLOSE, DECLARE,

FETCH, dan OPEN.

Page 18: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

26

2.1.17 Delapan Aturan Emas Perancangan User Interface

Menurut Shneiderman (2010, pp88-89), terdapat delapan aturan

yang digunakan sebagai petunjuk dasar yang baik untuk merancang suatu

tampilan antarmuka pengguna. Delapan aturan yang disebut juga dengan

Eight Golden Rules of Interface Design, yaitu :

a. Berusaha untuk konsisten

Bentuk-bentuk dari konsistensi adalah konsisten untuk aksi yang

sejenis atau mirip, konsistensi warna, jenis tulisan, ukuran, dan tata

letak dan harus diterapkan pada seluruh aplikasi.

b. Menyediakan usability universal

Penerapan usability universal adalah dengan menggunakan singkatan

dan tombol-tombol shortcut yang sudah umum digunakan, sehingga

familiar dengan pengguna.

c. Memberikan umpan balik yang informatif

Adanya umpan balik dari sistem untuk setiap aksi yang dilakukan oleh

pengguna. Untuk aksi yang sering dilakukan dan tindakan kecil, dapat

menggunakan respon yang sederhana. Sedangkan untuk aksi yang

jarang dilakukan dan tindakan besar, maka harus menggunakan respon

yang lebih substansial.

d. Merancang dialog untuk menghasilkan suatu penutupan

Urutan tindakan sebaiknya diatur dalam pengelompokkan menjadi

bagian awal, tengah, dan akhir. Umpan balik yang informatif pada

Page 19: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

27

akhir tindakan harus dapat memberikan indikasi bahwa proses yang

dilalui sudah benar.

e. Memberikan penanganan kesalahan yang sederhana

Rancangan sistem yang dibuat harus bisa meminimalisir kemungkinan

pengguna melakukan kesalahan fatal. Walaupun pengguna melakukan

kesalahan, maka sistem harus dapat mendeteksi dan memberikan

instruksi sederhana namun jelas agar pengguna dapat memperbaiki

kesalahan.

f. Mudah kembali ke tindakan sebelumnya

Dengan mengetahui bahwa aksi yang sudah dilakukan dapat

dibatalkan, maka kecemasan pengguna dapat dihilangkan. Sehingga

pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang

belum digunakan.

g. Mendukung internal locus of control

Sistem yang baik adalah sistem yang memberikan kendali kontrol

kepada pengguna, sehingga pengguna tidak merasa sistem yang

mengontrol pengguna.

h. Mengurangi beban ingatan jangka pendek

Ingatan manusia memiliki keterbatasan untuk mengolah informasi,

oleh karena itu sistem tidak boleh membebani ingatan pengguna

dalam jangka panjang

Page 20: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

28

2.2 Teori Khusus

Berikut ini merupakan teori-teori khusus yang digunakan sebagai landasan

teori dalam penulisan skripsi ini.

2.2.1 Android

Android adalah sebuah sistem operasi untuk perangkat mobile yang

mencakup aplikasi sistem operasi, middleware dan aplikasi. Android SDK

menyediakan fitur dan API yang diperlukan untuk mulai mengembangkan

aplikasi pada platform Android dengan menggunakan bahasa

pemrograman Java. ( http://developer.android.com/guide /basics/ what-is-

android.html )

Menurut DiMarzio (2008, p6), Android, sebagai suatu sistem,

adalah sistem operasi berbasis Java yang berjalan pada kernel Linux 2.6.

Sistem ini sangat ringan dan berfitur lengkap.

Android dikembangkan oleh Open Handset Alliance, Android

membawa inovasi dengan internet dan keterbukaan terhadap perangkat

mobile. Android memberikan sebuah software yang lengkap untuk aplikasi

pada telepon seluler : sistem operasi, middleware dan aplikasi kunci dalam

mobile. Android memiliki empat karakteristik sebagai berikut:

1) Terbuka

Android dibangun untuk memungkinkan developers membuat aplikasi

mobile yang menarik yang bisa mengambil keuntungan penuh dari

semua handset yang ditawarkan dengan maksud untuk menjadi

Page 21: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

29

aplikasi yang benar-benar terbuka. Sebagai contoh, sebuah aplikasi

dapat memanggil salah satu dari fungsi inti telepon seluler seperti

membuat panggilan, mengirim pesan teks, atau menggunakan kamera,

memungkinkan developer untuk menciptakan pengalaman yang lebih

kaya dan lebih kohesif bagi pengguna. Android dibuat di atas Linux

Kernel terbuka dan memanfaatkan mesin virtual khusus yang

dirancang untuk mengoptimalkan memori dan sumber daya hardware

dalam lingkungan mobile. Android merupakan open source, bebas

dikembangkan untuk menyertakan teknologi baru yang mutakhir yang

baru muncul. Platform ini akan terus berkembang seiringnya

komunitas developer yang bekerja sama untuk membangun aplikasi

mobile yang inovatif.

2) Semua aplikasi diciptakan sama

Android tidak membedakan antara aplikasi inti dari telepon seluler

dan aplikasi pihak ketiga (third-party application). Semua aplikasi

dapat dibangun dan untuk memiliki akses yang sama terhadap

kemampuan telepon seluler dalam menyediakan berbagai aplikasi dan

layanan kepada pengguna Dengan perangkat yang dibuat berbasis

platform Android, pengguna dapat sepenuhnya menyesuaikan telepon

seluler sesuai keinginan mereka.

3) Memecahkan hambatan pada aplikasi

Android memecah hambatan untuk membangun aplikasi baru dan

inovatif. Sebagai contoh, seorang developer dapat menggabungkan

Page 22: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

30

informasi dari web dengan data pada telepon seluler individu – seperti

kontak pengguna, kalender, atau lokasi geografis – untuk memberikan

pengalaman pengguna yang lebih relevan.

4) Pengembangan aplikasi yang cepat dan mudah

Android menyediakan akses yang luas kepada developer untuk

menggunakan berbagai libraries yang diperlukan dan tools yang dapat

dipakai dalam pembuatan aplikasi. Sebagai contoh, Android

memungkinkan developer untuk mendapatkan lokasi dari perangkat,

dan memungkinkan perangkat tersebut untuk berkomunikasi satu

sama lain sehingga memungkinkan aplikasi sosial peer-to-peer.

( http://www.android.com/about/ )

a. Fitur-fitur Android

Fitur-fitur yang tersedia di Android adalah sebagai berikut :

1) Kerangka Aplikasi

Android merupakan Open Development Platform, yaitu Android

memberi kemampuan kepada developer untuk dapat membangun

aplikasi yang inovatif. Kerangka aplikasi ini dirancang agar

developer dapat dengan mudah menggunakan kembali komponen

yang sudah digunakan. Kerangka kerja ini didukung oleh

sejumlah open source library seperti openssl, sqlite, dan libc,

serta library inti Android. Dari sudut keamanan, kerangka kerja

ini didasarkan pada UNIX file system permission yang menjamin

Page 23: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

31

aplikasi tersebut hanya memiliki kemampuan yang diberikan

pemilik telepon seluler pada waktu instalasi.

2) Dalvik Virtual Machine (DVM)

DVM adalah sebuah mesin virtual dengan memori yang rendah,

yang didesain khusus untuk Android yang dijalankan di

embedded system dan bekerja dengan baik pada daya rendah.

DVM menciptakan format file khusus, yaitu .dex yang dibuat

pada saat build time post processing. Konversi class Java dan

format .dex dilakukan dengan memasukkan “dx” tool.

DVM menggunakan kernel linux untuk menangani fungsionalitas

tingkat rendah termasuk keamanan, threading, dan proses serta

manajemen memori. Semua hardware yang berbasis Android

dijalankan dengan menggunakan Virtual Machine untuk eksekusi

aplikasi, sehingga dapat diimplementasikan ke hardware tertentu.

DVM mengeksekusi Dalvik executable file, sebuah format yang

dioptimalkan untuk memastikan memori yang digunakan sangat

kecil. File .dex diciptakan dengan mengubah kelas bahasa java

dan dikompilasi menggunakan tools yang disediakan dalam SDK

Android.

3) Browser yang terintegrasi

Browser yang berintegrasi (Integrated browser) berdasarkan

mesin WebKit open source.

Page 24: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

32

4) Grafis yang telah dioptimasi

Grafis yang telah dioptimasi didukung oleh library grafis 2D

yang kustom; grafis 3D yang berdasarkan OpenGL ES 1.0.

5) SQLite

SQLite adalah sebuah relational database management system

berukuran kecil (500 Kb) yang berintegrasi Android. SQLite

berbasis pada pemanggilan fungsi dan single file, dimana semua

definisi, tabel, dan data disimpan.

6) Media Pendukung

Media pendukung yang umum untuk audio, video, dan gambar

dalam beberapa format (MPEG4, H.264, MP3, AAC, AMR, JPG,

PNG, GIF).

7) GSM Telephony

(bergantung pada hardware yang digunakan).

8) Bluetooth, EDGE, 3G, dan WiFi

(bergantung pada hardware yang digunakan).

9) Camera, GPS, Compass, dan Accelerometer

(bergantung pada hardware yang digunakan).

10) Lingkungan pengembangan yang lengkap

perangkat emulator, peralatan untuk debugging, memori, dan

performance profiling, dan plugin untuk Eclipse IDE.

Page 25: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

33

b. Arsitektur Android

Diagram di bawah ini menunjukkan komponen utama sistem

operasi Android :

1) Aplikasi

Android akan disertakan dengan sebuah set aplikasi inti termasuk

email klien, program SMS, kalender, peta, browser, kontak, dan

lainnya. Semua aplikasi ditulis menggunakan bahasa pemrograman

Java.  

Gambar 2.4 Diagram Arsitektur Android

 

2) Kerangka Kerja Aplikasi

Dengan menyediakan sebuah platform pengembangan terbuka

(open development platform), Android menawarkan para

developer kemampuan untuk membangun aplikasi yang sangat

Page 26: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

34

kaya dan inovatif. Developer bebas mengambil keuntungan dari

perangkat hardware, mengakses informasi lokasi, menjalankan

layanan background, menetapkan alarm, menambahkan notifikasi

ke status bar, dan lainnya.

Para developer memiliki akses penuh ke kerangka kerja API

(Application Programming Interface) yang dipakai oleh aplikasi

inti. Arsitektur aplikasi dirancang untuk menyederhanakan

penggunaan kembali komponen-komponen (reusable): aplikasi

apapun dapat mempublikasikan kemampuannya dan aplikasi

lainnya dapat juga memakai kemampuan itu (tergantung pada

keterbatasan keamaan yang diberlakukan oleh kerangka kerja).

Mekanisme yang sama memungkinkan komponen dapat diganti

oleh pengguna.

Dasar dari semua aplikasi adalah seperangkat layanan dan sistem,

termasuk didalamnya:

a) Seperangkat Views yang dapat digunakan untuk membangun

sebuah aplikasi, termasuk lists, grids, text boxes, buttons, dan

bahkan memasukkan sebuah web browser.

b) Content Providers yang memungkinkan aplikasi untuk

mengakses data dari aplikasi-aplikasi lain (seperti kontak),

atau untuk memberikan data mereka sendiri.

Page 27: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

35

c) Sebuah Resource Manager yang menyediakan akses ke

sumber daya non-kode seperti string lokal, grafik, dan file

layout.

d) Sebuah Notification Manager yang memungkinkan semua

aplikasi untuk menampilkan custom alerts dalam status bar.

e) Sebuah Activity Manager yang mengelola siklus hidup dari

aplikasi dan menyediakan sebuah navigasi backstack umum.

3) Libraries

Android mencakup satu set C/C++ libraries yang digunakan oleh

berbagai komponen sistem Android. Kemampuan ini diketahui

oleh para developer melalui kerangka kerja aplikasi Android.

Beberapa libraries inti adalah sebagai berikut:

a) System C library – sebuah implementasi turunan BSD dari

standar library sistem C (libc), digunakan untuk perangkat

yang berbasis Linux .

b) Media Libraries – berdasarkan PacketVideo’s OpenCORE;

libraries mendukung pemutaran kembali dan perekaman

banyak format audio dan video yang populer, serta file

bergambar statis, termasuk MPEG4, H.264, MP3, AAC,

AMR, JPG, dan PNG.

c) Surface Manager – mengelola akses ke tampilan subsistem

dan juga menggabungkan layer grafis 2D dan 3D dari

beberapa aplikasi.

Page 28: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

36

d) LibWebCore – sebuah mesin web browser yang modern yang

mengatur browser dalam Android.

e) SGL – mesin grafis yang mendasari 2D.

f) 3D libraries – sebuah implementasi berdasarkan OpenGL ES

1.0 APIs; libraries yang menggunakan akselerasi hardware

3D (jika tersedia) atau software rasterizer 3D yang

dioptimalkan.

g) FreeType – untuk merender gambar bitmap dan font vektor .

h) SQLite – sebuah database relasional yang kuat dan ringan

yang tersedia untuk semua aplikasi.

4) Android Runtime

Android mencakup seperangkat libraries inti yang menyediakan

sebagian besar fungsi yang tersedia dalam libraries inti dari

bahasa pemrograman Java. Setiap aplikasi Android berjalan

dalam prosesnya sendiri, yang masing-masing memiliki mesin

virtual Dalvik. Dalvik telah dibuat supaya dapat menjalankan

beberapa mesin virtual dengan efisien. Mesin virtual Dalvik

mengeksekusi file dalam format Dalvik Executable (.dex) yang

dioptimalkan untuk pemakaian memori minimal. Mesin virtual

ini berbasis register, dan menjalankan class-class yang

dikompilasi oleh compiler bahasa Java yang telah berubah

menjadi format .dex oleh alat yang telah ada didalamnya yaitu

alat “dx”. Mesin Virtual Dalvik bergantung pada kernel Linux

Page 29: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

37

untuk fungsionalitas dasar seperti threading dan manajemen

memori tingkat rendah.

5) Linux Kernel

Android bergantung pada Linux versi 2.6 untuk layanan sistem

inti seperti keamanan, manajemen memori, manajemen proses,

jaringan stack, dan model driver. Kernel juga berfungsi sebagai

lapisan abstraksi antara hardware dan sisa dari software stack.

(http://developer.android.com/guide/basics/what-is-android.html )

c. Versi Android

Menurut Harahap (2011, h11-12), berikut ini merupakan

informasi beberapa versi Android yang sudah ada:

1) Android Versi 1.1

Pada 9 Maret 2009, Google merilis Android versi 1.1 yang

dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm,

pencarian suara, pengiriman pesan dengan Gmail, dan

pemberitahuan email.

2) Android Versi 1.5 (Cupcake)

Pada 30 April 2009, Google kembali merilis telepon seluler

dengan menggunakan Android dan SDK (Software Development

Kit) dengan versi 1.5 (Cupcake). Terdapat beberapa pembaruan

termasuk juga penambahan beberapa fitur dalam seluler versi ini

yakni kemampuan merekam dan menonton video dengan modus

Page 30: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

38

kamera, meng-upload video ke Youtube dan gambar ke Picasa

langsung dari telepon, dukungan Bluetooth A2DP, kemampuan

terhubung secara otomatis ke headset Bluetooth, animasi layar,

dan keyboard pada layar yang dapat disesuaikan dengan sistem.

3) Android Versi 1.6 (Donut)

Android versi 1.6 ini dirilis pada 15 September 2009 dengan

menampilkan proses pencarian yang lebih baik dibanding

sebelumnya, penggunaan baterai indikator dan kontrol applet

VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna

untuk memilih foto yang akan dihapus, kamera, camcorder, dan

galeri yang diintegrasikan, CDMA/EVDO, 802.1x, VPN,

Gestures, Text-to-speech engine, kemampuan dial kontak.

4) Android Versi 2.0/2.1 (Eclair)

Pada 26 Oktober 2009, Android versi 2.0/2.1 (Eclair). Perubahan

yang dilakukan adalah pengoptimalan kecepatan hardware,

peningkatan Google Maps 3.1.2, perubahan UI dengan browser

baru, dan dukungan HTML5, tampilan daftar kontak yang baru,

flash untuk kamera 3,2MP, digital zoom, dan Bluetooth 2.1.

5) Android Versi 2.2 (Froyo: Frozen Yoghurt)

Pada 20 Mei 2010 Android versi 2.2 diluncurkan. Android versi

ini yang sekarang banyak beredar di pasaran. Fitur yang tersedia

di Android versi ini sudah kompleks, diantaranya adalah :

Page 31: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

39

• Kerangka aplikasi yang memungkinkan penggunaan dan

penghapusan komponen yang tersedia.

• Dalvik Virtual Machine dioptimalkan untuk perangkat mobile.

• SQLite untuk penyimpanan data

• Mendukung media: audio, video, dan berbagai format gambar

(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, dan GIF)

• GSM, Bluetooth, EDGE, 3G, dan WiFi (hardware

independent)

• Kamera, Global Positioning System (GPS), kompas, dan

accelerometer (tergantung hardware)

6) Android Versi 2.3 (Gingerbread)

Android versi 2.3 diluncurkan pada bulan Desember 2010,

dengan beberapa reivisi sebagai berikut :

• SIP-based VoIP

• Near Field Communications (NFC)

• Gyroscope dan sensor

• Multiple cameras support

• Mixable audio effects

• Download Manager

2.2.2 Unified Modeling Language (UML)

Menurur Pressman (2010, p841), Unified Modeling Language

(UML) merupakan bahasa standar untuk menuliskan cetak biru

Page 32: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

40

(blueprints) dari software. UML dapat digunakan untuk

mengvisualisasikan, merincikan, menyusun, dan mendokumentasikan

artefak dari sebuah sistem intensif software. Dengan kata lain, arsitektur

software membuat diagram UML untuk membantu developers

membangun sebuah software.

UML 2.0 menyediakan beberapa jenis diagram untuk digunakan

dalam memodelkan software. Contohnya ialah class, deployment, use case,

sequence, communication, activity, dan state diagram. Dengan banyaknya

jenis diagram yang tersedia, semua aspek penting dalam sistem dapat

terekspresikan.

a. Class Diagram

Class diagram menyediakan sebuah pandangan statis atau

struktural dari sebuah sistem. Class diagram tidak menampilkan

property dinamis dari komunikasi antara objek dalam class pada

diagram.

Elemen utama pada class diagram adalah sebuah kotak, yang

merupakan ikon untuk mewakili class dan antar muka. Bagian paling

atas dari kotak tersebut berisi nama dari class tersebut. Pada bagian

tengah berisikan atribut-atribut yang dimiliki oleh class tersebut.

Bagian terakhir dari kotak tersebut berisikan operasi-operasi atau

perilaku (behaviour). (Pressman, 2010, p842)

Page 33: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

41

Gambar 2.5 Class Diagram

b. Use Case Diagram

Use case mendeskripsikan cara pengguna berinteraksi dengan

sistem, dengan mendefinisikan langkah-langkah yang dibutuhkan

untuk mencapai tujuannya. Variasi dalam urutan langkah-langkah

menjelaskan berbagai skenario. Use case diagram merupakan

gambaran luas dari semua use case dan relasinya Use case diagram

menyediakan gambaran luas mengenai fungsi dari sistem.

Page 34: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

42

 

Gambar 2.6 Use Case Diagram

Pada diagram ini, gambar stick figure merepresentasikan

sebuah aktor yang terkait dengan satu kategori pengguna (atau elemen

interaksi lainnya). Biasanya sistem yang kompleks memiliki lebih dari

satu aktor.

Pada use case diagram, use case dilambangkan dengan

lingkaran oval. Aktor terhubung ke use case dengan sebuah garis. Use

case dan aktor dipisahkan oleh sebuah kotak persegi panjang, dimana

use case diletakkan kedalam kotak, sedangkan aktor diletakkan di luar

kotak. Kotak ini memvisualisasikan batasan dari sistem. (Pressman,

2010, p847)

Page 35: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

43

c. Deployment Diagram

UML deployment diagram berfokus pada struktur dari sebuah

sistem software dan berguna untuk menunjukkan distribusi fisik dari

sebuah sistem software antara platform hardware dan lingkungan

eksekusi.

Gambar 2.7 Deployment Diagram

Pada diagram ini, komponen hardware digambarkan pada

kotak berlabel “<<device>>”. Jalur komunikasi antara komponen

hardware digambarkan dengan garis dengan label opsional. Setiap

node pada deployment diagram dapat dijelaskan dengan detail

mengenai perangkatnya. Sebuah artifact biasanya merupakan file yang

berisi software yang berjalan pada perangkat. Deployment diagram

juga dapat menampilkan node lingkungan eksekusi, yang

digambarkan sebagai kotak berisi label. Node ini mewakili sistem,

seperti sistem operasi yang dapat menjadi host dari software lain.

(Pressman, 2010, p896)

Page 36: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

44

d. Sequence Diagram

Sequence diagram digunakan untuk menunjukkan komunikasi

yang dinamis antara objek selama eksekusi tugas. Sequence diagram

menunjukkan urutan sementara dalam pesan yang dikirim antara objek

untuk menyelesaikan tugas.  Seseorang mungkin menggunakan

sequence diagram untuk menunjukkan interaksi dalam satu use case

atau di salah satu skenario dari suatu sistem software. (Pressman, 2010,

p848).

Pada sequence diagram, setiap kotak pada baris di atas

biasanya berhubungan dengan objek, meskipun ada kemungkinan

untuk memiliki kotak dengan model lainnya seperti class. Di bawah

setiap kotak, terdapat garis putus-putus yang disebut lifeline dari

sebuah objek. Sumbu x pada sequence diagram berkaitan dengan

waktu, dengan waktu meningkat seiring dengan pergerakan ke bawah.

Sequence diagram menampilkan metode panggilan dengan

menggunakan panah horizontal dari caller ke caller, diberi label

dengan nama metode dan dapat juga termasuk parameter, tipe, dan

tipe pengembaliannya. Ketika sebuah objek mengeksekusi sebuah

metode, white bar, disebut juga activation bar, dapat ditampilkan di

bawah lifeline dari objek tersebut. Pada diagram ini juga dapat

menunjukkan pengembalian dari pemanggilan metode dengan panah

putus-putus dan label opsional. (Pressman, 2010, p849).

Page 37: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

45

Gambar 2.8 Sequence Diagram

e. Activity Diagram

Activity diagram adalah diagram untuk menggambarkan aksi-

aksi dan keputusan-keputusan yang terjadi sesuai fungsi-fungsi yang

telah dilakukan (Pressman, 2010, p161).

 Gambar 2.9 Activity Diagram

Page 38: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

46

Activity diagram menggambarkan perilaku dinamis dari sistem

atau bagian dari sistem melalui aliran kontrol antara tindakan yang

dilakukan sistem. (Pressman, 2010, p853). Komponen-komponen

utama pada activity diagram ialah:

1. Rounded rectangles, menggambarkan tugas spesifik yang

dilakukan oleh sistem software,

2. Arrows, menggambarkan aliran kontrol dalam sistem,

3. Decision diamond, menggambarkan suatu pilihan keputusan atau

tindakan,

4. Solid black dot, menggambarkan simpul awal yang menandakan

titik mulai sebuah aktifitas,

5. Black dot surrounded by a black circle, menggambarkan simpul

ahir yang menandakan titik akhir sebuah aktifitas,

6. Fork, menggambarkan adanya pemisahan dari satu aktivitas

menjadi dua atau lebih aktivitas,

2.2.3 Entity Relationship Diagram (ERD)

Menurut Deitel dan Deitel (2012, p1177), Entity Relationship

Diagram (ERD) menggambarkan tabel-tabel di dalam database dan

hubungan diantara tabel-tabel tersebut. Primary key dalam sebuah tabel

mengidentifikasi setiap baris dalam suatu tabel secara unik. Garis yang

menghubungkan tabel-tabel menggambarkan relasi antar tabel.

Page 39: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

47

2.2.4 SQLite

SQLite adalah suatu paket software public-domain yang

menyediakan sistem manajemen database relasional (RDBMS). “Lite”

pada SQLite tidak merujuk pada kemampuannya, tetapi merujuk pada

keringanan dalam pengaturan kompleksitas, biaya administrasi, dan

penggunaan sumber daya. SQLite didefinisikan oleh fitur berikut:

a. Serverless

SQLite tidak memerlukan proses server yang terpisah atau sistem

untuk beroperasi. Library SQLite mengakses penyimpanan file secara

langsung.

b. Zero Configuration

Tidak ada server berarti tidak memerlukan pengaturan. Membuat

sebuah database SQLite semudah membuka sebuah file.

c. Cross-Platform

Keseluruhan database berada di dalam sebuah file cross-platform

yang tidak memerlukan administrasi.

d. Self-Contained

Sebuah library berisi seluruh sistem database yang tergabung

langsung ke aplikasi host.

e. Small Runtime Footprint

Pembuatan standar memerlukan beberapa megabyte memori dan

kurang dari 1 megabyte kode. Dengna beberapa penyesuaian, ukuran

dan memori yang digunakan library dapat berkurang secara signifikan.

Page 40: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

48

f. Transaksional

Transaksi dalam SQLite sepenuhnya ACID (atomicity, consistency,

isolation, durability), yang memungkinkan akses yang aman dari

beberapa proses atau thread.

g. Memiliki fitur yang lengkap

SQLite mendukung sebagian besar fitur bahasa query yang ada pada

standar SQL92 (SQL2).

h. Sangat handal

Tim pengembang SQLite melakukan pengujian kode dan verifikasi

yang sangat serius pada setiap pengembangannya.

2.2.5 MySQL

Database MySQL telah menjadi database terbuka terpopuler di

dunia karena performa yang tinggi, kehandalan yang tinggi dan

kemudahan penggunaan. Database MySQL juga merupakan database

pilihan untuk generasi baru dari aplikasi yang dibangun pada stack LAMP

(Linux, Apache, MySQL, PHP / Perl / Python).

MySQL berjalan pada lebih dari 20 platform termasuk Linux,

Windows, Mac OS, Solaris, HP-UX, IBM AIX, memberikan fleksibilitas

yang memberikan kendali bagi pengguna. MySQL menawarkan tool

database yang lengkap, dukungan, pelatihan dan layanan konsultasi untuk

mempermudah penggunanya. (http://www.mysql.com/why-mysql/ )

Page 41: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

49

2.2.6 Hibernate

Hibernate adalah Object Relational Mapping (ORM) yang kuat dan

memiliki kinerja tinggi dalam persistensi dan layanan query. Hibernate

memungkinkan pengembangan class persistence berikut ungkapan objek

orientasi, termasuk asosiasi, inheritance, polymorphism, komposisi, dan

koleksi. Hibernate menangani pemetaan dari class Java ke tabel di

database dan dari tipe data Java ke tipe data SQL.

( http://www.hibernate.org/about )

Hibernate memperbolehkan penggunaan ekspresi query dalam

ekstensi SQL portable hibernate sendiri (Hibernate Query Language atau

HQL), SQL asli, atau dengan orientasi objek Criteria dan Example API.

Tidak seperti banyak solusi persistence lainnya, Hibernate tidak

menyembunyikan kekuatan dari SQL. Hal ini menjamin bahwa investasi

dalam teknologi relasional dan pengetahuan berlaku seperti biasa.

( http://www.jboss.com/products/hibernate / )

Hibernate merupakan suatu proyek yang menargetkan suatu solusi

lengkap untuk permasalahan dalam mengatasi masalah data persistence

dalam Java. Hibernate merupakan perantara interaksi antara aplikasi Java

dengan database relasional. Umumnya, hibernate digunakan dalam

aplikasi two-tier dan three-tier client-server, dengan hibernate digunakan

hanya pada server. (Bauer dan King, 2005, p41)

Hibernate bekerja dengan baik dengan pendaftaran model yang

diimplementasikan dengan POJOs. (Bauer dan King, 2005, p67)

Page 42: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

50

a. Plain Old Java Objects (POJOs)

Plain Old Java Objects, merupakan komponen model untuk

pengembangan antar muka, dan diterapkan kembali ke layer bisnis.

Sebuah POJO menyatakan metode bisnis, yang menentukan perilaku,

dan properti yang mewakili keadaan. Beberapa properti merupakan

asosiasi untuk POJO lainnya.

Gambar 2.10 Contoh Implementasi POJO

Hibernate tidak mengharuskan kelas persisten menerapkan

serializable. Namun, ketika objek disimpan dalam HttpSession atau

melewati nilai menggunakan RMI, serialisasi diperlukan. (Hal ini

sangat mungkin terjadi dalam aplikasi hibernate.) Berbeda dengan

spesifikasi JavaBeans, yang tidak memerlukan konstruktor tertentu,

hibernate memerlukan konstruktor tanpa argumen untuk setiap class

persistence. Hibernate menginisiasikan kelas terus-menerus

menggunakan Constructor.newInstance(), sebuah fitur refleksi Java

API. 

Page 43: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

51

Properti-properti POJO mengimplementasikan atribut entitas

bisnis, misalnya, username pengguna. Properti-properti biasanya

diimplementasikan sebagai variabel, bersama dengan metode accessor

property: sebuah metode untuk mengambil nilai dari variabel dan

metode untuk mengubah nilainya. Metode ini dikenal sebagai getter

dan setter. (Bauer dan King, 2005, p67)

b. Data Access Object (DAO)

Pola desain Data Access Object berasal dari cetak biru Sun

Java. DAO bahkan digunakan dalam aplikasi demo Java Petstore

terkenal. Sebuah DAO mendefinisikan sebuah antarmuka untuk

operasi persistence (Create, Read, Update, Delete atau CRUD dan

metode finder) yang berkaitan dengan entitas persistence tertentu;

DAO menganjurkan pengelompokan kode yang berhubungan dengan

entitas itu.

Gambar 2.11 Contoh Sederhana DAO

Page 44: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

52

2.2.7 Apache eXtensible Interaction System (AXIS)

Menurut Hoffer, Prescott, dan Topi (2009, p182), AXIS dirancang

untuk dapat digunakan dalam berbagai lingkungan oleh pengguna dengan

berbagai level kemampuan dan kepentingan. Axis adalah semua komponen

pengolahan pesan yang bekerja bersama untuk menangani (menerima,

memproses, dan memghasilkan) pesan SOAP.

2.2.8 Komponen Web Services

Berikut ini merupakan komponen-komponen dalam sebuah web

service :

a. Simple Object Access Protocol (SOAP)

Menurut Hoffer, Prescott, dan Topi (2009, p488), SOAP

adalah protokol komunikasi berbasis XML yang digunakan untuk

mengirim pesan antar aplikasi melalui internet. SOAP adalah sebuah

bahasa yang platform independen, sehingga memungkinkan

komunikasi antar aplikasi yang berbeda.

Menurut Jendrock et al (2010, p16), request klien dan response

dari web service ditransmisikan sebagai pesan Simple Object Access

Protocol (SOAP) melalui HTTP untuk memungkinkan pertukaran

sepenuhnya antar operasi antara klien dan web service, semua berjalan

pada platform yang berbeda dan pada berbagai lokasi di internet.

HTTP dikenal sebagai standar request-response untuk mengirimkan

pesan pada internet, dan SOAP merupakan protocol berbasis XML

Page 45: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

53

yang mengikuti model request dan response HTTP. Bagian dari pesan

SOAP yang diangkut melakukan hal berikut:

1) Mendefinisikan sebuah envelope berbasis XML untuk

menggambarkan apa yang ada di pesan tersebut dan menjelaskan

bagaimana untuk memproses pesan tersebut.

2) Meliputi aturan pengkodean berbasis XML untuk

mengungkapkan instansi aplikasi - mendefinisikan tipe data di

dalam pesan.

3) Mendefinisikan sebuah konvensi berbasis XML untuk

merepresentasikan request untuk layanan remote dan response

yang dihasilkan.

b. Web Services Description Language (WSDL)

Web Services Description Language (WSDL) merupakan

format XML standar untuk menggambarkan layanan jaringan.

Deskripsi mencakup nama layanan, lokasi layanan, dan cara untuk

berkomunikasi dengan layanan. WSDL dapat dipublikasikan di web.

(Jendrock et al, 2010, p16)

Menurut Hoffer, Prescott, dan Topi (2009, p488), Web

Services Description Language adalah sebuah bahasa berbasis XML

yang digunakan untuk mendeskripsikan web service dan

menspesifikasikan sebuah antarmuka umum untuk layanan tersebut

Page 46: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

54

c. Universal Description, Discovery, and Integration (UDDI)

Universal Description, Discovery, and Integration memiliki

peran sebagai layanan registri privat, termasuk konvensi penyimpanan

deskripsi layanan WSDL dalam suatu registri UDDI. Kegunaan

UDDI adalah untuk memfasilitasi service discovery dalam waktu

mendesain dan secara dinamis pada saat runtime. Proyek UDDI

berjalan pada registri bisnis online publik. (Graham et al, 2001, p388)

UDDI sebenarnya lebih dari sekedar registri bisnis dan layanan,

UDDI juga menjelaskan suatu set struktur data dan spesifikasi API.

Web service provider yang akan mempublikasikan bisnis dan

deskripsi layanannya ke suatu registri, dan requestor layanan, saat

desain ataupun runtime, akan melakukan query registri untuk

deskripsi layanan.

UDDI menyediakan kemampuan publikasi dan pencarian yang

sangat canggih. UDDI mencakup informasi lebih dari sekedar

deskripsi layanan, termasuk metadata bisnis dan taksonomi bisnis dan

layanan. (Graham et al, 2001, p390)

2.2.9 JavaServer Pages (JSP)

Teknologi JavaServer Pages (JSP) memungkinkan penempatkan

potongan kode servlet langsung ke dokumen berbasis teks. Halaman JSP

adalah dokumen berbasis teks yang terdiri dari dua jenis teks:

Page 47: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

55

1. data statis, yang dapat dinyatakan dalam format berbasis teks seperti

HTML atau XML.

2. elemen JSP, yang menentukan bagaimana halaman mengkontruksi

konten dinamis.

(Jendrock et al, 2010, p27)

2.2.10 JavaServer Pages Standard Tag Library (JSTL)

JavaServer Pages Standard Tag Library (JSTL) mengenkapsulasi

fungsi utama yang umum untuk berbagai aplikasi JSP. Daripada

menggunakan campuran tag-tag dari beberapa vendor pada aplikasi JSP,

digunakan sebuah set tag yang standar. Standarisasi ini memungkinkan

untuk menyebarkan aplikasi pada setiap kontainer JSP yang mendukung

JSTL dan membuat aplikasi tersebut seakan mengimplementasikan tag-tag

yang dioptimalkan.

JSTL memiliki tag iterator dan kondisional untuk penanganan

kontrol aliran, tag untuk memanipulasi dokumen XML, tag

internasionalisasi, tag untuk mengakses database menggunakan SQL, dan

fungsi-fungsi lain yang biasa digunakan.

(Jendrock et al, 2010, p27)

2.2.11 Servlet

Servlet merupakan class bahasa pemrograman Java yang digunakan

untuk memperluas kemampuan dari server yang meng-host aplikasi yang

Page 48: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

56

diakses dengan menggunakan model pemrograman request-response.

Meskipun servlet dapat merespon semua jenis permintaan, servlet biasanya

digunakan untuk memperpanjang aplikasi yang di-host oleh web server.

Teknologi Java Servlet HTTP mendefinisikan class khusus servlet untuk

aplikasi tersebut. (Jendrock et al, 2010, p180)

2.2.12 E-Commerce

Menurut Williams dan Sawyer (2007, pp422-pp425), e-commerce

(electronic commerce) adalah pembelian dan penjualan produk dan jasa

melalui jaringan komputer. E-commerce membentuk kembali seluruh

industri dan membenahi gagasan tentang apa pengertian dari perusahaan.

Ada tiga macam sistem e-commerce yang utama, yaitu:

a. Business-to-Business (B2B)

Dalam sistem B2B, sebuah bisnis menjual ke bisnis lain

dengna menggunakan internet atau jaringan khusus, tujuannya utnuk

memotong biaya transaksi dan meningkatkan efisiensi. Selain menjual

produk, bisa juga menjual iklan, pelatihan pegawai, riset pasar,

dukungan teknis, layanan perbankan, dan layanan dukungan bisnis

lainnya.

b. Business-to-Consumer (B2C)

Dalam sistem B2C, perusahaan menjual barang atau jasa

kepada konsumen. Sistem e-commerce ini menggeser perantara dan

bahkan toko fisik.

Page 49: BAB 2 - Landasan Teori - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00221-IF Bab 2.pdfalokasi sumber daya, penjadwalan, kontrol input / output, dan pengaturan

57

c. Consumer-to-Consumer (C2C)

Dalam sistem C2C, konsumen menjual barang atau jasa secara

langsung ke konsumen lain, kerap kali dengan bantuan pihak ketiga,

misalya eBay, sebuah perusahaan lelang online.