bab 2 landasan teori 2.1. -...

45
9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik adalah posisi atau lokasi yang tepat pada suatu bidang. Dalam istilah geometris, titik adalah sepasang koordinat x, y. Titik merupakan posisi atau lokasi pada permukaan bidang. (sumber : http://gdbasics.com) 2.2. Garis Garis adalah rangkaian tak terbatas dari titik yang memiliki panjang bukan ketebalan. Garis merupakan hubungan antara dua titik, atau merupakan jalur dari pergerakan titik. (sumber : http://gdbasics.com) 2.3. Android Android adalah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk dapat menciptakan aplikasi mereka sendiri yang digunakan untuk perangkat lunak mobile seperti handphone, smartphone, dan tablet . Pada mulanya Android Inc mengembangkan perangkat lunak untuk ponsel/ smartphone dan hadir sebagai pendatang baru dalam industri tersebut. Kemudian Google membeli Android Inc membuatnya menjadi open source , sehingga pengembang dapat menggunakan kode sumber tanpa dipungut biaya. Android juga didukung oleh komunitas open source yaitu kumpulan orang- orang yang dapat saling bekerja sama dan saling membantu memanfaatkan kode

Upload: trinhdan

Post on 28-Mar-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

9

BAB 2

LANDASAN TEORI

2.1. Titik Menurut Ryan Gladhill (2008), titik adalah posisi atau lokasi yang tepat

pada suatu bidang. Dalam istilah geometris, titik adalah sepasang koordinat x, y.

Titik merupakan posisi atau lokasi pada permukaan bidang. (sumber :

http://gdbasics.com)

2.2. Garis Garis adalah rangkaian tak terbatas dari titik yang memiliki panjang bukan

ketebalan. Garis merupakan hubungan antara dua titik, atau merupakan jalur dari

pergerakan titik. (sumber : http://gdbasics.com)

2.3. Android Android adalah sistem operasi untuk perangkat mobile berbasis linux yang

mencakup sistem operasi, middleware, dan aplikasi. Android menyediakan platform

terbuka bagi para pengembang untuk dapat menciptakan aplikasi mereka sendiri

yang digunakan untuk perangkat lunak mobile seperti handphone, smartphone, dan

tablet.

Pada mulanya Android Inc mengembangkan perangkat lunak untuk

ponsel/smartphone dan hadir sebagai pendatang baru dalam industri tersebut.

Kemudian Google membeli Android Inc membuatnya menjadi open source,

sehingga pengembang dapat menggunakan kode sumber tanpa dipungut biaya.

Android juga didukung oleh komunitas open source yaitu kumpulan orang-

orang yang dapat saling bekerja sama dan saling membantu memanfaatkan kode

Page 2: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

10

sumber yang tersedia untuk dipelajari, diperbaiki, dan dirubah dalam menciptakan

dan serta mengembangkan aplikasi.

Menurut Nazruddin Safaat (2011, h.2), Android merupakan platform mobile

yang memiliki tiga hal sebagai berikut:

1. Lengkap (complete platform), karena Android menyediakan banyak tools

dalam membangun perangkat lunak dan memiliki peluang untuk

mengembangkan aplikasi.

2. Terbuka (open source platform), karena pengembang secara bebas dapat

mengembangkan aplikasi dan platform Android disediakan melalui

lisensi open source.

3. Free (free platform), karena Android merupakan plaform yang bebas

untuk dikembangkan dan tidak ada royalti untuk pengembangan pada

platform Android.

Android memiliki versi-versi sebagai berikut:

• Android versi 1.1

• Android versi 1.5 (Cupcake)

• Android versi 1.6 (Donut)

• Android versi 2.0/2.1 (Eclair)

• Android versi 2.2 (Froyo: Frozen Yoghurt)

• Android versi 2.3 (Gingerbread)

• Android versi 3.0/3.1 (Honeycomb)

• Android versi 4.0 (Ice Cream)

Page 3: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

11

2.3.1. Android versi 3.0/3.1 (Honeycomb)

Android versi 3.0/3.1 merupakan versi Android yang dirancang khusus

untuk perangkat tablet yang berbeda dengan versi-versi sebelumnya yang

hanya berjalan di perangkat smartphone. Android versi 3.0 dibuat untuk

mendukung untuk ukuran layar yang lebih besar seperti tablet dalam hal user

interface dan fitur-fitur yang berbeda dengan versi sebelumnya.

2.3.2. Dalvik Virtual Machine (DVM)

Android menggunakan Dalvik Virtual Machine (DVM) yaitu virtual

sendiri yang dirancang agar fitur-fitur berjalan pada perangkat mobile. Dalvik

Virtual Machine (DVM) merupakan register bases. DVM didesain dan

ditulis oleh Don Bornsten dan beberapa engineers Google lainnya. Untuk

menangani fungsionalitas tingkat rendah termasuk keamanan, threading, dan

proses manajemen memori. Dalvik Virtual Machine menggunakan kernel

linux yang memungkinkan pengguna untuk menulis aplikasi C/C++ seperti

pada OS linux pada umumnya.

DVM merupakan mesin virtual yang mengeksekusi file dalam Dalvik

Executeable (.Dex) Format yaitu sebuah format yang dioptimalkan untuk

penyimpanan yang efisien, eksekusi, dan pemetaan memori. Semua

hardware yang berbasis Android dijalankan menggunakan virtual machine

untuk mengeksekusi aplikasi. DVM mengeksekusi executable file yang

diciptakan dengan mengubah class bahasa java dan dikompilas i

menggunakan tools yang disediakan dalam SDK Android.

Page 4: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

12

2.3.3. Android Software Development Kit (SDK)

Android SDK adalah tools Application Programming Interface (API)

yang dibutuhkan untuk mengembangkan aplikasi ber-platform Android

dengan menggunakan bahasa pemrograman java. Pada Android SDK sudah

tersedia

2.3.4. Arsitektur Android

Dalam sistem operasi Android memiliki bagian-bagian sebagai berikut :

• Applications

Applications adalah layer yang berisi satu set aplikasi inti yang terdiri

dari klien email, program SMS, peta, browser, kontak, dan lain-lain.

Semua aplikasi ditulis menggunakan bahasa pemrograman Java.

• Application Framework

Android merupakan sebuah platform pengembangan terbuka (Open

Development Platform) sehingga pengembang dapat membangun

aplikasi yang inovatif. Pengembang secara bebas dapat mengakses

perangkat keras, mengakses informasi, menjalankan service

background, mengatur alarm, menambahkan notifikasi ke status bar,

dan lain-lain.

Application Framework merupakan layer yang memberikan akses ke

API secara penuh kepada pengembang untuk membuat dan

mengembangkan aplikasi inti di dalam Android. Seperangkat layanan

dan sistem yang disediakan oleh Applications Framework adalah

sebagai berikut:

Page 5: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

13

‐ Views yang digunakan untuk membangun sebuah aplikasi,

termasuk list, grid, teks, tombol, dan web browser yang dapat

di-embed.

‐ Content Provider yang memungkinkan aplikasi untuk

mengakses data dari aplikasi lain (seperti kontak) atau untuk

berbagi data mereka sendiri.

‐ Resource Manager yaitu penyedia akses string lokal, grafik,

dan tata letak dokumen

‐ Notification Manager yang memungkinkan semua aplikasi

untuk menampilkan notifikasi dalam status bar

‐ Activity Manager yang mengelola siklus hidup aplikasi dan

menyediakan navigasi

‐ Libraries

Merupakan layer yang mencakup satu set libraries C/C++

yang digunakan oleh berbagai komponen dari sistem Android

untuk menjalankan aplikasi.

Beberapa libraries C/C++ tersebut antara lain sebagai berikut :

Media Libraries untuk mendukung pemutaran dan

perekaman audio, format video, dan gambar statis,

termasuk MPEG4, H.256, MP3, AAC, AAC, AMR, JPG,

dan PNG.

Surface Manager untuk mengelola akses ke subsistem

layar

Page 6: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

14

LibWebCore merupakan web browser modern dengan

engine embeded web view.

3D libraries yang merupakan implementasi OpenGL ES

1,0 API sehingga mengoptimalkan 3D.

SQLite merupakan mesin database relasional yang

tersedia untuk mendukung database untuk semua aplikasi.

• Android Run Time

Setiap aplikasi Android berjalan dalam prosesnya sendiri. Contoh

seperti Dalvik Virtual Machine (DVM) mengeksekusi file dalam

Dalvik executable (.Dex). Virtual mesin ini berbasis register dan

menjalankan class yang dikompilasi oleh Java Compiler, sehingga

dapat menjalankan fungsi-fungsi secara optimal.

• Linux Kernel

Linux kernel merupakan layer yang melayani sistem inti dalam

Android seperti keamanan, manajemen memori, manajemen proses,

driver, dan sistem-sistem operasi Android lainnya. Android

menggunakan linux kernel versi 2.6.

Page 7: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

15

 

Gambar 2.1 Arsitektur Android

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

2.4. Java Menurut Jeff Friesen (2010, p.1), Java adalah platform untuk mengeksekusi

program dan terdiri dari library untuk menjalankan program dan berinteraks i

dengan sistem operasi yang mendasarinya. Java adalah bahasa pemrograman yang

sederhana, berorientasi objek, terdistribusi, diinterpretasikan, kuat, aman, arsitektur

netral, portabel, kinerja tinggi, multithreaded, dan dinamis. Java dapat dijalankan di

berbagai jenis sistem operasi dan arsitektur komputer.

Java pertama kali dikembangkan oleh tim yang dipimpin oleh James Gosling

di Sun Microsystem. Pada mula nya disebut Oak yang dirancang pada tahun 1991

untuk digunakan dalam chip tertanam dalam peralatan elektronik konsumen.

Page 8: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

16

Kemudian pada tahun 1995, berganti nama menjadi Java yang didesain ulang untuk

mengembangkan aplikasi internet.

2.5. PHP PHP Hypertext Preprocessor (PHP) merupakan suatu bahasa yang bersifat

server side (berjalan di sisi server). PHP sendiri dapat disisipkan dalam bahasa

HTML. Karena berjalan di sisi server, maka bahasa PHP dieksekusi di server,

kemudian dikirimkan hasilnya dalam bentuk HTML. Oleh karena itu, kode PHP

tidak terlihat. Sebagian besar sintaks PHP dipinjam dari C, Java, dan Perl. Tujuan

diciptakannya bahasa ini adalah agar pengembang web dapat menulis halaman web

secara dinamis dan cepat.

Menurut Vikram Vaswani (2009, p.5), PHP memiliki beberapa keunggulan,

antara lain:

• Kinerja

Script yang ditulis dalam PHP mengeksekusi lebih cepat dibandingkan

yang ditulis dalam bahasa script lain.

• Portabilitas

PHP tersedia untuk UNIX, Microsoft Windows, Mac OS, dan OS/2. PHP

merupakan program portable antar platform. Kemampuan untuk

melakukan cross-platform merupakan salah satu keunggulan bagi

lingkungan perusahaan yang multiplatform.

• Kemudahan dalam penggunaan

Page 9: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

17

PHP adalah bahasa pemograman yang sangat canggih dan dilengkapi

dengan 5000 fungsi. Hal ini merupakan salah satu alasan PHP disukai

sebagai alat prototyping untuk aplikasi berbasis web.

• Open source

PHP merupakan bahasa open source dan tersedia secara bebas di web

serta dapat digunakan tanpa biaya lisensi.

2.5.1. Prinsip Kerja PHP

Prinsip kerja PHP hampir sama dengan HTML yaitu diawali dengan

mengirimkan permintaan halaman web oleh browser. Klien memanggil

berdasarkan URL (Uniform Resource Locator) melalui browser, kemudian

kode-kode PHP diterjemahkan oleh mesin PHP ke kode HTML terlebih

dahulu sebelum diterjemahkan browser untuk ditampilkan di klien.

 

Gambar 2.2 Konsep Kerja PHP

Page 10: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

18

2.6. MySQL

Menurut Larry Ullman (2006, pp.ix-x), MySQL adalah Database

Management System (DBMS) untuk database relasional, oleh karena itu MySQL

adalah sebuah RDBMS (Relational Database Management System). Database

adalah sekumpulan (sering saling terkait) data, baik teks, angka, atau file biner,

yang disimpan dan diselenggarakan oleh DBMS. Secara teknis, MySQL adalah

sebuah aplikasi yang mengelola file yang disebut database.

MySQL adalah sebuah aplikasi open source, seperti PHP dan beberapa jenis

dari Unix yang berarti user dapat secara bebas untuk menjalankan atau bahkan

memodifikasi kode sumber yang dapat di-download di internet.

2.7. SQLite

SQLite adalah aplikasi embedded yang digunakan untuk mengelola

database. SQLite merupakan aplikasi open source yang dirilis pada tahun 2000 dan

dirancang untuk menyediakan cara penyimpanan yang cepat dan penggunaan

memori yang sangat sedikit untuk aplikasi yang mengelola data. Menurut Grant

Allen dan Mike Owens (2010, p.1) SQLite dapat mengelola data tanpa overhead

yang sering terjadi pada sistem manajemen database relasional. Dalam

penggunaannya SQLite sangat portable, mudah digunakan, efisien, dan mudah

digunakan.

SQLite adalah database yang tertanam di dalam sebuah program. Program

inilah yang akan melakukan pekerjaan dan mengolah data. Salah satu keuntungan

dari memiliki serverdatabase di dalam program yaitu tidak ada konfiguras i

jaringan, persyaratan administrasi yang diperlukan untuk mengakses database

Page 11: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

19

tersebut, tidak perlu memikirkan kekhawatiran dari adanya firewall, dan tidak perlu

membuang waktu untuk mengurus authentication untuk mengakses data. Baik klien

dan server dijalankan bersama-sama dalam proses yang sama. Overhead tidak

terjadi karena mengurangi, menyederhanakan administrasi database, dan

membuatnya lebih mudah untuk menyebarkan aplikasi karena segala data yang

dibutuhkan dikompilasi langsung di program.

2.7.1. SQLite di Android

Menurut Nazruddin Safaat H (2011, p.158), Android memiliki fasilitas

untuk membuat database yang dikenal dengan SQLite. Di dalam Android,

SQLite termasuk dalam Android runtime, sehingga setiap versi dari Android

dapat membuat database dengan SQLite.

Untuk menggunakan SQLite dalam pembuatan database pada Android

tidak tersedia secara otomatis, melainkan harus meng-createdatabase sendiri,

mendefinisikan tabel, index, serta datanya. Untuk membuat dan membuka

database menggunakan libraries, yaitu:

import android.database.sqlite.SQLiteOpenHelper

Libraries tersebut menyediakan tiga metode yaitu:

• Constructor, menyediakan representasi versi dari database skema yang

kita gunakan.

• onCreate(), menyediakan SQLiteDatabase object yang kita butuhkan

dalam definisi tabel dan inisialisasi data.

• onUpgrade(), menyediakan fasilitas convertdatabase dari skema database

versi yang lama ke skema database versi yang baru.

Page 12: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

20

2.8. WebSocket

WebSocketadalah teknologi yang dirancang untuk menyederhanakan

kompleksitas pada komunikasi bi-directional, full-duplex melalui socket

Transmission Control Protocol (TCP) tunggal dimana pesan dapat dikirimkan

antara klien dan server. WebSocket mengunakan protokol berbasiskan HTTP.

Koneksi WebSocket dibentuk dengan mengubah protokol HTTP menjadi protokol

WebSocket ketika melakukan handshake antara klien dan server. (sumber:

http://websocket.org/).

2.8.1. Protocol HTTP/1.1

HTTP adalah protokol jaringan untuk web yang digunakan untuk

berkomunikasi antara klien dan server. HTTP hampir selalu menggunakan TCP

sebagai protokol transport. TCP bekerja sangat baik dalam hal koneksi jangka

panjang, tetapi bentuk HTTP menggunakan koneksi TCP yang baru setiap

melakukan permintaan, sehingga setiap permintaan yang dikeluarkan akan

memerlukan pengaturan koneksi TCP yang baru. Karena hal tersebut bandwidth

yang tersedia tidak dipergunakan dengan maksimal. Versi HTTP terakhir yang

menggunakan koneksi tersebut adalah HTTP/1.0.

HTTP/1.1 yang merupakan protokol HTTP yang diterapkan oleh

WebSocket telah mengatasi permasalahan tersebut. Karena sebelumnya HTTP/1.0

tidak membuat ketentuan terhadap koneksi tetap. Beberapa implementasi dari

HTTP/1.0 menggunakan header yang tetap hidup untuk menahan koneksi namun

pola tersebut tidak dapat beroperasi dengan intermediate proxy. HTTP/1.1

menyediakan beberapa solusi umum dengan melakukan koneksi tetap sebagai

Page 13: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

21

standar. HTTP/1.1 klien, server, dan proxy menganggap koneksi akan tetap

terbuka setelah transmisi response dan request. Protokol memperbolehkan

implementasi untuk menutup koneksi kapan saja.

(Sumber: http://baraknaamafinal.appspot.com/http.jsp)

Meskipun HTTP/1.1 mendukung transmisi dari berbagai permintaan pada

koneksi TCP tunggal, setiap request harus dapat terkirim dalam satu pesan yang

saling berdampingan, dan server harus mengirim respon secara urutan apa yang

telah diterimanya dari request. Namun klien tidak perlu menunggu untuk

menerima response untuk mengirimkan pesan pada koneksi yang sama. Dalam

kata lain, klien dapat mengirimkan request yang banyak pada koneksi TCP

sebelum menerima response apapun. Hal ini dapat memberikan peforma yang baik

karena tidak memerlukan waktu menunggu lagi dalam pengiriman pesan.

Gambar 2.3 Arsitektur Protocol HTTP/1.1

Page 14: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

22

2.9. JavaScript

JavaScript adalah bahasa pemograman web. Mayoritas situs web modern

menggunakan JavaScript, semua web browser yang modern pada desktop, konsol

game, tablet, dan smartphone termasuk dalam interpreter dari JavaScript.

JavaScript merupakan bagian dari 3 serangkai teknologi yang dipelajari oleh

pengembang yang terdiri dari HTML untuk menentukan isi dari halaman web, CSS

untuk menentukan tampilan halaman web, dan JavaScript untuk menentukan

perilaku dari halaman web.

Menurut David Planagan (2011, p.1), JavaScript merupakan bahasa

pemrograman tingkat tinggi yang dinamis dan cocok untuk gaya pemrograman

berorientasi objek dan fungsional. JavaScript berasal dari sintaks Java namun

berbeda dari bahasa pemrograman Java. JavaScript telah menjadi bahasa yang

umum, tujuan yang kuat, dan efisien.

2.10. Extensible Markup Language (XML)

Menurut Kevin Howard (2009, p.xii), XML adalah spesifikasi untuk

menyimpan informasi dan juga merupakan spesifikasi untuk menggambarkan

struktur informasi tersebut. XML adalah bahasa markup (seperti HTML), XML

tidak memiliki label sendiri . Hal ini memungkinkan orang menulis XML untuk

menciptakan apapun tag yang dibutuhkan. Spesifikasi XML memungkinkan oran g

untuk mendefinisikan bahasa markup mereka sendiri.

XML adalah bahasa yang didesain khusus untuk penyimpanan data dan

transportasi. XML terlihat seperti HTML, lengkap dengan tag, atribut, dan nilai-

nilai. XML juga dapat digunakan untuk berbagi data antara sistem yang berbeda

Page 15: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

23

dan organisasi. Hal ini disebabkan XML hanyalah sebuah sebuah file teks dan

tidak lebih. XML juga terstruktur, mudah dimengerti, mudah untuk mengurai,

mudah untuk memanipulasi, dan mudah dibaca.

XML memiliki struktur yang sangat teratur dan dapat diperkirakan. Jika

file memenuhi aturan-aturan ini maka dianggap well-formed. Aturan-aturan itu

mengandung antara lain:

• Elemen root

Setiap file XML harus berisi salah satu dan hanya satu elemen root.

Elemen root ini berisi semua elemen lain dalam dokumen.

• Tag penutup

Setiap elemen harus memiliki tag penutup.

• Elemen harus benar dan tepat

Jika memulai elemen A, kemudian mulai elemen B, maka terlebih

dahulu menutup B sebelum menutup elemen A.

• Case Sensitive

XML merupakan case sensitive.

Menurut Kevin Howard (2009, p.xii), keunggulan dari bahasa XML adalah

sebagai berikut:

• XML adalah bahasa yang mudah dipelajari dan diadaptasi.

• Menggunakan XML untuk mendesain kesesuaian bahasa markup

dan kemudian menggunakan bahasa tersebut untuk menyimpan

informasi.

Page 16: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

24

• XML dapat digunakan untuk mengirimkan data antara sistem yang

berbeda. Karena itulah penyebab dokumen XML merupakan

dokumen teks yang sederhana, terstruktur, mudah dimengerti,

mudah di parse, mudah untuk memanipulasi data, dan mudah untuk

dibaca manusia.

XML tidak mengkhususkan jenis user untuk menggunakannya. Sehingga bebas

digunakan oleh siapa saja.

2.11. Node.js

Node.js adalah platform yang dibangun pada Chrome JavaScript runtime

yang bertujuan untuk agar mudah untuk membangun aplikasi jaringan yang

scalable. Node.js menggunakan event-driven, non blocking I/O model yang

membuatnya ringan dan efisien dan cocok untuk data intensif dari aplikasi real

time yang berjalan dalam perangkat yang terdistribusi. (sumber : http://nodejs.org)

Menurut Mick Thompson (2011, p.1), Node.js telah menjadi asynchronous

framework populer untuk JavaScript. Node.js merupakan aplikasi internet yang

sangat scalable terutama web server. Program ini dituliskan dalam JavaScript,

menggunakan event-driven, asynchronous I/O untuk meminimalkan overhead dan

memaksimalkan skalabilitas. Node.js mengimplementasikan multiple Websocket

Servers dan mendukung protocol HTTP/1.1.

2.11.1. Socket IO

Socket.IO merupakan Application Programming Interface (API)

dari WebSocket yang dibuat oleh Guillermo Rauch, CTO dari LearnBoost.

Page 17: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

25

Socket.IO ini akan membuat sambungan yang dibentuk dengan WebSocket

untuk menciptakan aplikasi real time yang dapat bekerja di mana saja.

Socket.IO juga menyediakan API untuk NodeJS yang banyak ditemukan

pada API sisi klien. (sumber : http://socket.io).

2.12. Web Service

Menurut Doug Tidwell, James Snell, dan Pavel Kulchenko (2001, p.6),

web service adalah sebuah aplikasi yang dapat diakses melalui jaringan

menggunakan kombinasi dari protokol seperti HTTP, XML, SMTP, atau Jabber.

Web service merupakan sebuah antarmuka yang berada di posisi antara kode

sumber aplikasi dan pengguna dari kode sumber tersebut. Bertindak sebagai

lapisan abstraksi, memisahkan platform dan bahasa pemrograman spesifik rincian

tentang bagaimana kode aplikasi sebenarnya dipanggil.

Menurut Eric Newcomer (2002, p.7), web service mengangkut sejumlah

data yang besar dan efisien dari sebelumnya. Hasil yang didapat lebih cepat, lebih

baik, dan lebih produktif. Seperti pada gambar 2.3 layanan web service

menyediakan penghubung standar yang menghubungkan, menyajikan ke jaringan

dan berinteraksi dengan sistem back-end perangkat lunak, seperti sistem

manajemen database, NET, J2EE (Java2 Platform, Enterprise Edition), atau

CORBA (Common Object Request Broker Architecture) objek, adapter untuk

paket Enterprise Resources Planning (ERP). Layanan web service menerima pesan

XML standar dari jaringan, mentransformasi data XML ke dalam format yang

dimengerti oleh sistem back-end perangkat lunak tertentu dan memberikan

kembali pesan balasan. Implementasi perangkat lunak yang mendasari web

Page 18: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

26

servicedapat dibuat dengan menggunakan bahasa pemrograman, sistem operasi,

atau sistem middleware

 

Gambar 2.4Web Service interface dengan back end system (Newcomer, 2002, p.8)

2.12.1. Web Service Description Language (WSDL)

Web Service Description Language (WSDL) adalah format skema

XML yang mendefinisikan extensible framework untuk menggambarkan

layanan web service. Web serviceframework ini menyediakan secara umum

menjelaskan tipe data yang lewat melalui pesan, operasi yang dilakukan

pesan, dan pemetaan dari pesan ke jaringan transportasi.

Page 19: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

27

 

Gambar 2.5 Elemen-elemen WSDL (Newcomer, 2002, p.23)

2.12.2. Simple Object Access Protocol (SOAP)

Simple Object Access Protocol (SOAP) merupakan transportasi

minimum yang dibangun untuk menghubungkan layanan web service.

Menurut Eric Newcomer (2012, p.25), SOAP mendefinisikan informasi

apa yang akan dikirim dan bagaimana dirancang untuk menyediakan

komunikasi, menjembatani atau menghubungkan dua atau lebih proses

komunikasi melalui protokol.

Page 20: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

28

 

Gambar 2.6SOAP message connect remote sites (Newcomer, 2002, p.26)

SOAP memiliki beberapa bagian utama, yaitu:

• Envelope : mendefinisikan awal dan akhir pesan.

• Header : Berisi sembarang atribut opsional dari pesan yang

digunakan dalam pengolahan pesan, baik di titik perantara atau

pada titik akhir.

• Body : berisi data XML yang terdiri dari pesan yang dikirim.

• Attachment : terdiri dari satu atau lebih dokumen yang dilampirkan

ke pesan utama (SOAP dengan attachment saja).

• RPC Interaction : mendefinisikan bagaimana model gaya interaksi

RPC dengan SOAP.

Page 21: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

29

• Encoding : mendefinisikan bagaimana mewakili data sederhana dan

kompleks sedang dikirim dalam pesan.

2.13. JavaScript Object Notation (JSON)

JavaScript Object Notation (JSON) merupakan format pertukaran data

yang ringan, mudah dibaca dan ditulis oleh manusia. Format teks penulisan

bahasanya tidak bergantung pada bahasa pemrograman apapun karena

menggunakan gaya bahasa yang umum digunakan oleh programmer diantaranya

C, C++, Java, JavaScript, Perl, Python, dan lain-lain. Oleh karena sifat yang tidak

bergantung itu yang menyebabkan JSON menjadi bahasa ideal yang digunakan

dalam pertukaran data. (sumber : http://www.json.org/ )

JSON terdiri dari 2 struktur, yaitu:

• Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan

sebagai objek (object), rekaman (record), struktur (struct), kamus

(dictionary), hash tabel, keyed list, atau associative array

• Daftar nilai terurut (an ordered list of values). Pada kebanyakan bahasa

dinyatakan sebagai array, vector, list, atau sequence.

2.14. Database

Menurut Thomas Connoly and Carolyn Begg (2010, p.54), database

adalah sekumpulan data yang saling berhubungan secara logis dan menggunakan

aplikasi untuk mengatur dan mengendalikan akses ke database yang disebut

Database Management System.

Page 22: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

30

Database adalah kumpulan informasi yang disimpan di dalam komputer,

yang diorganisasikan dan disimpan secara terintegrasi dengan menggunakan

metode tertentu untuk memenuhi kebutuhan para pengguna.

2.14.1. Database Management System (DBMS)

Menurut Thomas Connoly and Carolyn Begg (2010, p.66),

Database Management System (DBMS) adalah sebuah sistem aplikasi yang

memperbolehkan pengguna untuk mendefinisikan, membuat, menjaga, dan

mengontrol akses ke database. Sistem aplikasi ini memungkinkan pengguna

untuk mendefinisikan database, menspesifikasikan tipe data, struktur

database, dan batasan-batasan dari data yang akan disimpan di dalam

database yang dinamakan Data Definition Language (DDL).

Selain itu memungkinkan pengguna untuk menyisipkan,

memperbaharui, menghapus, dan menerima data dari database yang

dinamakan Data Manipulation Language (DML).

DBMS menyediakan kendali akses terhadap database, seperti :

Sistem keamanan, yang mencegah pengguna tidak sah untuk

mengakses database.

Sistem terintegrasi, yang memelihara konsistensi data yang

disimpan.

Sistem kontrol konkurensi, yang memperbolehkan pembagian

akses ke database.

Page 23: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

31

Sistem kontrol perbaikan (recovery), yang mengembalikan

database ke konsistensi sebelum nya yang disebabkan oleh

kegagalan hardware atau software.

Pedoman yang dapat diakses pengguna, yang berisi penjelasan

dari informasi data yang ada di dalam database.

2.14.2. Structured Query Language (SQL)

SQL merupakan singkatan dari Structured Query Language yang

memungkinkan pengguna untuk mengakses dan memanipulasi database.

SQL memiliki beberapa fungsi sebagai berikut:

• Mengeksekusi query terhadap database.

• Mengambil data dari database.

• Menyisipkan catatan (record) dalam database.

• Memperbarui catatan (record) dalam database.

• Menghapus catatan (record) dalam database.

• Menciptakan database baru.

• Membuat database baru.

• Membuat tabel baru di database.

• Membuat Viewdalam database.

• Mengatur hak akses pada tabel, prosedur, dan

View.

Page 24: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

32

2.14.3. Entity Relational Diagram (ERD)

Entity Relational Diagram (ERD) adalah diagram khusus yang

menggambarkan hubungan antar entitas dalam database.

Komponen utama ERD :

1. Entitas

Entitas adalah suatu tempat atau objek untuk menyimpan data.

Contoh: Entitas mahasiswa untuk menyimpan atribut mengenai

mahasiswa (Nomor Induk Mahasiswa, Nama Mahasiswa, Alamat,

Telepon, dan lain-lain).

2. Atribut

Atribut adalah elemen yang berfungsi untuk mendeskripsikan isi dari

entitas tersebut dan mengidentifikasikan

Contoh: Entitas mahasiswa memiliki atribut Nomor Induk

Mahasiswa, Nama Mahasiswa, Alamat, dan Telepon.

3. Relasional

Relational adalah hubungan yang dimiliki antar entitas.

2.15. Interaksi Manusia dan Komputer

Desainer antarmuka sangat berperan dalam transformasi yang mengubah

komputer. Pada mulanya komputer hanya digunakan dan dimengerti oleh

pengembang sendiri, kemudian diubah menjadi komputer sosial yang

memungkinkan pengguna untuk berkomunikasi, berinteraksi, dan melayani

kebutuhan profesional. Pergeseran secara dramatis ini yang membuat peneliti dan

Page 25: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

33

desainer antarmuka memanfaatkan teknologi maju untuk melayani kebutuhan

manusia. Penelitian-penelitian yang dilakukan menciptakan ilmu desain

interdispliner interaksi manusia dengan komputer dengan menerapkan metode-

metode psikologi experimental untuk alat-alat canggih dari ilmu komputer.

Melalui ilmu interaksi manusia dan komputer dapat mempermudah dalam

pengoperasian komputer. (Ben Shneiderman, 2010, p.22)

2.15.1. Delapan Aturan Emas

Menurut Ben Shneiderman (2010, pp.88-89), dalam mendesain

user interface ada delapan aturan yang harus diimplementasikan dalam

merancang sistem yang interaktif dan berkualitas tinggi, antara lain:

1. Berusaha untuk tetap konsisten

Konsisten pada urutan tindakan yang dilakukan pada situasi yang

mirip dan penggunaan terminologi identik pada prompt, menu, dan

layar bantuan. Konsisten pada warna, tata letak, kapitalisasi, jenis

huruf, dan sebagainya yang digunakan secara keseluruhan.

2. Memungkinkan frequent user untuk melakukan jalan pintas

(shortcut)

Mengenali kebutuhan pengguna yang beragam dan desain untuk

transformasi konten. Perbedaan pengguna dari pemula, pengguna

ahli, rentang usia, cacat, dan keragaman setiap teknologi yang

memperkaya persyaratan yang bisa dijadikan panduan desain.

Menambahkan fitur untuk pemula seperti penjelasan dan fitur untuk

pengguna ahli berupa jalan pintas (shortcut) untuk meningkatkan

Page 26: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

34

kecepatan tindakan, memperkaya desain antarmuka, dan

meningkatkan kualitas sistem yang dirasakan.

3. Memberikan umpan balik yang informatif

Untuk setiap tindakan pengguna harus memiliki sistem umpan balik.

Untuk tindakan yang sering dilakukan dan kurang penting, respon

dapat diberikan secara sederhana, sedangkan untuk tindakan yang

jarang dilakukan dan sangat penting respon balik harus lebih

substansial.

4. Merancang dialog untuk mencapai suatu penutupan

Urutan tindakan harus di organisir ke dalam kelompok awal, tengah,

dan akhir. Umpan balik yang informatif pada penyelesaian

sekelompok tindakan akan memberikan petunjuk dalam

mempersiapkan sekelompok tindakan berikutnya.

5. Mencegah kesalahan

Sebisa mungkin mendesain sistem yang tidak membuat pengguna

melakukan kesalahan fatal. Jika pengguna membuat kesalahan,

interface harus mendeteksi kesalahan dan memberikan instruksi

sederhana, konstruktif, dan spesifik untuk perbaikan. Misalnya,

pengguna tidak mengetik ulang dan seluruh nama serta alamat jika

mereka hanya memasukkan kode pos yang tidak valid, tetapi

diarahkan untuk memperbaiki hanya dibagian yang salah.

6. Kemudahan kembali ke tindakan sebelumnya

Page 27: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

35

Sebisa mungkin tindakan yang dilakukan dapat dibatalkan atau

dikembalikan pada saat sebelum dilakukannya tindakan tersebut. Hal

ini akan mengurangi kecemasan pengguna untuk melakukan

tindakan karena telah mengetahui tindakan dapat dibatalkan,

sehingga pengguna dapat berani mengekplorasi berbagai tindakan

asing yang belum pernah dilakukan.

7. Mendukung pusat kendali internal

Pengguna yang berpengalaman menginginkan mereka bertanggung

jawab atas antarmuka dan antarmuka merespon tindakan mereka.

8. Mengurangi beban ingatan jangka pendek

Kapasitas terbatas manusia untuk memproses informasi dalam

memori jangka pendek yang menyebabkan dibutuhkanya desain

antarmuka yang mudah sederhana dan mudah mengingat informasi

dari satu layar dan menggunakan informasi di layar lain.

2.15.2. Lima Faktor Manusia Terukur

Menurut Ben Shneiderman (2010, pp.88-89), ada lima faktor

manusia terukur, yaitu:

1. Waktu untuk belajar

Ukuran waktu yang diperlukan user untuk belajar memahami

aplikasi yang baru. Semakin cepat waktu yang diperlukan user untuk

belajar maka semakin baik.

2. Kecepatan kinerja

Page 28: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

36

Ukuran waktu seberapa cepat user dapat menyelesaikan

pekerjaannya.

3. Tingkat kesalahan oleh pengguna

Seberapa banyak kesalahan yang dilakukan user dalam melakukan

kegiatan.

4. Daya ingat

Kemampuan user untuk mempertahankan ingatan selama jangka

waktu tertentu.

5. Kepuasan subjektif

Seberapa puas user dalam menggunakan aplikasi. Dalam hal ini user

memberikan umpan balik terhadap penggunaan.

2.16. Rekayasa Piranti Lunak

Menurut Roger S.Presman (2010, p13), rekayasa piranti lunak merupakan

penerapan sistematis, displin, pendekatan kuantitatif yang dilakukan untuk

pengembangan, pengoperasian, dan pemeliharaan perangkat lunak.

Dalam proses pembuatan perangkat lunak terdapat kumpulan aktivitas

kerja, tindakan, dan tugas-tugas yang dilakukan ketika sebuah perangkat lunak

yang akan dibuat. Semua kegiatan ini disebut model proses.

2.16.1. Rapid Prototyping Model

Menurut artikel “Selecting a Development Approach”, rapid

prototyping model merupakan model proses yang mendefinisikan satu set

tujuan umum untuk perangkat lunak, akan tetapi tidak mengidentifikasikan

Page 29: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

37

persyaratan rinci untuk fungsi dan fitur. Rapid prototyping berupaya untuk

mengurangi risiko proyek yang melekat dengan memecah proyek ke dalam

segmen yang lebih kecil dan menyediakan kemudahan perubahan selama

proses pembangunan. Dalam sistem yang dikembangkan terdapat proses

yang berulang-ulang dalam beberapa langkah sampai modifikasi prototipe

memenuhi kebutuhan pengguna. Berbeda dengan model proses

prototyping, hasil prototipe yang dibuat akan dibuang dan membangun

prototipe yang baru.

Berikut merupakan gambar dari model proses rapid prototyping

 

Gambar 2.7 Model Proses Rapid Prototyping

Pada model proses rapid prototyping memiliki langkah-langkah sebagai

berikut:

1. Initial Investigation

Pengumpulan kebutuhan dari user untuk mengetahui apa saja

kebutuhan saat ini yang nantinya akan dikembangkan.

2. Requirement Definition

Page 30: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

38

Tahap ini merupakan identifikasi dari hasil pengumpulan data

yang telah dilakukan.

3. System Design

Perancangan dari sistem yang akan dibuat dalam tahap ini

secara logika, struktural dan user interface.

4. Coding and Testing

Pengkodean dan penyusunan logika yang telah dibuat

sebelumnya pada system design. Pada tahap ini setelah pengkodean

selesai maka dilakukan testing. Bila masih diperlukan perbaikan

pengkodean, maka bisa dilakukan langsung pengkodean.

5. Implementation

Untuk mengetahui sejauh mana sistem aplikasi yang telah

dibuat, maka langkah selanjutnya dilakukan implementasi untuk diuji

oleh user. Kemudian user memberikan feedback mengenai sistem yang

telah digunakan.

6. Maintenance

Hasil dari feedback yang diberikan user yang nantinya

digunakan untuk pengembangan selanjutnya untuk membuat aplikasi

yang lebih baik dari sebelumnya.

2.17. Unified Modeling Language (UML)

Menurut Whitten (2007, p.371), Unified Modeling Language (UML)

merupakan satu set permodelan konvensi yang digunakan untuk menentukan atau

Page 31: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

39

menggambarkan sebuah sistem perangkat lunak dalam hal objek. Pendekatan yang

seluruh tekniknya berorientasi objek disebut permodelan objek.

Pada akhir 80-an dan awal 90-an banyak metode berorientasi objek yang

digunakan pada industri. Karena begitu banyak metode dan teknik permodelan

yang terkait menjadi masalah bagi industri pengembangan sistem berorientasi

objek. Sehingga menyebabkan menghambat komunikasi antara anggota tim dan

pengguna sistem karena begitu banyak metode yang digunakan. Masalah tersebut

yang menyebabkan upaya untuk merancang sebuah bahasa permodelan standar.

Pada tahun 1994 Grady Booch dan James Rumbaugh menggabungkan

masing-masing metode berorientasi objek untuk menciptakan sebuah proses dan

standar tunggal untuk mengembangkan sistem berorientasi objek. Ivar Jacobson

bergabung pada 1995 untuk membuat bahasa permodelan objek standar. Unified

Modeling Language (UML) versi 1.0 dirilis pada tahun 1997 dan versi saat ini

adalah 2.0. UML tidak menentukan metode namun diterima secara luas sebagai

standar permodelan. Object Management Group (OMG) mengadopsi UML dan

mengembangkan sesuai kebutuhan industri.

2.17.1. Use Case Diagram

Menurut Whitten (2007, p.246), Use case diagram merupakan

grafis yang menggambarkan interaksi antar sistem, sistem eksternal dan

user. Dengan kata lain, grafis menggambarkan siapa yang akan

menggunakan sistem dan dalam cara apa pengguna mengharapkan untuk

berinteraksi dengan sistem. Narasi use case digunakan secara tekstual

untuk menggambarkan urutan langkah setiap interaksi.

Page 32: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

40

 

Gambar 2.8 Contoh Use Case Diagram

Komponen dari use case diagram, antara lain:

• Actors

Seorang actor melakukan aktivitas dalam use case menyelesaikan

beberapa tugas atau kegiatan yang menghasilkan sesuatu yang

dapat diukur.

 

Gambar 2.9 Contoh Actor di Use Case Diagram

Page 33: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

41

• Relationship

Relationship adalah sebuah hubungan yang digambarkan sebagai

garis antara dua simbol pada diagram use case. Setiap hubungan

yang terjadi bisa memiliki arti yang berbeda tergantung dari

bagaimana garis ditarik dan apa jenis simbol yang dihubungkan.

Dalam use case memiliki beberapa jenis hubungan, antara lain:

‐ Associations

Sebuah hubungan antara actor dan use case setiap kali terjadi

interaksi satu sama lain. Association digambarkan sebagai garis

lurus yang solid yang menghubungkan actor dan use case searah

maupun dua arah seperti yang ditunjukkan pada gambar di bawah

ini.

 

Gambar 2.10 Contoh Associations di Use Case Diagram

‐ Extends

Sebuah use case yang berisi fungsi yang kompleks dan terdiri dari

beberapa langkah, maka untuk menyederhanakan use case

membagi sebuah use case menjadi beberapa use case yang

fungsionalitas dari use case aslinya agar lebih mudah dipahami.

Page 34: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

42

Pembagian use case tersebut direpresentasikan dengan garis solid

atau putus-putus dan diberi label<<extends>>.

 

Gambar 2.11 Contoh Extends di Use Case Diagram

‐ Uses (or Includes)

Dalam membuat use case mungkin bisa menggunakan dua atau

lebih use case yang sama. Oleh karena itu untuk mengurangi

redundansi use case yang digunakan, use case tersebut dibuat

menjadi satu yang disebut abstract use case. Hubungan use case

dengan abstract use case menggunakan garis solid atau putus-

putus dan diberi label <<uses>>.

 

Gambar 2.12 Contoh Uses di Use Case Diagram

Page 35: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

43

‐ Depends On

Sebuah use case yang memiliki ketergantungan dengan use case

lainnya dalam melakukan urutan untuk menyelesaikan sebuah

fungsi atau untuk melangkah ke fungsi selanjutnya. Hubungan

depen on digambarkan dengan garis solid atau putus-putus yang

diberi label <<depends on>>.

 

Gambar 2.13 Contoh Depends On di Use Case Diagram

Dalam analisis berorientasi objek menggunakan use case ke dalam

model menggunakan analisa kasus dengan melakukan langkah-langkah

berikut:

1. Mengidentifikasikan, mendefinisikan, dan mendokumentasikan pelaku-

pelaku baru.

Page 36: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

44

Pada saat kebutuhan bisnis menggunakan use casemodel dan pada saat

itulah disetujui oleh pemilik sistem, penganalisa sistem, seluruh tim

pengembang, melalui pembicaraan dengan para stakeholder, dilanjutkan

dengan mempelajari lebih banyak tentang apa yang diperlukan agar

sistem dapat berjalan sukses. Selama upaya ini dilakukan mungkin ada

pelaku tambahan yang ditemukan dan dengan demikian perlu

didefinisikan dan didokumentasikan.

2. Mengidentifikasi, mendefinisikan, dan mendokumentasikan use case

baru

Pada langkah satu ditemukan pelaku baru, kemudian pada langkah dua

mengarah ke interaksi baru dengan sistem sehingga membuat use case

baru. Sebagai aturan umum, setiap jenis antarmuka pengguna yang

digunakan untuk memproses kegiatan bisnis akan memerlukan use case

sendiri. Sebagai contoh pada industri perbankan, use case melakukan

deposit di sebuah mesin ATM akan berbeda dari use case melakukan

deposit menggunakan teller bank. Tujuan dari proses sama dan banyak

langkah yang sama, tetapi penggunaan sistem yang sebenarnya mungkin

berbeda atau bagaimana pengguna berinteraksi dengan sistem

menggunakan teknologi spesifik. Use case baru diidentifikasi akan perlu

didefinisikan dalam use case pelaku sebelumnya.

3. Mengidentifikasikan kemungkinan penggunaan kembali

Bila memiliki dua use case yang memiliki tujuan bisnis yang sama

namum memiliki teknologi antarmuka atau penggunaan sistem yang

Page 37: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

45

sebenarnya berbeda, kedua use case dapat dapat menggunakan langkah

yang umum, untuk menghilangkan langkah-langkah berlebihan. Untuk

menghilangkan langkah-langka berlebihan, kita dapat mengekstrak

langkah-langkah umum ke use case terpisah yang disebut use case

abstract. Di samping itu, ketika kita menganalisa use case dan

menemukan use case yang berisi fungsi kompleks yang terdiri dari

beberapa langkah-langkah yang lebih kompleks dalam use case itu

sendiri yang disebut extension use case. Use case baru ini juga akan

didefinisikan dalam kumpulan use case yang disiapkan sebelumnya.

4. Menyempurnakan Diagram Use Case Model (jika diperlukan)

Dengan menemukan pelaku-pelaku baru dan use case, kita dapat

memperbarui use case penggunaan diagram model yang dibangun

sebelumnya.

5. Mendokumentasikan sistem analisis menggunakan naratif case.

Setiap kebutuhan bisnis semua use case telah ditinjau dan disetujui oleh

pengguna. Setiap use case akan disempurnakan untuk menyertakan

informasi lebih banyak untuk menentukan fungsi sistem secara rinci.

2.17.2. Activity Diagram

Menurut Whitten (2007, p.390), Activitydiagram merupakan grafis

yang menggambarkan aliran berurutan dari kegiatan use case atau proses

bisnis. Activity diagram juga digunakan untuk logika model dengan sistem.

Activity diagram berbeda dengan diagram alur (flowchart) karena

Page 38: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

46

menyediakan mekanisme untuk menggambarkan aktivitas yang terjadi

secara pararel.

Page 39: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

47

 

Gambar 2.14 Contoh Activity Diagram Keterangan:

1

Page 40: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

48

1. Initial node : lingkaran padat mewakili awal proses

2. Actions : persegi panjang bulat yang mewakili langkah-langkah

individu. Urutan tindakan membentuk aktivitas total yang

ditunjukkan oleh diagram.

3. Flow : panah pada diagram menunjukkan perkembangan melalui

tindakan. Kebanyakan mengalir tanpa perlu kata-kata untuk

mengidentifikasikan, kecuali keluar dari keputusan.

4. Decision : bentuk berlian dengan satu aliran masuk dan dua atau

lebih mengarah keluar. Mengalir keluar ditandai untuk

menunjukkan kondisi.

5. Merge : bentuk berlian dengan dua atau lebih arus masuk dan satu

arus keluar. Ini menggabungkan aliran yang sebelumnya

dipisahkan oleh keputusan.

6. Fork : Bar hitam dengan satu arus dan dua atau lebih mengalir

keluar.

7. Join : Bar hitam dengan dua atau lebih arus masuk dan satu arus

keluar, tidak ada akhir pemrosesan konkuren. Semua tindakan

yang masuk ke bergabung harus diselesaikan sebelum proses

berlanjut.

8. Activity final : Lingkaran padat di dalam lingkaran berongga

mewakili akhir proses

Page 41: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

49

2.17.3. Sequence Diagram

Menurut Whitten (2007, p.394) Sequences merupakan grafis yang

menggambarkan bagaimana objek berinteraksi satu sama lain melalui

pesan dalam pelaksanaan use case atau operasi. Sequence diagram

manggambarkan pesan dikirim dan diterima antara objek dan urutan.

Sequence diagram biasanya untuk menggambarkan rangkaian langkah-

langkah yang dilakukan sebagai respon dari sebuah event untuk

menghasilkan output tertentu.

 

Gambar 2.15 Contoh Sequence Diagram

3 1 

2  4 

Page 42: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

50

Keterangan:

1. Actor : aktor berinteraksi dengan user interface yang ditampilkan

dengan use case actor. Kadang aktor diwakilkan dengan frame seperti

class dengan notasi <<actor>>. Garis putus-putus vertikal yang

memanjang ke bawah dari aktor menunjukkan urutan lifeline.

2. Interface class : kotak yang menunjukkan interface class code agar

tidak membingungkan user terhadap class ini maka diberi label

<<interface>>. Titik dua (:) menunjukkan contoh class yang dijalankan

dan garis putus-putus vertikal yang memanjang ke bawah dari class

menunjukkan urutan lifeline.

3. Controller class : setiap use case akan memiliki satu atau lebih class

controller yang digambarkan sama dengan interface class yaitu

<<controller>>

4. Entity class : kotak yang dimasukkan setiap memiliki entry yang

berkolaborasi dalam urutan langkah proses. Titik dua (:) menunjukkan

sebuah contoh objek, dengan kata lain, perintah yang spesifik, produk

spesifik, dan sebagainya.

5. Messages : panah horizontal yang menunjukkan pesan yang dikirimkan

ke class.

6. Activation bars : bar yang menunjukkan periode waktu masing-masing

object instance yang ada.

Page 43: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

51

7. Return messages : panah horizontal putus-putus merupakan return

message. Setiap tindakan harus mengirimkan kembali pesan baik itu

benar/salah untuk menunjukkan sebuah tindakan telah dilakukan.

8. Self-call : sebuah objek dapat mengsambil method sendiri

9. Frame : kotak bingkai dalam sequence diagram yang menunjukkan

bahwa satu atau lebih pesan merupakan sebuah langkah-langkah

opsional dan menunjukkan bahwa controller perlu loop melalui semua

item.

2.17.4. Class Diagram

Menurut Whitten (2007, p.648), class diagram merupakan grafis

yang menggambarkan struktur objek dari sebuah sistem dan hubungan

antara kelas-kelas objeknya. Sistem berorientasi objek yang terstruktur

setidaknya memiliki tiga jenis kelas objek, antara lain:

• Entity Classes

Entiy Class merupakan model class yang berisi informasi dan

dikenal sebagai atribut.

• Interface Classes

Seorang user yang berkomunikasi dengan sistem melalui user

interface dan diimplementasikan sebagai sebuah class. Peranan dari

interface ini adalah:

1. Menterjemahkan input dari user ke dalam sistem informasi

yang dapat memahami dan digunakan untuk memproses

kegiatan bisnis.

Page 44: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

52

2. Kebutuhan data yang berkaitan kegiatan bisnis dan

menterjemahkan data untuk ditampilkan untuk user.

• Control Classes

Control classes mengimplementasikan logika bisnis atau aturan

bisnis dari sistem. Pada umumnya user mengimplementasikan satu

atau lebih control classes. Control classes mengirimkan messages

dari interface classes dan menerima messages dari entity classes.

Atribut dan metoda dapat diakses oleh class lain yang disebut visibility.

UML memberikan tiga tingkatan dari visibility sebagai berikut:

a. Public, dinotasikan dengan simbol “+” dan dapat dipanggil oleh siapa

saja dalam class diagram.

b. Protected, dinotasikan dengan simbol “#” dan hanya dapat dipanggil

oleh class yang bersangkutan dengan anak-anak yang mewarisinya.

c. Private, dinotasikan dengan “-“ dan tidak dapat dipanggil dari luar

class yang bersangkutan.

Page 45: BAB 2 LANDASAN TEORI 2.1. - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00259-IF Bab 2.pdf9 BAB 2 LANDASAN TEORI 2.1. Titik Menurut Ryan Gladhill (2008), titik

53

 

Gambar 2.16 Contoh Class Diagram

Keterangan:

1. Visibility untuk setiap atribut telah ditentukan dan pada gambar di atas

semua atribut adalah private yang dinotasikan dengan simbol “-“.

2. Metoda dan visibility telah ditentukan.

3. Alur dari hubungan yang menunjukkan pesan yang masuk.

4. Inteface classes untuk menunjukkan interface utama kepada user.

5. Sebuah control class utnuk mengkoordinasi interaksi antara interface

object dan entity object.

6. Interface object tergantung pada control object.

 

4 5