library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web...

47
BAB 2 LANDASAN TEORI 2.1Teori Umum 2.1.1 Rekayasa Perangkat Lunak (Software Engineering) Menurut Pressman (2010, p1) software engineering meliputi proses, koleksi dari method dan alat yang memungkinkan profesional untuk membuat software computer berkualitas. Software engineers membangun dan menyongkong software, dan secara virtual semua menggunakannya secara langsung atau tidak langsung. Software Engineering penting karena memungkinkan kita untuk membangun sistem yang rumit secara teratur dan berkualitas. LOOK 2.1.2 Software Process Menurut Pressman (2010, p30) software process merupakan dialog dimana pengetahuan diwujudkan dalam perangkat lunak. Proses ini menyediakan 7

Transcript of library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web...

Page 1: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

BAB 2

LANDASAN TEORI

2.1 Teori Umum

2.1.1 Rekayasa Perangkat Lunak (Software Engineering)

Menurut Pressman (2010, p1) software engineering meliputi proses,

koleksi dari method dan alat yang memungkinkan profesional untuk

membuat software computer berkualitas. Software engineers membangun

dan menyongkong software, dan secara virtual semua menggunakannya

secara langsung atau tidak langsung.

Software Engineering penting karena memungkinkan kita untuk

membangun sistem yang rumit secara teratur dan berkualitas.

LOOK

2.1.2 Software Process

Menurut Pressman (2010, p30) software process merupakan dialog

dimana pengetahuan diwujudkan dalam perangkat lunak. Proses ini

menyediakan interaksi antara pengguna dan desainer, antara pengguna

dengan alat berkembang, antara desainer dengan alat berkembang. Proses

tersebut berulang-ulang dimana alat berkembang sendiri berfungsi sebagai

media komunikasi, dengan masing-masing babak baru dari dialog yang

memunculkan pengetahuan yang lebih berguna bagi orang-orang yang

terlibat. Terdapat lima kerangka kerja umum untuk software process:

7

Page 2: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

8

1. Komunikasi

2. Perencanaan

3. Pemodelan

4. Konstruksi

5. Penyebaran

2.1.2.1 Incremental Proccess Model

Incremental Proccess Model berdasarkan Pressman

(2010,p41) dibagi menjadi beberapa tahap:

a. Communication

Sangat penting untuk berkomunikasi dengan customer dan

para stakeholder untuk memahami tujuan proyek dan

mengumpulkan persyaratan yang membantu mendefinisikan

fitur perangkat lunak dan fungsinya.

b. Planning

Perencanaan mendefinisikan kerja rekayasa perangkat

lunak dengan menjelaskan teknik tugas yang dilakukan, resiko

yang mungkin, sumber daya yang akan diperlukan, produk

yang harus diproduksi, dan jadwal.

c. Modelling (analysis, design)

Software engineer membuat model untuk lebih memahami

persyaratan perangkat lunak dan desain yang akan mencapai

kebutuhan tersebut.

Page 3: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

9

d. Construction (code, test)

Kegiatan ini menggabungkan generasi kode (baik manual

atau otomatis) dan pengujian yang diperlukan untuk

mengungkap kesalahan dalam kode.

e. Deployment (delivery, feedback)

Perangkat lunak (sebagai entitas lengkap atau sebagai

bagian yang telah selesai) dikirim ke customer untuk

dievaluasi dan mendapatkan umpan balik berdasarkan

evaluasi tersebut.

Gambar 2.1 Increment Process Model

(Sumber : Roger S. Pressman, Software Engineering : A

Practitioner’s Approach 7th edition, 2010)

Increment yang pertama biasanya merupakan core

product, yang merupakan kebutuhan dasar yang diberikan. Core

product akan digunakan oleh customer. Sebagai hasil dari

pemakaian atau evaluasi, rencana baru akan dibuat untuk

increment selanjutnya. Biasanya rencana akan berupa modifikasi

dari core product untuk memenuhi kebutuhan customer dan

Page 4: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

10

menambahkan fitur serta fungsi. Proses ini akan dilakukan secara

berulang- ulang sampai product akhir selesai dibuat.

Pengembangan ini berguna ketika hanya sedikit staf yang

tersedia untuk menyelesaikan pelaksanaan dengan batas waktu

yang telah ditetapkan untuk proyek tersebut.

Keuntungan dari model proses incremental adalah apabila

terdapat penambahan modul, siklus yang sedang berjalan dapat

tetap berjalan seiring dengan pengerjaan siklus baru.

