Anda di halaman 1dari 34

BAB 2

TINJAUAN PUSTAKA

2.1. Teori Umum

Berikut merupakan teori-teori umum dan khusus yang digunakan dalam


penulisan skripsi ini:

2.1.1 Perangkat Lunak


Menurut Pressman (2010, pp. 4), Definisi perangkat lunak adalah
sebagai berikut:

1. Sekumpulan perintah (program komputer) yang bila dieksekusi


akan memberikan fitur, fungsi, dan kinerja yang diinginkan.
2. Struktur-struktur data yang memungkinkan program untuk
memanupulasi informasi.
3. Dokumen yang menggambarkan operasi dan kegunaan dari suatu
program.

Komponen metodologi pengembangan perangkat lunak dapat


dibagi dalam empat unit:

Gambar 2.1 Software Engineering Layer


(Sumber: Software Engineering a Practitioner’s Approach -
Pressman, 2010: 14)

5
6

1. Berfokus pada kualitas

Semua pendekatan dengan teknik apapun pada rekayasa


perangkat lunak harus berdasarkan pada standar yang
mengutamakan kualitas. Pondasi dasar dan utama yang mendukung
rekayasa perangkat lunak yang baik yaitu berfokus pada kualitas.

2. Proses

Proses rekayasa perangkat lunak adalah perekat yang


memegang lapisan teknologi bersama dan memungkinkan
pengembangan rasional dan tepat waktu dari perangkat lunak
komputer. Proses mendefinisikan kerangka kerja untuk satu set
area proses kunci yang harus dibentuk untuk pengiriman yang
efektif dari teknologi rekayasa perangkat lunak. Bidang utama
membentuk dasar bagi kontrol manajemen proyek perangkat lunak
dan menetapkan konteks dimana metode teknis telah diterapkan,
produk kerja telah dihasilkan, milestone telah dibangun, kualitas
dijamin, dan perubahan dikelola dengan baik.

3. Metode

Metode rekayasa perangkat lunak memberikan teknik


bagaimana membangun perangkat lunak. Metode mencakup array
yang luas dari tugas-tugas yang mencakup analisis kebutuhan,
desain, konstruksi program, pengujian dan dukungan, rekayasa
perangkat lunak relay metode pada serangkaian prinsip dasar yang
mengatur setiap area teknologi dan termasuk aktivitas pemodelan
dan teknik deskriptif lain.

4. Peralatan

Alat rekayasa perangkat lunak memberikan dukungan


otomatis atau semi-otomatis untuk proses atau metode. Ketika alat
terintegrasi sehingga informasi yang dibuat oleh satu alat yang
dapat digunakan oleh yang lain, sebuah sistem untuk mendukung
pengembangan perangkat lunak, yang disebut Computer-Aided
Software Engineering didirikan. CASE menggabungkan software,
7

hardware, dan database software engineering untuk membuat


lingkungan rekayasa perangkat lunak untuk analog CAD / CAE
(Computer-Aided Design / Engineering) untuk hardware.

2.1.2 Metode Pengembangan Prototyping


Menurut Pressman (2010, pp. 43), prototyping merupakan metode
pengembangan terbaik saat para stakeholder mendefinisikan satu set
tujuan umum untuk perangkat lunak, tetapi tidak mengidentifikasi
persyaratan rinci untuk fungsi dan fitur.

Gambar 2.2 Prototyping Paradigma


(Sumber: Software Engineering a Practitioner’s Approach - Pressman,
2010: 43)

Metode prototyping dimulai dari tahap communication. Tim


pengembang perangkat lunak melakukan pertemuan dengan para
stakeholder untuk mengidentifikasi secara garis besar kebutuhan apa
saja yang sudah diketahui, dan bagian mana yang penting.

Perencanaan pembuatan prototyping dilakukan secara cepat.


Setelah itu dilakukan pemodelan dalam bentuk “rancangan cepat”.
Pembuatan rancangan cepat berdasarkan pada representasi aspek-aspek
perangkat lunak yang akan terlihat oleh para end user (misalnya
8

rancangan interface atau format tampilan output). Rancangan cepat


merupakan dasar untuk memulai konstruksi pembuatan prototyping.

Prototyping kemudian diserahkan kepada para stakeholder untuk


mengevaluasi prototype yang telah dibuat sebelumnya dan memberikan
umpan-balik yang akan digunakan untuk memperbaiki spesifikasi
kebutuhan. Pengulangan terjadi saat pengembang melakukan perbaikan
terhadap prototyping tersebut.

Kelebihan prototyping

1. Adanya komunikasi yang baik antara pengembang dan


pelanggan.
2. Pengembang dapat bekerja lebih baik dalam menentukan
kebutuhan pelanggan.
3. Lebih menghemat waktu dalam pengembangan sistem.
4. Penerapan menjadi lebih mudah karena pemakai mengetahui apa
yang diharapkannya.

2.1.3 Software Testing


