Top Banner
15 BAB 2 LANDASAN TEORI 2.1 Teori Umum 2.1.1 Pengertian Software Aplikasi Menurut (Pressman, 2010, p9) software aplikasi adalah aplikasi yang berdiri sendiri untuk memecahkan masalah bisnis yang spesifik. Dalam hal aplikasi pemrosesan bisnis konvensional, software aplikasi digunakan untuk mengontrol fungsi bisnis dalam waktu nyata. Aplikasi software dibagi menjadi dua kelas yaitu : systems software dan applications software. Systems software terdiri dari program tingkat rendah yang berinteraksi dengan komputer pada tingkat dasar, contohnya sistem operasi, compiler, dan semua utilitas yang digunakan untuk mengelola sumber daya komputer. Sedangkan, application software contohnya adalah program database, word processors, dan spreadsheets. dapat diambil kesimpulan bahwa tanpa sistem operasi pengguna tidak dapat menjalankan program aplikasi di komputer mereka, kecuali program aplikasi booting. 2.1.1.1 Domain Aplication Software Berikut ini adalah tujuh kategori software komputer pada saat ini (Pressman, 2010, P7): System Software - Kumpulan program yang ditulis untuk menyokong program lainnya.
33

BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

Sep 18, 2018

Download

Documents

doanthien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

15

BAB 2

LANDASAN TEORI

2.1 Teori Umum

2.1.1 Pengertian Software Aplikasi

Menurut (Pressman, 2010, p9) software aplikasi adalah aplikasi yang berdiri

sendiri untuk memecahkan masalah bisnis yang spesifik. Dalam hal aplikasi pemrosesan

bisnis konvensional, software aplikasi digunakan untuk mengontrol fungsi bisnis dalam

waktu nyata. Aplikasi software dibagi menjadi dua kelas yaitu : systems software dan

applications software.

Systems software terdiri dari program tingkat rendah yang berinteraksi dengan

komputer pada tingkat dasar, contohnya sistem operasi, compiler, dan semua utilitas yang

digunakan untuk mengelola sumber daya komputer.

Sedangkan, application software contohnya adalah program database, word processors,

dan spreadsheets. dapat diambil kesimpulan bahwa tanpa sistem operasi pengguna tidak

dapat menjalankan program aplikasi di komputer mereka, kecuali program aplikasi

booting.

2.1.1.1 Domain Aplication Software

Berikut ini adalah tujuh kategori software komputer pada saat ini

(Pressman, 2010, P7):

• System Software - Kumpulan program yang ditulis untuk menyokong program

lainnya.

Page 2: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

16

• Application Software - Program stand-alone yang menyelesaikan kebutuhan

bisnis yang spesifik.

• Engineering/Scientific Software - Aplikasi yang berkarakteristik "number

crunching algorithm".

• Embedded Software - Berdampingan dengan sistem atau produk yang digunakan

untuk mengimplementasikan dan mengontrol fitur pada ende user dan untuk

sistem itu juga.

• Product-line software - Dirancang untuk menyediakan kemampuan spesifik agar

dapat digunakan pengguna-pengguna yang berbeda.

• Web Application - Disebut juga WebApps, software yang berpusat pada jaringan

ini berentang luas pada susunan aplikasi. WebApps dapat lebih dari himpunan

hypertext files yang mempresentasikan informasi menggunakan text dan gambar.

• Artificial intelligence software - Memanfaatkan nonnumerical algorithms untuk

menyelesaikan masalah kompleks yang tidak dapat diterima oleh analisis

sederhana.

2.1.2 Web Apps

Menurut Pressman (2010, p8) Aplikasi web yang disebut "webapps,"

adalah kategori perangkat lunak jaringan-sentris yang mencakup beragam

aplikasi. Dalam bentuknya yang paling sederhana, webapps dapat menjadi link hypertext

informatif yang menggunakan teks dan grafis yang terbatas. Namun, dengan munculnya

Web 2.0, webapps berkembang menjadi lingkungan komputasi canggih yang tidak hanya

Page 3: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

17

menyediakan fitur stand-alone (berdiri sendiri), fungsi komputasi, dan konten kepada

pengguna akhir, tetapi juga terintegrasi dengan database perusahaan dan aplikasi bisnis

Pada 2.1.1 disebutkan web application adalah bagian dari kategori software yang

berbeda. WebApps meliputi segala hal mulai dari halaman web sederhana, sebagai contoh

aplikasi web yang membantu costumer menghitung biaya penyewaan mobil hingga

website komprehensif yang menyediakan layanan travel untuk pelaku bisnis dan

wisatawan. (Pressman, 2010, p10).

Berikut ini adalah atribut-atribut yang ditemukan dalam WebApps (Pressman, 2010, p11):

• Network Intensiveness

Suatu WebApps yang berdampingan dengan jaringan (network) harus melayani

kebutuhan komunitas atau klien.

• Concurrency

Jumlah pemakai WebApps dapat dalam jumlah yang banyak pada suatu waktu.