2.1.2.2 Incremental Process Model vs Waterfall Model

Berikut merupakan perbedaan model proses incremental

dan waterfall:

Apabila terjadi penambahan modul, siklus yang sedang berjalan

menurut model proses incremental dapat tetap berjalan seiring

dengan pengerjaan siklus baru. Sedangkan model proses waterfall

tidak mendukung penambahan modul dikarenakan model proses

waterfall membutuhkan semua persyaratan sejak awal proyek

berjalan.

2.1.3 Software Testing Fundamentals

Menurut Pressman (2010, p482) tujuan dari pengujian adalah untuk

menemukan dan memperbaiki sebanyak mungkin kesalahan dalam

program sebelum menyerahkan program kepada customer. Salah satu

Page 5: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

11

pengujian yang baik adalah pengujian yang memiliki probabilitas tinggi

dalam menemukan kesalahan.

2.1.3.1 Black-Box Testing

Menurut Pressman (2010, p495) Black-Box testing

berfokus pada persyaratan fungsional perangkat lunak yang

memungkinkan engineers untuk memperoleh set kondisi input

yang sepenuhnya akan melaksanakan persyaratan fungsional

untuk sebuah program. Black-Box testing berusaha untuk

menemukan kesalahan dalam kategori berikut:

1. Fungsi yang tidak benar atau fungsi yang hilang

2. Kesalahan antarmuka

3. Kesalahan dalam struktur data atau akses database eksternal

4. Kesalahan perilaku (behavior) atau kesalahan kinerja

5. Inisialisasi dan pemutusan kesalahan

Tes ini dirancang untuk menjawab beberapa pertanyaan-

pertanyaan berikut ini:

1. Bagaimana validitas fungsional diuji?

2. Bagaimana perilaku dan kinerja sistem diuji?

3. Apa kelas input akan membuat kasus uji yang baik?

4. Apakah sistem sensitive terhadap nilai input tertentu?

5. Bagaimana batas-batas kelas data yang terisolasi?

Page 6: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

12

6. Kecepatan dan volume data seperti apa yang dapat

ditolerir sistem?

7. Efek apakah yang akan menspesifikasikan kombinasi data

dalam sistem operasi?

2.1.4 Unified Modeling Language (UML)

Menurut Britton dan Doake, (2005, p13), Unified Modeling Language

(UML) adalah satu kumpulan diagram, yang dirancang secara khusus untuk

pengembangan berorientasi objek, dan telah menjadi standar industri untuk

pemodelan sistem berorientasi objek.

2.1.4.1 Use-Case Diagram

Menurut Britton dan Doake, (2005, p40) Use-Case

Diagram adalah diagram yang secara grafis menggambarkan

interaksi antara user dengan sistem.

1. Use-case

Use-case digambarkan dalam bentuk elips dengan label

nama use-case. Penulisan nama use-case menggunakan kata kerja

yang menegaskan bahwa use case mewakili proses.

Gambar 2.2 Use-Case

2. Actor

Figur berbentuk tongkat diberi label nama aktor.

Tujuannya, adalah untuk memanfaatkan nama aktor tersebut agar

Page 7: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

13

mudah untuk mengidentifikasikannya. Figur tersebut juga

digunakan untuk aktor yang bukan manusia, misalnya komputer.

Gambar 2.3 Actor

3. Relationship

Garis yang menghubungkan actor dengan use-case. Garis

tersebut menunjukkan actor yang berkaitan dengan use-case yang

digunakan. Hubungan ini dikenal juga sebagai asosiasi

komunikasi. Hubungan yang digunakan dalam diagram use-case:

1. Communication Associations

Merupakan hubungan antara actor dan use-case, dimana tiap

actor dapat berhubungan dengan banyak use-case dan tiap

use-case dapat berhubungan dengan banyak actor.

Gambar 2.4 Associations

2. Inheritance

Merupakan hubungan dimana salah satu entitas mewarisi

karakteristik dari entitas lain.

Gambar 2.5 Inheritance

Page 8: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

14

4. System Boundary

Garis yang digambarkan mengitari use-case untuk

memisahkan use-case dengan actor. Dapat diberi label untuk

mengindikasikan domain diagram.

Contoh Use-Case Diagram:

System Login

Gambar 2.6 Use-Case Diagram

5. Use-Case Descriptions

Merupakan dokumen narasi yang menjelaskan secara umum,

fungsi yang dibutuhkan dalam use-case. Use-case descriptions