Menurut Pressman (2010, p482) tujuan dari pengujian adalah untuk
menemukan dan memperbaiki sebanyak mungkin kesalahan dalam
program sebelum menyerahkan program kepada customer. Salah satu
pengujian yang baik adalah pengujian yang memiliki probabilitas tinggi
dalam menemukan kesalahan.

a. Strategy testing

Menurut Pressman (2010, pp. 450), Sebuah strategi untuk


pengujian perangkat lunak harus menyertakan uji tingkat rendah
untuk memverifikasi bahwa source code telah di implementasi
dengan benar serta uji tingkat tinggi untuk memvalidasi fungsi
system utama terhadap kebutuhan stakeholder. Strategi harus
memberikan panduan bagi praktisi dan satu kumpulan milestones
untuk manager.
9

1. Unit testing in the OO context

Uji unit dalam kontek OO tidak melakukan uji pada tiap


modul secara individual seperti uji unit dari perangkat lunak
konvensional, namun unit terkecil yang diuji adalah class atau
object yang dienkapsulasi.

Testing class untuk software OO sama dengan uji unit untuk


software konvensional. uji software konvensional lebih berfokus
pada detil algoritma dari modul dan aliran data sepanjang
interface modul, uji class untuk software OO ditentukan oleh
operasi dari class yang dienkapsulasi dan tingkah laku dari class.

2. Integration testing in the OO context

Pengujian integrasi adalah pengujian terhadap unit-unit


program yang saling terintegrasi dengan fokus pada masalah
interfacing.

Menurut Pressman (2010, pp. 516), terdapat dua strategi


pengujian integrasi dari perangkat lunak object-oriented:

a. Thread-based testing

Mengintegrasikan sekumpulan class yang dibutuhkan


untuk merespon satu input atau event. Setiap thread
diintegrasikan dan diuji secara individual.

b. Use-based testing

Konstruksi sistem dimulai dengan menguji class-class


yang menggunakan class server paling sedikit (independent
class). Setelah pengujian independent class, dilanjutkan
dengan pengujian dependent class yaitu class yang
menggunakan independent class yang sudah diuji. Pengujian
dependent class dilakukan terus sampai keseluruhan sistem
dibangun.
10

3. Validation testing in the OO context

Validasi pada software OO berfokus pada aksi user dan


output dari system. Untuk membantu dalam pengujian validasi,
penguji harus menggunakan use cases yang merupakan bagian
dari requirements model.

4. System testing

System testing adalah serangkaian pengujian dengan tujuan


utamanya untuk menjalankan seluruh elemen sistem yang
dikembangkan.

b. Metode Testing

1. White-Box Testing

Menurut Pressman (2010, pp. 485), pengujian White-box


atau Glass-box adalah metode test-case desain yang
menggunakan struktur kontrol desain procedural untuk
memperoleh test-case. Dengan menggunakan metode pengujian
white-box, perekayasa system dapat memperoleh test-case yang:

a. Memberikankan jaminan bahwa semua jalur independent pada


suatu modul telah digunakan paling tidak satu kali.
b. Menggunakan semua keputusan logis dari sisi true dan false.
c. Mengeksekusi semua batas fungsi loops dan batas
operasionalnya.
d. Menggunakan struktur internal untuk menjamin validitasnya.

2. Black-Box Testng

Black-box testing merupakan pengujian yang berpusat pada


kebutuhan fungsional perangkat lunak dimana memungkinkan
untuk memperoleh sekumpulan kondisi input yang secara penuh
memeriksa fungsional dari sebuah aplikasi. Black-box testing
berusaha menemukan kesalahan-kesalahan seperti kesalahan
11

fungsi dan kesalahan tampilan aplikasi. Black-box testing dapat


digunakan untuk menguji aplikasi konvensional dan aplikasi
yang berorientasi objek (Pressman, 2010).

2.1.4 Database

A. Database System

Database system adalah kumpulan aplikasi program yang


berhubungan dengan database bersama dengan DBMS dan
database itu sendiri (Connolly and Begg, 2015: p52).

B. Database

Menurut Connolly and Begg (2015, p63), Database adalah


kumpulan data yang terbagi dan saling terhubung secara logikal
dan deksripsinya yang dirancang untuk memenuhi kebutuhan
informasi dari organisasi.

Dalam basis data, terdapat tiga istilah penting, yakni entitas,


atribut, dan Relationship. Entitas adalah sebuah objek berbeda (bisa
seseorang, tempat, sesuatu, konsep, ataupun kejadian) dalam
organisasi yang harus direpresentasikan dalam basis data. Atribut
adalah sebuah properti yang mendeskripsikan beberapa aspek dari
objek yang ingin di-record. Relationship adalah asosiasi antar
entitas (Connolly, 2015, p63).

C. Database Management System (DBMS)

Menurut Connolly dan Begg (2015, p64), Database


Management System (DBMS) adalah suatu sistem perangkat lunak
yang memungkinkan user untuk mendefinisikan, membuat,
memelihara dan mengatur akses ke database.

DBMS memungkinkan user untuk mendefinisikan database