• Unpredictable Load

Jumlah user WebApps dapat berubah-ubah dalam hari ke hari.

• Performance

User WebApps tidak harus menunggu lama untuk waktu pemrosesan.

• Avaliability

Walaupun ekspektasi 100 persen itu tidak masuk akal, User WebApps populer

umumnya meminta akses yang berbasiskan 24/7/365 (Siklus kerja 24 jam, 7 hari

dalam satu tahun).

• Data Driven

Page 4: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

18

Fungsi utama dari beberapa WebApps adalah untuk menggunakan hypermedia untuk

mempresentasikan gambar, teks, audio, video pada user.

• Content Sensitive

Kualitas dan estetika konten tetap menentukan kualitas dari WebApps.

• Continuous Evolution

Tidak seperti aplikasi konvensional yang berkembang melalui rangkaian release yang

terencana dan kronologis, WebApps berkembang secara terus menerus.

• Immediacy

WebApps sering memperlihatkan time-to-market dapat dalam hitungan beberapa hari

atau minggu.

• Security

Karena WebApps tersedia melalui akses network, susah untuk membatasi angka end

user yang memungkinkan akses ke aplikasi.

2.1.3 Web Browser

World Wide Web (WWW) atau yang lebih dikenal denga web, merupakan

penjelajahan halaman informasi yang sangat besar yang berada di dalam internet. Sebuah

browser, atau web browser, adalah software yang memungkinkan Anda untuk

menemukan dan mengakses berbagai informasi dari web. Informasi yang ada di dalam

web di presentasikan di dalam sebuah halaman web yang terbentuk dari sekumpulan teks,

grafik, gambar, suara, dan video. Dengan tambahan, halaman web dapat dapat berisi

hyperlink tertuju ke halaman web lain yang membuat user dapat mencari informasi lain

(Connolly and Begg, 2010, p 1028).

Page 5: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

19

WWW bekerja berdasarkan tiga mekanisme, yaitu :

a. Protokol : Aturan standar yang digunakan untuk berkomunikasi pada jaringan

komputer. misalnya HTTP (Hypertext Transfer Protocol) yaitu protokol untuk www.

b. Alamat (Address) : www memiliki aturan penamaan alamat web yaitu URL (Uniform

Resource Locator) sebagai standar alamat internet.

c. HTML (Hypertext Markup Language) : digunakan untuk membuat dokumen yang

bisa diakses melalui internet.

Aplikasi Web pada awalnya hanya dibangun dengan menggunakan bahasa HTML,

pada perkembangan berikutnya, sejumlah script dan objek dikembangkan untuk

memperluas kemampuan HTML, seperti PHP

2.2 Teori Khusus

2.2.1 HTML

Menurut Connolly dan Begg (2010, p 1031) HTML atau HyperText Markup

Language adalah sistem untuk menandai atau tagging, sebuah dokumen sehingga

dapat di publikasikan di dalam sebuah web. HTML mendefinisikan apa yang di

kirimkan secara umum di dalam jaringan. Hypertext Markup Language (HTML)

merupakan bahasa yang digunakan untuk membuat suatu situs web atau Homepage.

Setiap dokumen dalam web ditulis dalam format HTML. Semua format dokumen,

hyperlink yang dapat di klik, gambar, dokumen multimedia dapat di isi dan

sebagainya didasarkan atas HTML.

2.2.2 PHP

Page 6: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

20

Menurut Welling dan Thomson (2009, p2-3), "PHP adalah bahasa server-side

scripting yang dirancang untuk web. dalam suatu halaman HTML, kode PHP dapat

disisipkan yang kemudian akan di eksekusi setiap kali halaman itu dikunjungi. PHP

diinterpretasikan pada server web dan mengeluarkan HTML atau output lainnya yang

akan dilihat oleh pengunjung halaman itu."

PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada

server side, yang artinya semua sintaks yang diberikan akan sepenuhnya dijalankan

pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja. PHP

merupakan software open source. PHP juga dapat berjalan lintas platform, yaitu

dapat digunakan dengan sistem operasi (windows dan linux) dan web server apapun

(misalnya : Apache).

2.2.3 CSS (Cascading Style Sheet)

Menurut Slamet Riyanto (2009, p.236) Cascading Style Sheet (CSS) merupakan

kumpulan kode-kode yang berurutan dan saling berhubungan untuk mengatur format /

tampilan suatu halaman HTML dan merupakan salah satu bahasa

pemrograman web untuk mengendalikan beberapa komponen dalam sebuah web

sehingga akan lebih terstruktur dan seragam.

CSS dapat mengendalikan gambar, warna bagian tubuh pada teks, warna tabel,

ukuran border, warna border, warna hyperlink, warna mouse over, spasi antar paragraf,

spasi antar teks, margin kiri, kanan, atas, bawah, dan parameter lainnya. CSS adalah

bahasa style sheet yang digunakan untuk mengatur tampilan dokumen. Dengan adanya

Page 7: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

21

CSS memungkinkan kita untuk menampilkan halaman yang sama dengan format yang