menjelaskan tujuan dari use-case dan gambaran umum dari

peristiwa yang biasa terjadi. Dengan kata lain, deskripsi harus

ditulis sedemikian rupa sehingga meliputi urutan setiap

kejadian dan scenario yang berkaitan dengan use-case.

Contoh Use-Case Descripstions:

Tabel 2.1 Use-Case Descriptions

Use Case Login

Actor User

Description Use-Case ini mendeskripsikan proses login kedalam akun

Page 9: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

15

Precondition User telah teregistrasi

Flow of Events User Action System Response

1. Memasukkan

username dan

password

2. Memvalidasi apakah

user telah terdaftar

dan apakah username

dan password yang

diinput benar atau

salah

3. Menampilkan

halaman utama

website

Alternative

1. Jika user menekan tombol Reset, data yang telah

diinput akan dihapus secara otomatis.

2. Jika user menekan tombol Login, system akan

memvalidasi apakah username dan password

yang diinput tersebut sesuai dengan data didalam

database. Jika tidak sesuai, maka akan muncul

pesan eror yang menyatakan username atau

password yang diinput salah. Jika username dan

password yang diinput sesuai, maka user akan

memasuki halaman utama dari website.

Postcondition User telah memasuki halaman utama website.

Page 10: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

16

2.1.4.2 Class Diagram

Menurut Britton dan Doake, (2005, p117) Class Diagram

merupakan pusat dari analisis dan desain berorientasi objek yang

mendefinisikan struktur keseluruhan sistem dan struktur dari

setiap objek dalam sistem. Class diagram digunakan untuk

membuat model class, hubungan antar class, dan juga untuk

membuat model class dengan tingkat struktur yang lebih tinggi

yang terdiri dari koleksi class yang dikelompokkan dalam kelas

paket.

Visibility

Merupakan kemampuan untuk membatasi akses fitur

tertentu dari model atau program. Terdapat tiga level visibility

dalam UML yaitu:

1. Public

Dinotasikan dengan simbol “+”. Atribut public dan methods

public dapat diakses dan digunakan oleh class lain.

2. Protected

Dinotasikan dengan simbol “#”. Atribut protected dan

methods protected dapat diakses dan digunakan oleh class itu

sendiri dan turunan dari class tersebut.

Page 11: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

17

3. Private

Dinotasikan dengan simbol “-“. Atribut private dan methods

private dapat diakses dan digunakan oleh class tersebut

sendiri.

Multiplicity

Menunjukkan angka dari objek dari masing-masing class

yang diperbolehkan untuk berpartisipasi dalam asosiasi.

Tabel 2.2 Tabel Multiplicitytion

Arti Contoh Notasi

Jumlah yang tepat Tepat 1

Tepat 6

1

6

Banyak 0 atau lebih

1 atau lebih, banyak

0..*

1..*, *

Kisaran tertentu 1 sampai 4, 0

sampai 6

1..4, 0..6

Pilihan 2 atau 4 atau 5 2,4,5

Unidirectional

Merupakan hubungan satu arah. Dimana arah tujuannya

diindikasikan melalui tanda anak panah. Sedangkan hubungan dua

Page 12: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

18

arah, dapat digambarkan dengan garis dengan anak panah di

kedua ujung garis, atau garis tanpa anak panah.

Gambar 2.7 Contoh hubungan satu arah

Gambar 2.8 Contoh hubungan dua arah

Composition

Merupakan hubungan agregasi yang kuat, dimana dalam

hubungan composition, seluruh objek memiliki kepemilikan

eksklusif atas bagian-bagiannya dimana objek bagian hanya dapat

berpartisipasi dalam satu agregasi. Bagian tersebut hidup dan mati

dengan keseluruhan objek, dengan kata lain, apabila objek

dihapus, bagian-bagian yang lain akan ikut terhapus.

Gambar 2.9 Composition

Contoh Class Diagram:

Gambar 2.10 Class Diagram

Page 13: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

19

2.1.4.3 Sequence Diagram

Menurut Britton dan Doake, (2005, p156) Sequence

Diagram menggambarkan dengan jelas dan sederhana aliran

kontrol antar objek yang diperlukan untuk melaksanakan

skenario. Sebuah skenario menguraikan urutan langkah-langkah

dalam satu contoh use-case dari pengguna. Dari sisi layar

komputer, sequence diagram menunjukkan bagaimana langkah-

langkah tersebut diterjemahkan kedalam pesan antar objek di

komputer.

Berikut ini merupakan elemen yang digunakan dalam