menggunakan Data Definition Languange (DDL), serta melakukan
insert, update, delete dan mendapatkan data dari database
12

menggunakan Data Manipulation Language (DML). Selain itu,


fasilitas yang melayani pengaksesan data disebut query language.

1. Structure Query Language (SQL)

Menurut Connolly dan Begg (2015, p191), SQL adalah


sebuah bahasa yang mucul akibat dari pengembangan model
relasional, yang secara de facto menjadi bahasa standar relasi
database.

2. Data Definition Language (DDL)


Menurut Thomas Connolly dan Begg (2015, p.65) DDL
mengizinkan user untuk menspesifikasikan tipe data dan
struktur serta batasan mengenai data yang bisa disimpan ke
dalam database.
3. Data Manupulation Language (DML)

Menurut Thomas Connolly dan Begg (2015, p.92) DML


merupakan bahasa yang menyediakan satu set operasi untuk
mendukung operasi manipulasi data pada database.

2.1.5 Object Oriented Programming


Object Oriented Programming adalah paradigma pemrograman
yang memandang perangkat lunak sebagai kumpulan objek yang saling
berinteraksi di dalam suatu sistem. (Azis, 2005, p. 2).

Salah satu keuntungan dari object oriented programming


dibandingkan procedural programming adalah memungkinkan
pengembang aplikasi untuk membuat fungsi yang tidak perlu diubah
ketika sebuah objek dengan tipe berbeda ditambahkan. Seorang
pengembang aplikasi hanya perlu membuat objek baru yang mewarisi
beberapa fungsi atau tipe data dari objek yang sudah ada (inheritance).

Pemrograman berorientasi objek (Object Oriented Programming)


menekankan konsep sebagai berikut:
13

1. Class merupakan sekumpulan objek yang memiliki atribut-atribut


dan method. (Lethbridge & Laganiere, 2005, pp. 31-33). Class
merupakan penggambaran dari sebuah objek atau sifat objek dan
juga apa yang bisa dilakukan oleh objek tersebut. Ada juga yang
disebut dengan superclass, sebuah class induk yang nantinya
mempunyai class-class yang terdiri dari class dan subclass.
(Lethbridge & Laganiere, 2005, p. 53).

2. Objek dalam OOP adalah sebuah suatu bentuk dari class. Objek
menggambarkan kemampuan untuk menyimpan informasi
mengenai hal tersebut, berinteraksi dengan hal tersebut atau
keduanya.

3. Encapsulation/pengkapsulan, yang merupakan pembatasan ruang


lingkup program terhadap data yang diproses supaya data
terlindungi oleh prosedur atau objek lain, kecuali prosedur yang
berada di objek itu sendiri. (Lethbridge & Laganiere, 2005, p. 53).

4. Polymorphism adalah konsep yang menyatakan bahwa sesuatu


yang sama dapat mempunyai bentuk dan perilaku yang berbeda,
bahwa operasi yang sama mungkin memiliki perbedaan dalam
class yang berbeda. (Lethbridge & Laganiere, 2005, p. 38).

5. inheritance (pewarisan), yaitu kepemilikan yang bersifat implisit


dari fitur subclass yang didefinisikan dalam superclass. Fitur
tersebut mencakup variables dan method. (Lethbridge & Laganiere,
2005, p. 39).

2.1.6 Unified Modeling Language (UML)


Berdasarkan Whitten dan Bentley (2007: 371), Unified Modeling
Language adalah sekumpulan konvensi pemodelan yang digunakan
untuk mengspesifikasikan atau mendeskripsikan perangkat lunak
berdasarkan obyek.
14

A. Use case diagram

Use Case Diagram adalah diagram UML yang berguna


untuk memberikan penjelasan mengenai fungsi suatu sistem yang
sedang dikembangkan kepada user menggunakan istilah-istilah
yang mudah dimengerti (bukan merupakan istilah yang hanya
dimengerti oleh developer). Use Case Diagram memberikan
representasi grafis mengenai urutan aktivitas berupa interaksi yang
terjadi antara user (didalam Use Case Diagram disebut dengan
Actor) dan system serta tujuan dari penggunaan system tersebut.

Di dalam Use Case Diagram, fungsi-fungsi dari system


dideskripsikan menggunakan alat bernama use case. Actor adalah
user yang melakukan interaksi dengan sistem, sedangkan jenis-
jenis interaksi yang dilakukan oleh Actor terhadap use case disebut
Relationship (Whitten and Bentley, 2007: 247-248).

1. Use case

Pemodelan Use-case mengidentifikasikan dan


mendeskripsikan fungsi-fungsi pada system dengan alat yang
disebut use cases. Sebuah use case merepresentasikan sebuah
tujuan dari sistem dengan menggambarkan urutan aktivitas
dan interaksi user dalam mencapai tujuan. Use case
digambarkan dengan sebuah bentuk elips dengan nama dari
use case yang muncul dari atas, bawah, atau dalam elips.
15

Gambar 2.3 Contoh use case diagram


(Sumber: System Analysis and Design Method - Whitten and
Bentley, 2007: 246)