berbeda.

2.2.4 UML

Menurut Whitten dan Bentley (2007, p430), Unified Modelling Languange

(UML) merupakan sekumpulan aturan atau ketentuan permodelan yang digunakan untuk

menentukan dan menggambarkan sebuah sistem software yang berhubungan dengan

objek. UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam

memodelkan system yang besar dan kompleks. UML tidak hanya digunakan dalam proses

pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan

pemodelan.

2.2.4.1 Use Case

Menurut Whitten & Bentley (2007, p246), Use Case merupakan diagram yang

menggambarkan interaksi antara sistem dengan hal-hal eksternal dari sistem dan user.

Use Case menjelaskan interaksi yang terjadi antara ‘aktor’ inisiator dari interaksi

sistem itu sendiri dengan sistem yang ada, sebuah use case di representasikan dengan

urutan langkah yang sederhana.

Aktor adalah sesuatu atau seseorang yang ada di luar sistem dan ikut berperan

serta dalam aktifitas sistem. Aktor bisa berupa: end user, perangkat hardware, bahkan

sistem yang lain. Setiap use case merupakan sebuah seri yang lengkap dari sebuah

event kejadian, di lihat dari sudut pandang aktor. Fokus dari sebuah use case adalah

menjelaskan bagaimana mencapai sebuah tujuan atau goal.

Page 8: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

22

USE CASE DIAGRAM

Berikut elemen-elemen yang terdapat didalam Use Case Diagram :

1) Actor

Elemen aktor diumpamakan adalah sebuah peran dari user sebuah sistem.

Aktor ini bisa berupa human user atau bahkan bisa sebuah sistem yang lain.

Dalam diagram use case, elemen aktor di notasikan dengan notasi :

Gambar 2.1 Actor dalam Use Case

Karakterisitik dari sebuah aktor antara lain :

• Aktor merupakan elemen eksternal dari sistem

• Aktor berinteraksi dengan sistem, aktor boleh menggunakan fungsionalitas

dan menerima informasi kepada sistem.

• Aktor dapat berbentuk class, maka aktor bisa memiliki instance atau objek

yang merepresentasikan aktor yang lebih spesifik.

2) UseCase

Class Use Case digunakan untuk merepresentasikan unit fungsionalitas

atau pelayanan yang di berikan oleh sebuah sistem/bagian sistem, Use Case

dinotasikan dengan simbol elips atau oval. Dalam diagram, Use Case

digambar didalam simbol kotak yang merepresentasikan sistem. Use Case

memiliki karakteristik :

Page 9: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

23

• Merupakan interaksi atau dialog antara sistem dan aktor, termasuk

pertukaran pesan dan aksi yang di lakukan oleh sistem.

• Sebuah use case diinisiasikan oleh aktor dan bisa melibatkan lebih dari

satu aktor.

• Use Case memiliki instance atau objek yang disebut dengan skenario yang

merepresentasikan interaksi yang spesifik.

Secara garis besar use case diagram digunakan untuk memodelkan bisnis

proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas

diagram untuk use case dan aktor. Aktor merepresentasikan orang yang akan

mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.

Use case merepresentasikan operasi-operasi yang di lakukan oleh aktor. Use case

digambarkan berbentuk elips dengan nama operasi dituliskan didalamnya. Aktor

yang melakukan operasi dihubungkan dengan garis lurus ke use case.

Page 10: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

24

Gambar 2.2 Contoh Usecase Diagram(Sumber Whitten & Bentley 2007,p384)

2.2.4.2 Class Diagram

Menurut Whitten & Bentley (2007, p382) Class diagaram menggambarkan

sturktur dari sistem. Serta hubungan antara objek tersebut dengan objek lainnya.

Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan

layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram

menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan

satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.

Class memiliki tiga area pokok, yaitu :

1. Nama

Merupakan nama dari sebuah kelas

2. Atribut

Page 11: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

25

Merupakan properti dari sebuah kelas. Atribut melambangkan batas nilai yang

mungkin ada pada obyek dari class.

3. Operasi

Sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh

class lain terhadap sebuah class.

Atribut dan metode dapat memiliki salah satu sifat berikut :

• Private

Tidak dapat dipanggil dari luar class yang bersangkutan.

• Protected

Hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang

mewarisinya.

• Public

Dapat dipanggil oleh siapa saja.

• Package

Dapat dipanggil oleh instance sebuah class pada paket yang sama.

HUBUNGAN ANTAR CLASS

1. Asosiasi

Yaitu hubungan statis antar class. Umumnya menggambarkan class yang

memiliki atribut berupa class lain, atau class yang harus mengetahui

eksistensi class lain. Panah navigability menunjukkan arah query antar class.

2. Agregasi

Yaitu hubungan yang menyatakan bagian dari class

Page 12: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

26

3. Pewarisan

Hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan

mewarisi semua atribut dan metode class asalnya dan menambahkan

fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya.

Kebalikan dari pewarisan adalah generalisasi.