diagram sequence:

1. Actor

Digambarkan dengan symbol actor yang ada didalam diagram

use-case, yang digunakan untuk mewakili user.

Gambar 2.11 Actor

2. Sistem

Digambarkan dengan kotak, menunjukkan sistem secara

keseluruhan. Tanda titik dua ( : ) merupakan urutan notasi

diagram yang menunjukkan contoh sistem yang sedang

berjalan.

Page 14: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

20

Gambar 2.12 Sistem

3. Garis kehidupan (Lifelines)

Garis vertikal putus-putus yang memanjang kebawah dari symbol

actor dan sistem yang mengindikasikan urutan kehidupan.

Gambar 2.13 Garis Kehidupan

4. Bar aktivasi

Bar didalam garis kehidupan (lifetime) yang menunjukkan periode

waktu ketika peserta aktif dalam interaksi.

Gambar 2.14 Bar Aktivasi

5. Pesan masuk (Input message)

Anak panah horizontal yang berasal dari actor menuju sistem

yang mengindikasikan pesan masuk.

Gambar 2.15 Pesan Masuk

6. Pesan keluar (Output message)

Garis anak panah horizontal putus-putus yang berasal dari sistem

menuju actor.

Gambar 2.16 Pesan Keluar

Page 15: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

21

7. Iterasi

Menggambarkan pengiriman pesan yang diulang beberapa kali

sesuai dengan kondisi yang dijabarkan. Iterasi digambarkan

dalam bentuk bingkai yang disertai kondisi diujung bingkai.

*[wrong input]

Gambar 2.17 Iterasi

Contoh Sequence Diagram:

Gambar 2.18 Sequence Diagram

2.1.4.4 Activity Diagram

Menurut Britton dan Doake, (2005, p201) Activity

Diagram menggambarkan secara detail proses yang kompleks.

Dalam activity diagram, semua state adalah aktivitas, dan transisi

diantaranya dipicu oleh selesainya sebuah aktivitas, bukan oleh

sebuah peristiwa eksternal.

Page 16: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

22

Berikut merupakan elemen yang digunakan dalam diagram

activity:

1. Initial node

Digambarkan dalam sebuah lingkaran penuh, yang

menandakan mulainya proses.

Gambar 2.19 Initial Node

2. Tindakan

Digambarkan dalam bentuk persegi panjang dengan ujung

yang membulat, yang merepresentasikan langkah individual.

Gambar 2.20 Tindakan

3. Aliran

Tanda anak panah dalam diagram mengindikasikan

perkembangan dari tindakan yang dilakukan.

Gambar 2.21 Aliran

4. Keputusan

Berbentuk belah ketupat, dengan satu aliran yang masuk, dan

dua atau lebih aliran yang keluar. Aliran yang keluar diberi

tanda untuk mengindikasikan kondisi.

Page 17: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

23

Gambar 2.22 Keputusan

5. Merge

Berbentuk belah ketupat dengan dua atau lebih aliran yang

masuk dan satu aliran yang keluar.

Gambar 2.23 Merge

6. Aktivitas final

Digambarkan dengan sebuah lingkaran penuh didalam

lingkaran kosong yang menandakan berakhirnya suatu proses.

Gambar 2.24 Aktivitas Final

Contoh Activity Diagram:

Gambar 2.25 Activity Diagram

Page 18: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

24

2.1.5 Interaksi Manusia dan Komputer (IMK)

2.1.5.1 Pengertian IMK

Menurut Shneiderman (2010, p22), interaksi manusia dan

komputer adalah disiplin ilmu yang berhubungan dengan

perancangan, evaluasi, dan implementasi sistem komputer

interatif untuk digunakan oleh manusia, serta studi fenomena-

fenomena besar yang berhubungan dengannya.

2.1.5.2 Eight Golden Rules

“Eight Golden Rules” terdiri dari:

a. Berusaha untuk konsisten (strive for consistency)

Berusaha membuat urutan yang konsisten dari tindakan

yang diperlukan dalam situasi yang sama. Tata letak,

kapitalisasi, font, warna yang digunakan semua harus

konsisten.

b. Melayani kegunaan universal (cater to universal usability)

Melayani kebutuhan pengguna yang beragam dan

memfasilitasi transformasi konten. Menambahkan fitur

untuk pemula seperti penjelasan, dan fitur untuk para ahli,

seperti shortcut dapat memperkaya desain antarmuka dan

meningkatkan kualitas sistem.

c. Umpan balik yang informatif (offer informative feedback)