2. Actor

Use Case diinisiasi atau dipicu oleh pengguna external


yang disebut Actor. Actor memulai suatu aktifitas di system
(use case), dengan tujuan menyelesaikan suatu tugas agar
menghasilkan nilai yang diinginkan.

Berikut 4 jenis Actor:

a. Primary Pusiness Actor

Actor yang secara utama mendapat manfaat dari


pengeksekusian usecase dengan menerima sesuatu
yang terukur atau teramati dengan baik. Actor primary
mungkin atau mungkin tidak memulai kegiatan bisnis.
Contoh aktifitas seorang pegawai menerima slip gaji
(sesuatu yang terukur) dari sistem penggajian setiap
jumat, karyawan tidak melakukan sesuatu untuk
memulai kegiatan tersebut tetapi karyawan adalah
primary Actor yang menerima sesuatu yang bernilai.
16

b. Primary System Actor

Actor yang secara langsung berinteraksi dengan


sistem untuk memulai sebuah aktifitas di sistem atau
bisnis. Primary system Actor bisa berinteraksi dengan
primary business Actor untuk menggunakan sistem
yang sebenarnya. Mereka memfasilitasi kegiatan
memulai penggunaan langsung ke sistem untuk
kepentingan primary business Actor. Contoh pegawai
kasir yang memindaikan barang ke sistem untuk
customer yang membeli barang tersebut.

c. External Server Actor

Actor yang merespon permintaan dari use case.


Contoh, biro kartu kredit yang melakukan pengisian
melalui kartu kredit.

d. External Receiver Actor

Actor yang bukan Actor utama tapi menerima


sesuatu nilai yang penting atau terukur dari use case
contoh, gudang menerima pesanan untuk
mempersiapkan pengiriman setelah customer
melakukan pemesanan.

3. Relationship
a. Association

Gambar 2.4 Contoh Penggunaan Association pada


use case
(Sumber: System Analysis and Design Method -
Whitten and Bentley, 2007: 248)
17

Assosiation merupakan sebuah relasi dengan


bentuk garis lurus antara Actor dengan use case. (1)
Association yang memiliki tanda panah mengarah pada
sebuah use case menunjukkan bahwa interaksi
dinisiasikan oleh Actor. (2) Association yang tidak
memiliki tanda panah menunjukkan adanya interaksi
antara use case dengan external server atau Actor
penerima.

b. Extends

Gambar 2.2 Contoh Penggunaan Extends pada use


case
(Sumber: System Analysis and Design Method -
Whitten and Bentley, 2007: 249)

Sebuah use case yang memiliki fungsi komplek


membuat logika use case menjadi sulit dipahami.
Dengen tujuan menyederhanakan use case yang bersifat
komplek agar lebih mudah dipahami, bisa dengan
mengekstrak fungsi yang komplek menjadi use case
tersendiri yang disebut extension usecase.
18

c. Uses (or Includes)

Gambar 2.5 Contoh Penggunaan include pada Use


Case
(Sumber: System Analysis and Design Method –
Whitten and Bentley, 2007: 249)

Sangat umum jika menemukan dua atau lebih


usecase yang memiliki kemiripan. Abstract use case
dibuat agar mengurangi redundansi pada use case
diagram, dan dapat digunakan satu atau lebih use case
yang membutuhkan fungsionalitasnya. Relationship
antara abstract use case dengan use case disebut uses
or include.
19

d. Depends On

Gambar 2.6 Contoh penggunaan Depends On pada


Use Case
(Sumber: System Analysis and Design Method -
Whitten and Bentley, 2007: 250)

Relationship depend on digunakan untuk


menghubungkan use case yang saling ketergantungan
antara satu use case dengan use case lainnya sehingga
sebuah aktivitas hanya bisa dilakukan apabila aktivitas
sebelumnya sudah berjalan.

e. Inheritance

Gambar 2.7 Contoh penggunaan Inheritance pada


Use Case
20

(Sumber: System Analysis and Design Method -


Whitten and Bentley, 2007: 250)

Abstract Actor dibuat dengan tujuan mengurangi


komunikasi berlebih dengan system ketika dua atau
lebih Actor melakukan interaksi pada satu use case
yang sama. Relationship yang menghubungkan antara
Actor dengan abstract Actor disebut Inheritance

B. Use case narrative

Menurut Whitten dan Bentley (2007: 246), Use Case


Narrative atau Use Case Description berguna untuk
mendeskripsikan dari dan bagaimana user akan berinteraksi dengan
sistem dalam menyelesaikan sebuah tugas.

Gambar 2.8 Contoh Use Case Narrative


(Sumber: System Analysis and Design Method - Whitten and
Bentley, 2007: 257)

Bagian-bagian dari High-level Use Case Narrative adalah


sebagai berikut:

1. Author adalah nama-nama individu yang berkontribusi di


dalam penulisan use case.

2. Date adalah tanggal use case terakhir kali dimodifikasi.


21

3. Version adalah versi dari use case.

4. Use-case name adalah nama yang merepresentasikan tujuan