4. Hubungan dinamis

Rangkaian pesan (message) yang dipassing dari satu class kepada class lain.

Hubungan dinamis dapat digambarkan dengan menggunakan sequence

diagram yang akan dijelaskan kemudian.

Gambar 2.3 Contoh Class Diagram (Sumber Whitten & Bentley 2007, p377)

Page 13: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

27

2.2.4.3 Activity Diagram

Menurut Whitten & Bentley (2007, p390) activity diagram menggambarkan

berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana masing-

masing alir berawal, keputusan decision yang mungkin terjadi, dan bagaimana

mereka berakhir. Activity diagram merupakan state diagram khusus, dimana sebagian

besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state

sebelumnya (internal processing). Oleh karena itu activity diagram tidak

menggambarkan behavior internal sebuah sistem (dan interaksi antar subsistem)

secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari

level atas secara umum. Struktur diagram ini mirip flowchart atau Data Flow

Diagram (DFD) pada perancangan terstruktur. Activity diagram dibuat berdasarkan

sebuah atau beberapa use case pada use case diagram.

Page 14: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

28

Tabel 2.1 Notasi pada Activity Diagram

Page 15: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

29

Gambar 2.4 Contoh Activity Diagram (Sumber : Whitten&Bentley 2007,p393)

2.2.4.4 Sequence Diagram

Menurut Whitten & Bentley (2007, p382), Sequence diagram menggambarkan

interaksi antar objek di dalam dan di sekitar sistem(termasuk pengguna, display,

dan sebagainya) berupa pesan yang digambarkan terhadap urutan waktu tertentu.

Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi

horizontal(objek-objek yang terkait dalam suatu usecase). Sequence diagram biasa

digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang

Page 16: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

30

dilakukan sebagai respons dari sebuah suatu kejadian untuk menghasilkan output

tertentu. Diagram ini juga menggambarkan urutan kejadian yang terjadi. Dan lebih

detail dalam menggambarkan aliran data, termasuk data atau behavior yang

dikirimkan atau diterima. Namun, diagram ini kurang mampu menjelaskan detail

dari sebuah algoritma, seperti loop, branching. Kumpulan dari diagram sequence

dapat disebut sebagai diagram kolaborasi.

Tabel 2.2 Elemen Sequence Diagram

Actor Menggambarkan orang atau entitas

eksternal yang berinteraksi dengan sistem.

Object &

Lifeline

Menggambarkan sebuah objek dalam

sebuah system atau salah satu

komponennya. Objek merupakan sebuah

intansi dari sebuah class.

Lifeline menggambarkan alur data dari

objek.

Activation

Bar

Menggambarkan durasi/lamanya

pengerjaan sebuah pesan (message).

Message Sebuah message sederhana antara elemen

header (biasanya berupa synchronus atau

asynchronus). Dan juga mengindikasikan

komunikasi antara objek.

Synchronus Menggambarkan Message ke elemen

Page 17: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

31

Message (objek) lain, dimana message

inimengaktifkan sebuah proses dan sampai

selesai, baru bisa mengirimkan sebuah

message baru.

Return Suatu hasil kembalian sebuah operasi

(feedback dari sebuah message)

Destroy

Message

Menggambarkan penghancuran dari

sebuah elemen header (objek) sebagai

akibat dari sebuah message dari

elemen/objek lain.