Untuk setiap tindakan yang dilakukan user harus terdapat

umpan balik dari sistem. Untuk tindakan yang sering dan

Page 19: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

25

kecil, umpan balik yang diberikan akan sederhana,

sedangkan untuk tindakan yang jarang dan besar, umpan

balik yang diberikan harus lebih substansial.

d. Desain dialog yang menghasilkan penutupan (designing

dialogs to yield closure)

Urutan tindakan harus memiliki awalan, tengah, dan

akhiran. Umpan balik informatif pada penyelesaian

tindakan, dapat memberikan indikator untuk mempersiapkan

tindakan selanjutnya.

e. Mencegah kesalahan (prevent errors)

Merancang suatu sistem yang mencegah user membuat

suatu kesalahan yang serius. Jika user membuat kesalahan,

antarmuka harus dapat mendeteksi kesalahan, dan

menawarkan instruksi sederhana, konstruktif, dan spesifik

untuk pemulihan.

f. Memungkinkan tindakan pembalikan yang mudah (permit

easy reversal of actions)

Tindakan yang dilakukan harus dapat kembali ke tindakan

sebelumnya. Fitur ini mengurangi kecemasan karena user

tahu bahwa kesalahan tidak dapat dibatalkan, dan

mendorong eksplorasi pilihan asing.

g. Dukungan pusat kendali internal (support internal locus of

control)

Page 20: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

26

User yang berpengalaman menginginkan sensasi bahwa

mereka bertanggung jawab atas antarmuka dan antarmuka

menanggapi tindakan mereka.

h. Mengurangi beban ingatan jangka pendek (reduce short-

term memory loss)

Manusia yang memiliki kapasitas terbatas untuk memproses

informasi dalam ingatan jangka pendek, mengharuskan

desainer menghindari antarmuka dimana pengguna harus

mengingat informasi dari satu layar, dan kemudian

menggunakan informasi tersebut pada layar yang lain.

2.1.6 Basis Data (Database)

Menurut Connolly dan Begg (2010, p65), database merupakan

sekumpulan data logis yang terkait dan deskripsi data yang dirancang untuk

memenuhi kebutuhan informasi dari suatu organisasi.

2.1.6.1 The Database Management System (DBMS)

Menurut Connolly dan Begg (2010, p66), Merupakan

sistem perangkat lunak yang memungkinkan pengguna untuk

mendefinisikan, membuat, memelihara, dan mengontrol akses

ke basis data. DBMS memiliki beberapa fasilitas:

1. pengguna untuk memasukkan, merubah, Memungkinkan

pengguna untuk menentukan basis data, biasanya melalui

Data Definition Language (DDL). DDL memungkinkan

Page 21: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

27

pengguna untuk menentukan jenis data, struktur, dan

kendala pada data yang akan disimpan dalam basis data.

2. Memungkinkan menghapus, dan mengambil data dari basis

data, biasanya melalui Data Manipulation Language (DML).

DML memiliki fasilitas untuk data yang disebut query

language. Bahasa query yang paling umum adalah

Structured Query Language (SQL) yang sekarang

merupakan bahasa standar untuk DBMS relasional.

3. Menyediakan akses control ke basis data. Contohnya:

a. Sistem keamanan (security system), mencegah pengguna

yang tidak sah mengakses basis data.

b. Sistem integritas (integrity system), yang

mempertahankan konsistensi data yang disimpan.

c. Concurrency Control System, yang memungkinkan

berbagi akses basis data.

d. Sistem control pemulihan (recovery control system),

yang mengembalikan keadaan basis data ke keadaan

semula yang konsisten.

e. Sebuah catalog yang dapat diakses pengguna, yang

berisi dari data dalam basis data.

2.1.6.2 Entity-Relationship Diagram (ERD)

Menurut Connoly dan Begg (2010, p371) Entity-

Relationship Diagram digunakan untuk mendapatkan

Page 22: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

28

pemahaman yang tepat mengenai sifat dan bagaimana data

digunakan oleh perusahaan.

1. Entity

Entitas adalah objek yang berbeda dalam organisasi yang

akan direpresentasikan dalam database.

2. Relationship

Relationship merupakan hubungan antara entitas.

3. Attribute

Atribut merupakan properti yang mendeskripsikan beberapa

aspek dari objek.

Keys

Menurut Connoly dan Begg (2010, p150), keys digunakan

untuk mengidentifikasikan satu atribut atau lebih yang secara

unik mengidentifikasikan relasi.