dari use case tersebut, harus dimulai dengan kata kerja.

5. Use-case type adalah jenis use case yang digunakan. Business


requirement use-case memiliki fokus pada visi strategis dan
tujuan dari banyak stakeholders. Jenis use case ini
memberikan deskripsi penjelasan secara umum mengenai
masalah dan cakupannya, tetapi tidak termasuk rincian yang
harus dikomunikasikan kepada developer mengenai apa yang
harus dilakukan oleh sistem.

6. Use-case ID adalah pengidentifikasi unik dari sebuah use case


yang tujuannya untuk pengelompokkan use case.

7. Priority adalah tingkat prioritas dari sebuah use case yang


menunjukkan pentingnya fungsi use case tersebut di dalam
sistem.

8. Source mendefinisikan entitas yang memicu pembuatan use


case. Dapat berupa kebutuhan, dokumen, atau stakeholder.

9. Primary business Actor adalah stakeholder yang secara utama


diuntungkan oleh eksekusi use case dengan menerima suatu
nilai yang terukur.

10. Other participating Actors adalah Actor lain di dalam use case
yang berpartisipasi dan membantu terwujudnya tujuan dari use
case yang ada.

11. Interested stakeholders adalah seseorang selain Actor yang


memiliki ketertarikan pada tujuan dari use case.

12. Description adalah deskripsi singkat yang terdiri dari beberapa


kalimat yang menjelaskan tujuan dari use case dan aktivitas-
aktivitasnya.
22

Gambar 2.9 Contoh Use Case Narrative


(Sumber: System Analysis and Design Method - Whitten and
Bentley, 2007: 259-260)

Setiap high-level use case dilakukan expand untuk


mencakupi rincian event-event yang typical dan alternate. Typical
course of events adalah deskripsi langkah demi langkah
23

pelaksanaan use case, sedangkan Alternate Course of events berisi


beragam kondisi yang terjadi di dalam use case.

Berikut adalah konten tambahan dari sebuah ekspansi high-


level use case:

1. Precondition adalah batasan dari kondisi/status sistem


sebelum use case dapat dieksekusi.

2. Trigger adalah event yang menyebabkan eksekusi sebuah use


case.

3. Typical course of events adalah urutan biasa dari aktivitas


yang dilakukan aktor dan sistem untuk mencapai tujuan dari
use case.

4. Alternate Courses adalah apabila terdapat pengecualian atau


variasi dari typical course yang terjadi.

5. Conclusion adalah spesifikasi saat use case berhasil


dieksekusi, saat primary Actor menerima suatu nilai yang
terukur.

6. Postcondition adalah batasan dari kondisi/status sebuah sistem


setelah use case berhasil dieksekusi.

7. Business rules menspesifikasikan aturan dan prosedur bisnis


di dalam sistem yang baru.

8. Implementation constraints and Specifications


menspesifikasikan kebutuhan yang bersifat nonfungsional
yang dapat mempengaruhi realisasi use case, dapat berguna
dalam perencanaan arsitektur dan pencakupan.

9. Assumptions adalah semua asumsi yang dibuat oleh creator


saat mendokumentasikan use case.

10. Open issues adalah pertanyaan atau masalah yang harus


diselesaikan atau diteliti sebelum use case disetujui.
24

C. Activity diagram

Activity Diagram digunakan untuk menggambarkan alur


urutan yang ada pada sebuah sistem dan menjelaskan alur dari
sebuah use case. Terdapat beberapa elemen di dalam sebuah
activity diagram, yaitu:

Tabel 2.1 Tabel Elemen Activity Diagram

Nama Simbol Deskripsi

Lingkaran hitam yang


Initial
merepresentasikan awal sebuah
Mode
proses.

Simbol yang merepresentasikan


Activity langkah-langkah individual di
dalam activity diagram.

Simbol berupa tanda panah yang


menunjukkan alur perpindahan
Flow
dari satu aktivitas ke aktivitas
lainya.

Simbol yang sama digunakan


untuk dua fungsi kondisional yang
berbeda, Decision dan Merge.
Decision mengindikasikan
percabangan karena adanya
Decision
pemilihan aktivitas dengan alur
dan Merge
berbeda. Merge mengindikasikan
adanya penggabungan aktivitas
untuk kembali ke jalur yang sama
setelah sebelumnya dipisahkan
oleh sebuah decision.

Fork dan Simbol yang sama dapat


25

Nama Simbol Deskripsi

Join diasosiasikan dengan proses


paralel (dua arah). Fork
menggambarkan dua aktivitas
yang akan berjalan secara paralel.
Join menggambarkan berakhirnya
proses yang berjalan secara
paralel (dua arah)

Simbol ini menunjukkan akhir


Activity
dari proses pada sebuah activity
Final
diagram.
26

Gambar 2.10 Contoh Activity Diagram


(Sumber: System Analysis and Design Method - Whitten and
Bentley, 2007: 392)

D. Class diagram

Menurut Whitten dan Bentley (2007: 373-381), Class