Contoh Sequence diagram (Sumber : Whitten &Bentley 2007, p395

Page 18: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

32

2.2.5 Model View Controller (MVC)

Menurut Rob Allen (2008, p6) MVC yaitu suatu istilah untuk memisahkan

element-element atau penulisan source code dari suatu aplikasi agar menjadi lebih rapih

dan lebih mudah untuk dimaintain dan dikembangkan. MVC merupakan suatu konsep

pemrograman yang juga banyak diterapkan akhir-akir ini. Dengan menerapkan MVC

dalam membangun suatu aplikasi akan berimbas pada kemudahan pada saat aplikasi

tersebut memasuki fase maintenance. Proses pengembangan dan integrasi pun menjadi

lebih mudah untuk dilakukan. Ide dasar dari MVC sebenarnya sangat sederhana, yaitu

mencoba untuk memisahkan antara model, view, dan controller. Ada tiga layer utama

dalam arsitektur web MVC, yang disebut sebagai best practices yaitu :

1. Model

Model sebagai representasi dari data yang terlibat dalam suatu proses transaksi. Setiap

kali method / function dari suatu aplikasi butuh untuk melakukan akses ke dalam

suatu data, maka function / method tersebut tidak langsung berinteaksi dengan sumber

data tersebut melainkan harus melalui model terlebih dahulu. Dalam hal ini hanya

model yang diijinkan untuk berinteraksi langsung dengan sumber data.Secara singkat,

layer model ini menangani content dari aplikasi.

2. View

Page 19: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

33

Berperan sebagai presentation layer atau pengatur user interface (tampilan) bagi user

dari suatu aplikasi. Data yang dibutuhkan oleh user akan diformat sedemikian rupa

agar dapat tampil dan dipresentasikan dengan format tampilan yang memang

disesuaikan dengan kebutuhkan user. Sehingga layer ini tidak peduli apa saja content

yang ada. Misalnya, untuk Aplikasi Diskon, layer ini memutuskan apakah daftar

belanja akan ditampilkan dalam tabel HTML, ditampilkan ke command prompt,

disajikan dalam tabel Swing, atau diekspor menjadi file text. Sebagai tambahan,

biasanya layer View juga bertugas untuk melakukan validasi data yang diinputkan

user.

3. Controller

Berperan sebagai logic aspect dari suatu aplikasi / mengatur user flow. Controller lah

yang akan menentukan bussiness process dari aplikasi yang dibangun. Controller

akan merespon setiap inputan dari user dengan melakukan pemanggilan terhadap

model dan view yang sesuai sehingga request dari user tersebut dapat terpenuhi

dengan baik. Biasanya layer controller juga digunakan untuk mengatur ijin akses dan

permission.

2.2.6 Pendekatan Database

Database tentunya penting dalam suatu proses bisnis. Menurut Connoly & Begg

(2010, p54), "Database adalah sekumpulan data yang berhubungan (berelasi) dan suatu

Database Management System (DBMS) sebagai software yang mengatur dan

mengendalikan akses ke database."

Page 20: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

34

Database system adalah suatu program yang berinteraksi dengan database

bersamaan dengan DBMS dan database itu sendiri. (Connoly & Begg, 2010, p54).

2.2.6.1 Database Management system (DBMS)

Connoly & Begg (2010, p66) mengutarakan "DBMS adalah software yang

berinteraksi dengan database". DBMS menyediakan fasilitas berikut ini :

• Memungkinkan user menentukan database melalui Data Defenition Language

(DDL). DDL memungkinkan user menentukan tipe data, struktur serta constraints

untuk data yang disimpan dalam database.

• Memungkinkan user melakukan insert, update, delete, dan retrieve dari database

itu sendiri melalui Data Manipulation Language (DML). DML memungkinkan

permintaan umum untuk data yang biasa disebut query language. Query language

yang paling umum adalah Structured Query Language (SQL).

• Menyediakan akses kontrol ke database.

Contoh umum DBMS adalah MySQL, Microsoft Access, Microsoft SQL Server,

PostgreSQL, dan sebagainya.

2.2.6.2 Structured Query Language

Pengertian SQL Server menurut Ketut Darmayuda (2007,p7) dalam bukunya yang

berjudul Pemrograman Aplikasi Client Server mengatakan bahwa “Microsoft SQL

Server merupakan salah satu database relational yang banyak digunakan. SQL Server

dirancang untuk penggunaan aplikasi dengan arsitektur client/server.” Sedangkan

Page 21: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

35

menurut Kusrini dan Andri Koniyo dalam bukunya yang berjudul Tuntunan Praktis

Membangun Sistem Informasi Akuntansi dengan Visual Basic & Microsoft SQL

Server (2007,p145), mengatakan bahwa “Microsoft SQL Server 2000 adalah

perangkat lunak relational database management system (RDBMS) yang didesain

untuk melakukan proses manipulasi database berukuran besar dengan berbagai

fasilitas.”

2.2.6.3 MySQL

MySQL merupakan relational database management system yang kuat dan akses

yang cepat. MySQL server mengontrol akses ke data untuk memastikan bahwa user

dalam jumlah banyak dapat bekerja dengan MySQL secara bersamaan, untuk

menyediakan akses cepat, dan untuk memastikan bahwa hanya pihak berwenang yang

mendapatkan akses itu. Dengan demikian, MySQL bersifat multiuser, multireaded

server. MySQL menggunakan SQL sebagai standar bahasa query untuk database.

(Welling & Thomson, 2009, p3).

2.2.7 Software Process

Pressman (p31, 2010) mendefenisikan software process sebagai framework pada

aktifitas, aksi dan tugas yang diperlukan untuk membangun software. Software process

menentukan pendekatan apa yang diambil saat software direkayasa (engineered).

Sementara defenisi proses itu sendiri adalah kumpulan aktivitas, aksi dan

pekerjaan yang dilakukan saat produk dibuat. (Pressman, 2010, p14)

Page 22: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

36

Pressman(2010, p15) mengutarakan umumnya framework dari software process

itu sendiri ada 5 aktifitas, yaitu :

• Communication

Sebelum pekerjaan teknis dilakukan, sangat penting untuk berkomunikasi dan

berkolaborasi dengan pengguna yang membantu menentukan fitur dan fungsi

software.

• Planning

Software Project adalah perjalanan yang rumit, dan aktifitas planning membuat

panduan untuk membantu tim berjalan. Dalam planning ditentukan tugas apa yang

dilakukan, resiko yang dihadapi, sumber daya yang dibutuhkan, dan work product

yang akan dihasilkan.

• Modeling

Software engineer membuat model untuk pemahaman yang lebih baik mengenai

requirements dari software dan rancangan yang akan didapat.

• Construction

Aktivitas ini memadukan code generation dan testing yang digunakan untuk

menyingkap errors.

• Deployment

Software diberikan pada costumer yang melakukan evaluasi pada delivered product

dan menyediakan feedback dari evaluasi.

Page 23: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

37

Tambahan umbrella activities yang berupa project tracking and control, risk

management, quality assurance, configuration management, technical reviews dan

lainnya diaplikasikan seiring proses berjalan. (Pressman, 2010, p31)

2.2.7.1 Metode Perancangan SDLC

System Development Life Cycle (SDLC) dalam rekayasa sistem dan rekayasa

perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan

metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut.

2.2.7.1.1 Model Proses Waterfall

Model waterfall adalah proses pengembangan software yang sistematis

dan sekuensial, dimana kemajuan dipandang sebagai terus mengalir ke bawah

(seperti air terjun) melalui communication, planning, modeling, construction, dan

deployment. (Pressman, 2010, p39)

Gambar 2.6 Waterfall Model

Page 24: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

38

Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model

waterfall :

1. Communication

Permodelan ini diawali dengan komunikasi dan kolaborasi dengan konsumen

(stackholders) untuk mencari kebutuhan dari keseluruhan sistem yang akan

diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat

software harus dapat berinteraksi dengan elemen-elemen yang lain seperti

hardware, database, dsb. Tahap ini sering disebut dengan project defenition.

2. Planning

Proses ini menetapkan rencana untuk pengerjaan software meliputi : tugas-

tugas teknis yang dilakukan, resiko yang mungkin terjadi, sumber-sumber

yang dibutuhkan, hasil yang akan dibuat, dan jadwal pengerjaan.

3. Modeling

Proses ini meliputi pembuatan model yang memungkinkan pengembang dan

konsumen untuk lebih memahami kebutuhan perangkat lunak dan desain yang

akan mencapai kebutuhan tersebut.

4. Construction

Proses ini merupakan proses gabungan dari coding dan testing. Untuk dapat

dimengerti oleh sistem komputer, maka desain tadi harus diubah bentuknya

menjadi bentuk yang dapat dimengerti oleh mesin, yaitu kedalam bahasa

pemrograman melalui proses coding. Sedangkan testing adalah sesuatu yang

dibuat harus diuji. Demikian juga dengan software. Semua fungsi-funsi

Page 25: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

39

software harus diuji, agar software bebas dari error, dan hasilnya harus benar-

benar sesuai dengan kebutuhan yang sudah didefenisikan sebelumnya.

5. Deployment

Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah

pengembangan, karena software yang dibuat tidak selamanya hanya seperti

itu. Ketika dijalankan mungkin saja masih ada error kecil yang tidak

ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada

software tersebut. Pengembangan diperlukan ketika adanya perubahan dari

eksternal perusahaan seperti ketika ada pergantian sistem operasi atau

perangkat lainnya.

2.2.8 Pendekatan Software Testing

Software testing adalah aktivitas yang ditujukan untuk mengevaluasi atribut atau

kemampuan dari program dan memastikan bahwa program itu sesuai dengan hasil yang

diinginkan. Gagasan dasar dari testing melibatkan eksekusi dari software dan observasi

dari behaviour atau outcome. Jika kegagalan diamati, execution record dianalisa untuk

mengetahui dan membenahi masalah yang membuat kegagalan itu. (Tian, 2008, p67)

2.2.8.1 Manfaat Testing

Tian (2008, p67-68) menambahkan bahwa tidak berbeda pada beberapa sistem

fisikal dan produk, manfaat dari testing adalah untuk meyakinkan bahwa software

systems bekerja sebagaimana diharapkan saat digunakan oleh user.

Page 26: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

40

Karena fleksibilitas dari software, yang mana masalah dapat dibenahi dengan

lebih mudah daripada proses manufacturing tradisional atau produk fisikal dan

sistem, keuntungan ini dapat dimanfaatkan dari pengujian dengan membenahi

masalah yang teramati saat proses pengembangan. dengan demikian testing menjadi

sangat berarti untuk mendeteksi dan membenahi kecacatan software dalam

lingkungan pengembangan.

Sehingga dengan singkatnya testing memenuhi dua tujuan berikut ini :

• Mendemonstrasikan kualitas atau behaviour yang sesuai

• Mendeteksi dan membenahi masalah.

2.2.8.2 Aktivitas Utama Dalam Testing

Tian (2008, p68) menjabarkan aktivitas utama testing mengikuti langkah

kronologis berikut ini :

• Tes Planning and preparation, yang didalamnya menentukan sasaran dari testing,

memilih strategi testing, dan mempersiapkan test cases dan prosedur umum

pengujian.

• Test Execution dan aktivitas yang berhubungan, yang juga meliputi observasi dan

pengukuran dari product behaviour.

• Analysis and follow-up, yang meliputi pemeriksaan dan analisis untuk

menentukan jika kesalahan teramati, dan jika ada, aktivitas follow-up dilakukan

dan diawasi untuk memastikan penghilangan dari penyebab kesalahan.

Page 27: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

41

2.2.8.3 Test Strategies Untuk WebApps

Strategi pengujian untuk WebApps mengadopsi prinsip dasar dari semua

software testing dan mengaplikasikan strategi dan taktik yang digunakan untuk sistem

object-oriented. Langkah-langkah berikut ini meringkaskan pendekatan strategi ini

(Pressman, 2010, p532) :

• Content model untuk WebApp ditinjau ulang untuk menemukan errors.

• Interface model ditinjau untuk memastikan bahwa semua usecase

terakomodasi.

• Design model untuk WebApp ditinjau untuk menemukan errors pada

navigasi.

• User Interface diuji untuk menemukan errors pada presentasi dan/atau

mekanika navigasi.

• Setiap komponen fungsi diuji

• Navigasi pada arsitektur diuji

• WebApp diaplikasikan pada lingkungan dengan konfigurasi yang berbeda

dan diuji untuk kecocokan pada setiap konfigurasi.

• Security test dilakukan untuk mengeksploitasi kerentanan dalam WebApp

itu.

• Performance test dilakukan

• WebApp diuji oleh end-users yang dikontrol dan diawasi.

2.2.8.4 Functional atau Black Box Testing (BBT)

Page 28: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

42

Functional testing memverifikasi handling yang benar untuk external function

dari software. karena software diperlakukan seumpama black-box, dengan external

behaviour diamati lewat input, output, dan karakteristik yang dapat diamati lainnya,

maka testing ini sering disebut dengan black-box testing (BBT). (Tian 2008, p75)

Dari kutipan diatas, dapat disimpulkan bahwa black-box testing adalah pengujian

external behaviour dari sistem dengan menguji sistem lewat sekumpulan input dan

melihat output dari hasil proses input itu.

2.2.9 Interaksi Manusia Dan Komputer

Dalam Perancangan web application perlu dipertimbangkan interaksi manusia dan

komputer. Pembangunan aplikasi yang interaktif membutuhkan implementasi dasar dari

ilmu interaksi manusia dan komputer yang benar.

2.2.9.1 Usability Requirements

Interface yang efektif memberikan rasa positif akan sukses, kemampuan,

penguasaan, dan kejelasan pada komunitas User (user). (Shneiderman & Plaisant,

2010, p12)

Untuk mendapatkan sistem yang bersifat user-friendly perancang dapat fokus

pada sasaran-sasaran (goals) yang spesifik yang menyertakan system engineering

yang telah ditetapkan faktor manusia (human factors) yang terukur secara jelas.

U.S Military Standard for Human Engineering Design Criteria menambahkan :

Page 29: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

43

• Peroleh performa yang dibutuhkan oleh operator, kontrol, dan personil

pemelihara (maintenance)

• Mnimalisir skill dan personel yang dibutuhkan saat waktu training

• Peroleh kehandalan (reliability) yang diperlukan oleh kombinasi personil-

perlengkapan

• Pelihara standarisasi perancangan pada keseluruhan system

Berikut ini adalah sasaran-sasaran (goals) yang ada dalam requirements analysis :

• Menentukan tugas

Langkah awal adalah mengetahui kebutuhan user, task dan subtask apa yang harus

diselesaikan. Tugas yang bersifat frequent atau sering dilakukan mudah ditentukan,

tetapi tugas-tugas yang bersifat occasional, tugas khusus untuk keadaan darurat, dan

tugas pembenahan error pada penggunaan interface lebih susah ditemukan.

• Pastikan ada kehandalan

Langkah kedua yang vital adalah memastikan sistem itu handal, action harus

berfungsi sebagaimana ditentukan, data yang ditampilkan harus merefleksikan isi dari

database, dan pembaharuan (updates) harus diaplikasikan secara benar. Kepercayaan

user pada sistem itu rapuh; jika user mengalami kejadian data yang salah atau hasil

yang tidak terduga dari sistem akan mengurangi keinginan user untuk menggunakan

sistem itu untuk waktu yang lama.

• Standarisasi, integrasi, konsistensi, dan protabilitas

Page 30: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

44

Standarisasi mengacu ke user interface yang sudah umum dikenali, sehingga

memungkinkan user untuk memudahkan user untuk mengenali dan mempelajari

aplikasi.

Integrasi di seluruh paket aplikasi dan software tools adalah kunci dari prinsip

perancangan.

Konsistensi mengacu pada aksi umum urutan, kondisi, unit, susunan, warna,

typography, dan sebagainya pada keseluruhan aplikasi atau program.

Protabilitas sendiri mengacu ke potensi konversi data dan untuk memberikan user

interface pada beberapa lingkungan software dan hardware.

• Jadwal dan anggaran

Prencanaan matang dan manajemen yang tepat sangat dibutuhkan agar

pengembangan dapat diselesaikan tepat waktu dan dalam batasan anggaran yang

tepat.

2.2.9.2 Usability Measures

Perkiraan yang matang dari komunitas user dan patokan dari tugas-tugas adalah

basis untuk memungkinkan tercapainya sasaran pada masalah human factor.

Berikut ini adalah faktor-faktor pada pengukuran usability : (Shneiderman &

Plaisant, 2010, p32-33) :

Page 31: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

45

• Waktu untuk belajar

Berapa lama waktu yang dibutuhkan untuk mempelajari penggunaan command

yang relevan dengan tugas-tugas yang dilakukan?

• Kecepatan performa

Berapa lama waktu yang diperlukan untuk menyelesaikan tugas-tugas patokan

(benchmark tasks)?

• Angka kesalahan (errors) dari user

Berapa banyak dan jenis error apa yang user lakukan biasanya saat mengerjakan

benchmark tasks?

• Daya ingatan jangka lama

Sebaik apa user dapat mempertahankan ingatan mereka setelah beberapa jam,

hari, atau minggu? Hal ini berhubungan dengan butir ke-1, yaitu waktu untuk

belajar.

• Kepuasan subjektif

Sepuas apakah user saat menggunakan sistem? wawancara atau survei tertulis

dapat dilakukan untuk melihat kepuasan subjektif ini.

2.2.9.3 Delapan Aturan Emas (8 Golden Rules)

Pengujian dan evaluasi akan dilakukan pada fase akhir pembangunan aplikasi.

Diharapkan dengan melakukan pengujian, defect dari aplikasi akan diketahui.

pengujian ini akan memakai metode Black Box Testing yang akan menitik beratkan

pada proses input-output.

Page 32: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

46

Berikut ini adalah prinsip-prinsip yang sudah diturunkan dari pengalaman dan

diperhalus dalam dua dekade lebih. (Shneiderman , 2010, p88-89) :

• Berusaha untuk konsisten

Pentingnya bagi antarmuka pemakai untuk tetap konsisten agar user tidak

kebingungan dalam mencari sebuah informasi. Contoh, tampilan layar harus

konsisten dari yang satu dengan yang lainnya.

• Melayani usabilty universal

Mengenali kebutuhan pengguna yang beragam dan desain untuk plasticity,

memfasilitasi transformasi pemberitahuan konten ke perbedaan ahli, rentang usia,

cacat, dan keragaman masingmasing teknologi memperkaya spektrum persyaratan

desain panduan itu. Menambahkan fitur bagi para pemula, seperti penjelasan, dan

fitur untuk para ahli, seperti shortcut dan aksi balik lebih cepat, dapat

memperkaya desain antarmuka dan meningkatkan persepsi kualitas sistem.

• Berikan umpan balik (feedback) yang informatif

Untuk setiap user melakukan aksi, maka harus ada umpan balik agar membuat

user menjadi terarah dan tidak tersesat dalam pencarian informasi.

• Merancang dialog yang memberikan penutupan (Keadaan akhir).

Berinteraksi dengan komputer sama seperti berdialog. Aksi yang berurutan harus

diorganisasi dan memiliki awal, tengah, maupun akhir. Penting bagi user untuk

mengetahui kapan aksi tersebut berakhir. Umpan balik yang informatif pada saat

sekumpulan aksi telah dilakukan memberikan user suatu kepuasan, rasa lega, dan

indikasi bahwa user boleh melakukan aksi yang selanjutnya.

• Mencegah Terjadinya Error

Page 33: BAB 2 LANDASAN TEORI 2 - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-2-01508-IF Bab2001.pdf · Dalam bentuknya yang paling sederhana, webapps dapat menjadi

47

Sebanyak mungkin menghindari kesalahan pada perancangan sistem sehingga

pengguna tidak dapat membuat kesalahan serius, misalnya field item yang harus

diisi oleh user yang tidak mengizinkan karakter abjad dalam pengisian data

numerik. Jika user membuat kesalahan, interface harus mendeteksi kesalahan dan

menawarkan instruksi sederhana, konstruktif, dan khusus untuk proses perbaikan

kesalahan. Misalnya, user tidak perlu mengetik

ulang bentuk seluruh nama-alamat jika mereka memasukkan kode pos tidak valid,

melainkan harus diarahkan untuk memperbaiki.

• Mungkinkan adanya aksi pembalikan yang mudah (Undo)

User harus dapat kembali pada aksi yang telah dilakukan sebelumnya, baik itu ada

kesalahan maupun tidak.

• Mendukung pusat kendali internal.

Kepuasan user akan tinggi jika user merasakan bahwa dia telah memegang

kendali sedangkan kepuasan user akan rendah jika komputer yang memegang

kendali.

• Mengurangi beban ingatan jangka pendek.

Ingatan jangka pendek manusia sangatlah terbatas. Lakukan apa saja yang

memungkinkan user tidak perlu mengingat apa pun. Sebagai contoh, daripada

meminta unser untuk mengetik nama file yang akan diterima, lebih balik apabila

user diminta untuk menampilkan daftar dari file yang tersedia.