1. Candidate key

Menurut Connoly dan Begg (2010, p381), candidate key

merupakan sebuah atribut atau sekumpulan atribut yang

secara unik mengidentifikasikan keberadaan setiap tipe

entitas.

Page 23: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

29

2. Alternate key

Menurut Connoly dan Begg (2010, p151) alternate key

merupakan sebuah candidate key yang tidak terpilih untuk

menjadi primary key.

3. Composite key

Menurut Connoly dan Begg (2010, p382), composite key

merupakan candidate key yang terdiri dari dua atribut atau

lebih.

4. Primary key

Menurut Connoly dan Begg (2010, p151), primary key

merupakan candidate key yang dipilih untuk

mengidentifikasikan setiap kejadian tipe entitas secara unik.

5. Foreign key

Menurut Connoly dan Begg (2010, p151), foreign key

merupakan sebuah atribut atau sekumpulan atribut dalam

sebuah relasi yang mencocokkan candidate key dari

beberapa relasi.

Contoh Entity-Relationship Diagram:

Gambar 2.26 Entity-Relationship Diagram

Page 24: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

30

2.1.7 E-Application

Menurut Commerchero, Delvecchio, Loughney, et al (2006, p30), E-

Application adalah sebuah aplikasi komputer berbasis jaringan yang

didesain untuk menangani aktivitas yang ada dalam dunia paralel. Untuk

menangani aktivitas virtual yang ada, aplikasi ini harus memahami

karakteristik dari dunia yang sedang direpresentasikannya.

2.2 Teori Khusus

2.2.1 PHP

Menurut Valade, (2006, p15), PHP merupakan scripting language yang

didesain untuk membuat web dinamis. Kata PHP berasal dari

PHP :HyperText Preprocessor yang dikembangkan oleh Rasmus Lerdorf.

(Anonymous1, 2012), PHP digunakan secara luas dalam bahasa script yang

sangat cocok digunakan untuk pengembangan web dan dapat ditanamkan

dalam HTTP.

Keuntungan PHP

Berikut ini merupakan keuntungan menggunakan PHP:

1. Cepat,karena terpasang pada HTML code response time yang diperlukan

pendek.

2. PHP dalam pengunaannya tidak memerlukan biaya (gratis).

Page 25: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

31

3. PHP mudah dalam penggunaannya. PHP memiliki banyak fitur dan

fungsi spesial yang diperlukan untuk menciptakan dynamic web pages.

Bahasa PHP didesain agar dapat dengan mudah dimasukkan ke dalam

HTML file.

4. Dapat dijalankan pada berbagai operating system.

5. Technical Support tersedia secara luas, banyak pengguna yang

menyediakan bantuan secara gratis melalui forum, e-mail discussion

lists.

6. Aman, pengguna / user tidak melihat PHP code.

7. PHP didesain untuk mendukung database.

8. PHP dapat diubah. Open Source License memperbolehkan programmers

untuk memodifikasi software PHP, menambah atau merubah fitur sesuai

dengan lingkungan kerja mereka.

2.2.2 CodeIgniter (CI)

(Anonymous2, 2012), Code Igniter merupakan application development

framework, sebuat alat untuk membantu dalam pembuatan website yang

menggunakan PHP.

Tujuan dari Code Igniter adalah membantu dalam pembuatan project agar

dapat lebih cepat bila membuat code dari awal, dengan cara menyediakan

library – library yang dapat memudahkan tugas – tugas yang ada, serta antar

muka yang mudah dan struktur logikal untuk mengakses library tersebut.

Fitur utama dari code igniter:

Page 26: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

32

1. Model-View-Controller Based System.

2. Extremely Light Weight.

3. Full Featured database classes with support for several platforms.

4. Active Record Database Support.

5. Form and Data Validation.

6. Session Management.

7. File Uploading Class.

8. Pagination.

9. Flexible URI Routing.

Code Igniter cocok apabila:

1. Anda menginginkan framework yang kecil.

2. Anda menginginkan performa yang bagus.

3. Anda memerlukan kompabilitas yang luas dengan standar hosting yang

menjalankan variasi versi php dan konfigurasi.

4. Anda menginginkan framework yang hampir tidak memerlukan

konfigurasi.

5. Anda menginginkan framework yang tidak mengharuskan penggunaan

command line dalam penggunaannya.

6. Anda menginginkan framework yang tidak harus mengikuti batasan

dalam aturan coding.

7. Anda tidak ingin mempelajari templating language.