Diagram digunakan untuk menggambarkan pengorganisasian
obyek-obyek bisnis dan asosiasinya terhadap satu sama lain pada
sebuah sistem. Dalam hal ini, obyek bisnis disebut sebagai class.
Di dalam class diagram, class-class yang ada dapat dihubungkan
satu sama lain menggunakan garis lurus. Di dalam sebuah class,
terdapat elemen berupa nama, attribute, dan operation.
Berikut adalah beberapa jenis hubungan di dalam class
diagram menurut Whitten dan Bentley (2007: 373-381):
27

1. Mulitiplicity

Multiplicity adalah indikator yang menunjukkan


banyaknya hubungan antar class.

Tabel 2.2 Jenis-Jenis Multiplicity

Multiplicity Deskripsi
1 Hanya satu.
0..1 Nol atau satu
* Nol atau lebih.

1..* Satu atau lebih.


x..y Antara jumlah x dan jumlah y

2. Association

Association adalah hubungan antara dua class atau


lebih di dalam sebuah class diagram. Pada setiap association
terdapat multiplicity. Terdapat dua jenis hubungan
association di dalam class diagram, yaitu:

a. Bi-directional

Adanya hubungan antar class dimana kedua class


sama-sama memiliki peran terhadap satu sama lain.
Hubungan bi-directional digambarkan dengan garis lurus
tanpa tanda panah yang menghubungkan kedua class.

b. Uni-directional

Adanya hubungan antar class dimana hanya salah satu


class memiliki peran dalam hubungan tersebut. Hubungan
uni-directional digambarkan dengan garis lurus yang
memiliki tanda panah di salah satu ujungnya.
28

Gambar 2.11 Contoh Association Bi-Directional dan Uni-


Directional Class Diagram

3. Generalization dan specialization

Generalization dan Specialization adalah hubungan


antar class dimana terdapat superclass, yaitu sebuah class
yang merupakan hasil pengelompokan class-class
berdasarkan attribute dan behavior yang sama
(generalization), dan sub class, yaitu class-class yang
mendapatkan attribute dan behavior turunan dari sebuah
super class namun dapat memiliki attribute dan behavior-nya
sendiri (specialization).

Gambar 2.12 Contoh Generalization/Specialization Class


Diagram
(Sumber: System Analysis and Design Method – Whitten dan
Bentley, 2007: 375)
29

4. Aggregation dan composition

Aggregation dan Composition adalah hubungan antar


class dimana sebuah class merupakan bagian dari class
lainnya.

Gambar 2.13 Contoh Aggregation Class Diagram


(Sumber: System Analysis and Design Method – Whitten and
Bentley, 2007: 379)

Perbedaan antara composition dan aggregation adalah


pada composition terdapat hubungan yang lebih erat antar
class. Misalnya, jika class A adalah bagian dari class B,
maka class B tidak akan bisa berdiri sendiri tanpa class A.
Pada UML 2.0 notasi aggregation tidak lagi digunakan
karena fungsinya kurang terlihat perbedaannya dengan
bentuk association dengan multiplicity satu atau lebih (one or
more). Hal ini menyebabkan beberapa praktisi menganggap
aggregation tidak memiliki arti penting pada penggunaannya.
30

Gambar 2.14 Contoh Composition Class Diagram


(Sumber: System Analysis and Design Method ¬- Whitten and
Bentley, 2007: 379)

Gambar 2.15 Contoh Class Diagram


(Sumber: System Analysis and Design Method – Whitten and
Bentley, 2007: 406)

E. Sequence diagram

Sequence diagram adalah diagram UML yang


menggambarkan interaksi antara obyek-obyek di dalam sistem
berdasarkan urutan waktu (Whitten and Bentley, 2007: 659).
Berikut ini adalah elemen-elemen dari sequence diagram:
31

Tabel 2.3 Elemen Sequence Diagram

Nama Simbol Deskripsi


Actor adalah representasi user
yang berinteraksi dengan
Actor sistem.

Suatu notasi yang berfungsi


untuk memastikan class
Interface
<<interface>> interface code, agar tidak
Class
terjadi kebingungan atas jenis
class.
Setiap use case memiliki satu
Controller atau lebih controller,
<<controller>>
Class digambarkan sama seperti
notasi interface class.

Simbol yang
Entity
merepresentasikan class pada
Classes
class diagram.

Berfungsi untuk
Message menyampaikan pesan dari
setiap method.

Berfungsi untuk menunjukan


Activity
berapa lamanya waktu objek
Bars
digunakan.

Return Hasil dari masukan yang


Message dimasukan oleh objek.
32

Nama Simbol Deskripsi

Objek yang memanggil


Self-call
method-nya sendiri.

Menandakan area pada


diagram yang melakukan
Frame
seleksi, pengulangan, dan
suatu pilihan khusus.

Gambar 2.16 Contoh Sequence Diagram


(Sumber: System Analysis and Design Method - Whitten and Bentley, 2007:
659)

2.1.7 Interaksi Manusia dan Komputer