8. Anda menginginkan solusi yang sederhana.

Page 27: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

33

9. Anda perlu dokumentasi yang jelas.

2.2.3 PHPMyAdmin

(Anonymous3, 2012), phpMyAdmin merupakan software gratis

yang ditulis dalam bahasa PHP, yang bertujuan untuk memegang

administrasi dari MySQL dari World Wide Web (WWW). PhpMyAdmin

mendukung sebagian besar operasi pada MySQL. Operasi yang sering

digunakan sudah didukung dengan user interface seperti mengatur

database, table, field, relasi, index, users, permissions, dll, tapi tetap

mempunyai kemampuan untuk mengeksekusi SQL statement secara

langsung.

Nama phpMyAdmin merupakan gabungan dari PHP sebagai bahasa yang

digunakan dan MySQL sebagai database yang diatur. Meskipun namanya

cukup sederhana, beberapa orang salah mengingat nama phpMyAdmin

dan menyebutnya sebagai nama lain seperti myphpadmin, phpadmin,

phpmysqladmin.

Fitur – fitur pada phpMyAdmin:

1. Tampilan web yang menarik.

2. Mendukung hampir semua fitur MySQL seperti:

a. Menjelajah, men-delete database, table, view, field, indexes.

b. Create, copy, drop, rename, alter database, tables, fields, indexes.

c. Maintenance server, database dan table dengan proposal pada

konfigurasi server.

Page 28: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

34

d. Execute, edit, bookmark SQL statement, batch-queries.

e. Manage MqSQL user, privileges.

f. Manage stored procedure, triggers.

3. Memasukkan data dari CSV dan SQL.

4. Mengeluarkan data ke beberapa format seperti: CSV, SQL, XML,

PDF, ISO/IEC 26300, OpenDocument Text, Spreadsheet, Word,

LATEX dan format lainnya.

5. Mengadministrasi beberapa server.

6. Menciptakan grafik PDF dari layout database.

7. Menciptakan complex queries dengan Query-ByExample (QBE).

8. Mencari secara menyeluruh pada database atau subset dari database.

9. Merubah data yang telah disimpan menjadi format lain menggunakan

set of predefined functions, seperti menampilkan BLOB-data sebagai

gambar atau download-link.

2.2.4 JavaScript

Menurut Flanagan, (2011,p1), JavaScript merupakan bahasa

pemrograman tingkat tinggi dan dinamis yang cocok untuk object

oriented dan functional programming style. JavaScript berasal dari sintaks

Java, yang merupakan bahasa pemrograman yang digunakan sebagian

besar website modern dan web browser baik dalam desktop, game

console, tablet, dan smart phone. Dengan adanya penerjemah JavaScript,

membuat JavaScript sebagai bahasa pemrograman yang paling banyak

digunakan. JavaScript merupakan bagian dari serangkaian teknologi yang

Page 29: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

35

wajib dipelajari bagi Web Developer: HTML untuk menentukan isi dari

setiap halaman web, CSS untuk menentukan presentasi dari web, dan

JavaScript untuk menentukan tindakan dari halaman web.

2.2.5 AJAX

Menurut Phaneendra dalam jurnal “Minimizing Client-Server

Traffic Based On AJAX”, (2012,p11), Ajax bukanlah arsitektur seperti

MVC, atau pola desain, atau kerangka melainkan konsep. Ajax lebih dari

sekedar pendekatan untuk interaksi web. Pendekatan ini melibatkan

transmisi dari sejumlah kecil informasi dari dan ke server untuk

memberikan user respon yang paling mungkin. Ajax bermanfaat bagi

mereka yang telah menerapkan arsitektur MVC seperti aplikasi shopping

cart.

2.2.6 JQUERY

(Anonymous4, 2012), JQuery merupakan library JavaScript yang

cepat dan ringkas, yang menyederhanakan lintas dokumen HTML,

penanganan kejadian, dan interaksi Ajax untuk pengembangan web yang

cepat. Jquery dirancang untuk mengubah cara menulis JavaScript.

2.2.7 Pembelian

Menurut Assauri, (2008, p223), pembelian merupakan salah satu

fungsi penting dalam suatu perusahaan. Fungsi ini dibebani tanggung

jawab untuk mendapatkan kuantitas dan kualitas bahan-bahan yang

Page 30: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

36

tersedia pada waktu dibutuhkan dengan harga yang sesuai dengan harga

yang berlaku.

Menurut Mulyadi, (2007,p.711) aktivitas dalam proses pembelian