Menurut Shneiderman dan Plaisant (2010, p15), Interaksi Manusia
dan Komputer adalah sebuah disiplin ilmu yang berhubungan dengan
perancangan, evaluasi, dan implementasi sistem komputer interaktif
untuk digunakan oleh manusia, serta mempelajari fenomena-fenomena
besar yang berhubungan dengannya.
33

a. Faktor manusia terukur

Menurut Shneiderman dan Plaisant (2010, p32), ada faktor-


faktor manusia terukur dalam desain antarmuka user antara lain:

1. Waktu belajar

Menyatakan berapa lama waktu yang diperlukan user


untuk mempelajari cara relevan dalam melakukan suatu
tugas.

2. Kecepatan kinerja

Menyatakan berapa lama waktu yang diperlukan untuk


melakukan suatu tugas.

3. Tingkat kesalahan

Mengukur berapa banyak kesalahan yang dilakukan


oleh user ketika menjalankan sistem. Sistem tersebut harus
memiliki tingkat kesalahan yang rendah bila sedang
digunakan oleh user.

4. Daya ingat

Kemampuan user memelihara pengetahuannya setelah


jangka waktu tertentu.

5. Kepuasan subjektif

Menyatakan tingkat kepuasan user terhadap berbagai


aspek sistem.

b. Delapan aturan emas

Berdasarkan Shneiderman dan Plaisant (2010), terdapat


Delapan Aturan Emas (Eight Golden Rules) yang digunakan
sebagai pedoman dalam merancang suatu antarmuka user (user
interface) yang baik, yaitu:
34

1. Berusaha untuk konsisten

Konsisten dalam berbagai aspek yang terdapat dalam


aplikasi, seperti warna yang digunakan, jenis font yang
dipakai, dan tampilan menu.

2. Menyediakan kegunaan universal

Perancangan dilakukan dengan mengetahui perbedaan


dari user sehingga dapat dipakai oleh semua kategori user
baik yang sudah ahli maupun pemula. User yang beragam
dan desain harus mempertimbangkan perbedaan dan
pertimbangan dalam hal rentang usia, cacat dan
keanekaragaman teknologi.

3. Memberikan umpan balik yang informatif

Untuk setiap sistem diharapkan adanya suatu umpan


balik bagi user. Respon yang diberikan tergantung dari aksi
yang dilakukan user.

4. Merancang dialog penutupan

Memberikan gambaran hasil yang akan didapat oleh


user jika melakukan suatu tindakan sehingga user tidak salah
dalam memilih tindakan dan melanjutkan ke tahap
selanjutnya.

5. Memberikan pencegahan dan penanganan masalah

Suatu sistem yang baik harus dapat menghindarkan


user dari kesalahan sebelum kesalahan itu terjadi. Jika user
membuat suatu kesalahan, antarmuka (interface) harus dapat
mendeteksi kesalahan dan memberikan informasi yang
spesifik kepada user untuk menangani kesalahan.
35

6. Memungkinkan aksi pembalikan yang mudah

Setiap aksi harus dirancang sedemikian rupa sehingga


dapat melakukan pembalikan untuk kembali ke keadaan
semula sebelum aksi tersebut dijalankan.

7. Mendukung pusat kendali internal

User yang sudah berpengalaman menginginkan bahwa


mereka bertanggungjawab atas sebuah sistem maka sistem
dapat memberikan respons terhadap setiap aksi yang
dilakukan oleh user karena manusia yang memegang kontrol
sistem.

8. Mengurangi beban ingatan jangka pendek

Dengan keterbatasan ingatan yang dimiliki oleh


manusia, sistem harus dirancang sesederhana mungkin
dengan tujuan user tidak memerlukan waktu yang lama untuk
beradaptasi menggunakan sistem.

2.2. Teori Khusus

2.2.1 Visual Basic .NET