barang adalah:

1. Permintaan pembelian.

2. Pemilihan pemasok.

3. Penempatan order pembelian.

4. Penerimaan barang.

5. Pencatatan transaksi pembelian.

Permintaan pembelian merupakan pekerjaan yang ditujukan untuk

memicu bagian pembelian melakukan pengadaan barang sesuai dengan

spesifikasi dan jadwal sebagaimana yang dibutuhkan oleh pemakai

barang. Sedangkan penerimaan barang merupakan aktivitas tentang

penerimaan kiriman dari pemasok sebagai akibat adanya order pembelian

yang dibuat oleh bagian pembelian.

2.2.8 Penjualan

Menurut Romney, (2003, p157), penjualan merupakan satu set rekursif

dari kegiatan bisnis dan operasi pemrosesan informasi terkait yang

dihubungkan dengan penyediaan barang, pelayanan pelanggan dan

penerimaan pembayaran dari penjualan tersebut.

Page 31: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

37

Menurut Hall, (2011, p154), prosedur pemesanan penjualan meliputi

tugas-tugas yang terkait dalam penerimaan dan pemrosesan sebuah pesanan

klien, mengisi formulir pemesanan, dan pengiriman produk ke klien,

penagihan pelanggan pada saat tepat, dan akuntansi transaksi secara benar.

1. Penerimaan pesanan

Pada tahap ini, karyawan membuat sebuah Sales Order yang mencakup

informasi penting mengenai pelanggan, seperti nama pelanggan, alamat

pelanggan, nama, nomor, dan deskripsi barang yang dijual serta jumlah

dan harga satuan barang yang dijual. Setelah itu, karyawan membuat

sebuah salinan Sales Order dan menempatkannya dalam customer open

order file.

2. Pemeriksaan kredit

Pada tahap ini, pihak perusahaan melakukan pemeriksaan kelayakan

kredit pelanggan untuk menentukan batas kredit yang dapat dimiliki

oleh pelanggan, apakah pelanggan tersebut memiliki histori kredit yang

baik atau tidak. Fungsi penerimaan pesanan mengirimkan Sales Order

(credit copy) kepada fungsi pemeriksaan kredit untuk pengesahan.

Berkas pengesahan Sales Order yang dikembalikan memicu kelanjutan

proses penjualan dengan mengeluarkan informasi Sales Order secara

bersamaan ke fungsi yang beragam.

3. Pengambilan barang

Pada tahap ini, fungsi penerimaan pesanan meneruskan dokumen

pengeluaran stok barang kepada fungsi pengambilan barang dalam

gudang. Dokumen ini mengidentifikasikan barang-barang dalam

Page 32: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

38

inventaris yang harus diambil dari rak gudang, juga menyediakan

otorisasi formal kepada personil gudang untuk mengeluarkan barang

yang ditentukan. Setelah mengambil barang, pesanan diverifikasi dan

dokumen pengeluaran stok yang sudah diverifikasi diteruskan ke fungsi

pengiriman barang.

4. Pengiriman barang

Sebelum kedatangan barang dan dokumen pengeluaran barang yang

sudah diverifikasi, divisi pengiriman menerima packing slip dan

shipping notice dari fungsi penerimaan pesanan. Packing slip akan

dikirimkan dengan barang untuk menggambarkan isi dari pesanan.

Shipping notice akan diteruskan kepada fungsi penagihan sebagai bukti

bahwa pesanan pelanggan sudah terpenuhi dan dikirim.

5. Penagihan pelanggan

Pada tahap ini, fungsi penagihan menerima Sales Order (invoice copy)

dari fungsi penerimaan pesanan. Dokumen ini ditempatkan dalam S.O

pending file hingga penerimaan shipping notice. Setelah shipping notice

diterima, barang-barang yang dikirim dicocokan dengan harga satuan

barang yang dipesan, pajak, dan ongkos kirim untuk ditambahkan ke

salinan invoice dari sales order. Sales Order yang sudah dilengkapi

merupakan tagihan pelanggan. Setelah itu, transaksi penjualan yang

sudah lengkap dicatat dalam jurnal penjualan.

Page 33: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1-00184-IF...  · Web viewBAB 2. LANDASAN TEORI. Teori Umum. Rekayasa Perangkat Lunak (Software Engineering)

39

2.2.9 Management

Menurut Robbins dan Mary (2005, p8), Manajemen merupakan suatu

proses menyelesaikan aktivitas secara efisien dan efektif dengan dan melalui

orang lain.