Microsoft Visual Basic .NET adalah sebuah alat untuk
mengembangkan dan membangun aplikasi yang bergerak di atas sistem
.NET Framework, dengan menggunakan bahasa BASIC. Dengan
menggunakan bahasa ini, para programmer dapat membangun aplikasi
windows forms, aplikasi web berbasis ASP.NET, dan juga aplikasi
command-line. Visual Basic dapat diperoleh secara terpisah dari
beberapa produk lainnya (seperti Microsoft Visual C++, Visual C#, atau
Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft
Visual Studio .NET. Bahasa VB .NET sendiri menganut paradigma
bahasa pemrograman berorientasi objek yang dapat dilihat sebagai
36

evolusi dari Microsoft Visual Basic versi sebelumnya yang


diimplementasikan di atas .NET Framework.

NET Framework merupakan model platform yang memudahkan


dalam membangun lingkungan aplikasi yang terdistribusi di internet.

Platform .NET Framework terdiri dari 2 bagian utama yaitu :

a. Commun Language Run Time (CLR), berfungsi untuk


manajemen memori, security, me-Load, mengeksekusi kode,
dan mengisolasi aplikasi.
b. .NET Framework Class Library (FCL), berisikan koleksi kelas
yang dalam penggunaanya dapat diturunkan menjadi koleksi
objek. Objek tersebut kemudian dapat digunakan untuk
membangun aplikasi.

2.2.2 ASP .NET


Menurut Walther (2008, pp. 11) ASP.NET adalah sebuah teknologi
server-side scripting yang digunakan untuk membuat halaman-halaman
web dinamic. ASP.NET adalah sebuah platform terbaru untuk
mengembangkan aplikasi web, Web Services dan Web Form dalam
Microsoft .NET Framework. ASP.NET merupakan evolusi teknologi
dari Microsoft Active Server Pages (ASP) untuk .NET Platfrom yang
baru.

ASP.NET tidak hanya terbatas pada bahasa script, tetapi


memungkinkan pengembang untuk menggunakan bahasa NET seperti
C#, J#, VB, dll. Hal ini memungkinkan developer untuk membangun
aplikasi yang sangat menarik dengan memanfaatkan Visual Studio.

Keuntungan memakai ASP.NET adalah sebagai berikut:

2. ASP.NET secara drastis mengurangi jumlah code yang dibutuhkan


untuk membangun aplikasi besar.
3. Dengan built-in Windows authentication membuat aplikasi Anda jauh
lebih aman.
4. Menggunakan ASP.NET dipastikan lebih memiliki kinerja yang lebih
baik.
37

5. ASP.NET menyediakan kemudahan bagi penggunanya, seperti


contohnya mengirim formulir sederhana, authentication dari client
untuk deployment dan juga konfigurasi website.
6. ASP.NET framework dilengkapi dengan peralatan yang kaya dan
terintegrasi dengan Visual Studio. WYSIWYG editing, drag-and-
drop server controls dan juga deployment secara otomatis adalah
beberapa keunggulan dari fitur ASP.NET.
7. Karena Source code dan HTML digabung menjadikan ASP.NET lebih
mudah di-maintenance dan di-edit. Ini membuat ASP.NET menjadi
lebih flexible dan powerfull.
8. ASP.NET memudahkan dalam proses deployment. Tidak perlu me-
register component.
9. Web server memonitor pages, applikasi, dan komponen secara
otomatis. Jika ada hal yang mencurigakan, maka ASP.NET akan
secara otomatis men-detect-nya.
10. Lebih mudah bekerja dengan ADO.NET yang menggunakan data
binding dan feature page formatting yang membuat aplikasi dapat
berjalan dengan cepat tanpa adanya masalah performa.

2.2.3 Internet Information Service (IIS)


Internet Information Services atau IIS merupakan sebuah produk
microsoft yang digunakan sebagai web server untuk menampilkan web
page dan web service yang diminta oleh pengguna melalui web
browser. Internet Information Services menyediakan semua paket
sistem operasi windows.

(Microsoft Corporation, 2015, What is


IIS?,http://www.iis.net/overview)

2.2.4 Miscrosoft SQL Server


Microsoft SQL Server merupakan produk Relational Database
Management System (RDBMS) yang dibuat oleh Microsoft. Orang
sering menyebutnya dengan SQL Server saja. Microsoft SQL Server
juga mendukung SQL sebagai bahasa untuk memproses query ke dalam
database. Microsoft SQL Server banyak digunakan pada dunia bisnis,
38

pendidikan atau juga pemerintahan sebagai solusi database atau


penyimpanan data. Pada tahun 2008 Microsoft mengeluarkan SQL
Server 2008 yang merupakan versi paling banyak digunakan. Berikut
ini adalah beberapa fitur yang dari sekian banyak fitur yang ada pada
SQL Server:

a. XML Support. Dengan fitur ini, Anda bisa menyimpan dokumen


XML dalam suatu tabel, meng-query data ke dalam format XML
melalui Transact-SQL dan lain sebagainya.
b. Multi-Instance Support. Fitur ini memungkinkan Anda untuk
menjalankan beberapa database engine SQL Server pada mesin
yang sama.
c. Data Warehousing and Business Intelligence (BI) Improvements.
SQL Server dilengkapi dengan fungsi-fungsi untuk keperluan
Business Intelligence melalui Analysis Services. Selain itu, SQL
Server 2008 juga ditambah dengan tools untuk keperluan data
mining.
d. Performance and Scalability Improvements. SQL Server
menerapkan ke beberapa server sekaligus. Peningkatan lainnya
juga dicapai di sisi DBCC, indexed view, dan index reorganization.
e. Query Analyzer Improvements. Fitur yang dihadirkan antara lain:
integrated debugger, object browser, dan fasilitas object search.
f. DTS Enhancement. Fasilitas ini sekarang sudah mampu untuk
memperhatikan primary key dan foreign key constraints. Ini
berguna pada saat migrasi tabel dari RDBMS lain.
g. Transact-SQL Enhancements. Salah satu peningkatan disini adalah
T-SQL sudah mendukung UDF (User-Definable Function). Ini
memungkinkan Anda untuk menyimpan secara rutin ke dalam
database engine.

Anda mungkin juga menyukai