LANDASAN TEORI
1.1
1.1.1
Deskripsi dari software
memiliki beberapa macam pengertian. Di
antaranya adalah :
1.
Software adalah instruksi (program komputer) yang ketika dijalankan
menyediakan fitur, fungsi dan performance.
2.
Software adalah struktur data yang dapat memanipulasi informasi dan
informasi descriptive pada hard copy
dan virtual forms
yang
menjelaskan tentang operasi dan penggunaan program.
(Pressman,2010,p.4).
2.1.1.1 Software Engineering
Software
engineering
adalah pembentukan
dan penggunaan
prinsip-prinsip
rekayasa
suara
untuk memperoleh
software
ekonomis
yang
dapat diandalkan
dan bekerja
secara efisien
pada mesin
sebenarnya. (Pressman,2010,p.13).
|
![]() 2.1.1.2 Proses Model Software
Dalam mengembangkan software
terdapat berbagai macam
proses model, dan salah satu dari berbagai macam proses model
tersebut adalah The waterfall model.
The waterfall model, terkadang disebut juga classic life cycle
adalah proses yang secara sistematis dan melalui pendekatan
sequential
untuk mengembangkan software yang dimulai dengan
tahapan proses mencari kebutuhan spesifikasi customer
melalui
perencanaan, modeling, konstruksi dan deployment, yang pada
puncaknya berada pada support
yang terus-menerus pada software
yang diselesaikan (gambar 2.1). (Pressman,2010,p.39).
2.1.2
Database adalah kumpulan data tetap dan digunakan oleh sistem aplikasi
yang dihasilkan dari perusahaan. Data tetap merupakan data operasional yang
tersimpan pada sistem (Date, 2000, p10).
Database
merupakan suatu kumpulan data yang berelasi secara logical
yang terhubung satu sama lain dan merupakan deskripsi dari suatu data yang
dirancang untuk menghasilkan informasi yang dibutuhkan oleh organisasi
|
(Connolly dan Begg, 2005, p15). Database bersifat tunggal, memiliki tempat
penyimpanan data yang besar dimana dapat digunakan secara bersama-sama
oleh banyak departemen dan pengguna.
Jadi database
merupakan sekumpulan elemen data yang saling
berhubungan, terintegrasi dan digunakan untuk mencapai tujuan tertentu bagi
organisasi.
2.1.2.1 Database Management System (DBMS)
DBMS
adalah sebuah perangkat lunak yang digunakan untuk
menangani seluruh akses yang berhubungan dengan basis data (Date,
2000, p43).
DBMS
adalah sebuah sistem perangkat lunak yang
memungkinkan user
untuk mendefinisikan, membuat, memelihara dan
mengontrol akses terhadap basis data. DBMS memungkinkan user
untuk berinteraksi dengan program aplikasi dan basis data yang ada
(Conolly dan Begg, 2005, p16).
Sehingga secara keseluruhan DBMS dapat dikatan sebagai sebuah
perangkat lunak yang digunakan untuk mendefinisikan, membuat
memelihara serta melakukan kontrol terhadap semua akses pada basis
data. Pengggunaan DBMS
akan menyembunyikan kompleksitas
struktur data dari pengguna dan membantu pengguna yang masih
awam.
Ada 5 komponen penting dalam lingkungan DBMS
menurut
Connolly dan Begg (2005, p18-23) yaitu :
|
![]() 1
Hardware
Untuk menjalankan DBMS dan aplikasi yang diperlukan
perangkat keras yang mana dapat berupa personal
computer,
single mainframe, jaringan komputer berupa server.
2
Software
Komponen perangkat lunak meliputi DBMS
itu sendiri,
program aplikasi, sistem operasi serta perangkat lunak jaringan
apabila DBMS tersebut terhubung dengan jaringan.
3
Data
Merupakan komponen terpenting dari lingkungan DBMS
khususnya sudut pandang end users terhadap data.
4
Procedures
Prosedur merupakan instruksi dan aturan yang
menentukan perancangan dan penggunaan basis data. Prosedur
dibutuhkan oleh pengguna sistem dan pengelola basis data
untuk menjalankan serta menggunakan sistem.
5
People
Komponen terakhir yaitu manusia itu sendiri yang terlibat
dalam system tersebut.
Menurut perannya komponen ini dapat
dikelompokkan menjadi :
Data dan Database Administrator
|
Data Administrator adalah orang atau sekelompok
orang yang bertanggung jawab untuk pengelolaan
umber daya data yang mencakup perencanaan basis
data, pengembangan, standar pemeliharaan, kebijakan,
prosedur dan desain basis data secara konseptual.
Database Administrator
adalah orang atau
sekelompok orang yang bertanggung jawab untuk
realisasi fisik basis data yang mencakup desain fisik
basis data, implementasi, keamanan, integritas
pengendalian, backup dan restore, pemeliharaan sistem
operasional dan memastikan aplikasi berjalan dengan
baik sebagaimana mestinya.
|
![]() Database Designer
Database
Designer
dibagi menjadi perancang
basis data secara logika dan fisik. Perancangan basis
data secara logika berhubungan dengan identitas data
antara lain entitas dan atribut serta memahami proses
bisnisnya.
Sedangkan perancangan basis data secara
fisik berhubungan dengan bagaimana rancangan basis
data tersebut dapat direalisasikan.
Application Developers
Application
Developers
merupakan orang atau
tenaga ahli komputer yang berfungsi untuk
mengembangkan program-program aplikasi yang
diperlukan dalam manajemen basis data.
End Users
End Users
adalah client dari database
yang telah
dirancang dan diimplementasikan.
2.1.3
Internet adalah jaringan komputer di seluruh dunia yang
menghubungkan ratusan ribu jaringan yang lebih kecil. Jaringan ini
menghubungkan pendidikan, komersial, non-profit, badan kemiliteran, serta
perorangan. (Williams and Sawyer,2011,p.18).
|
Internet merupakan jaringan yang tidak terbatas oleh ruang dan waktu,
oleh karena itu, dengan internet semua orang dapat mengakses informasi dan
data dimana saja dan kapan saja. Internet adalah tempat semua orang untuk
belajar, untuk mencari hiburan, untuk berbisnis dan juga untuk saling
berkomunikasi.
2.1.3.1 World Wide Web (WWW)
WWW (World Wide Web), atau yang sering sederhana disebut
web
adalah sistem yang saling berhubungan dari komputer-komputer
internet (disebut servers) yang mendukung dokumen khusus diformat
dalam bentuk multimedia. (Williams dan Sawyer, 2011,p18).
World Wide Web adalah bagian dari internet
yang berbentuk
multimedia. World Wide Web dapat mengakses berbagai macam media
tidak hanya text, tetapi juga gambar, video dan audio.
2.1.3.2 Web Browser
Sebuah browser atau web browser adalah perangkat lunak yang
memungkinkan anda untuk menemukan dan mengakses
berbagai
bagian web. (Williams dan Sawyer,2011,p64).
Berbagai macam contoh dari web browser adalah Microsoft
Internet Explorer, Mozilla Firefox, Safari dan Google Chrome.
2.1.3.3 Hypertext Transfer Protocol (HTTP)
|
Hypertext Transfer Protocol (HTTP) adalah aturan komunikasi
yang memungkinkan browser
untuk terhubung dengan server web.
(Williams and Sawyer,2011,p.66).
Hypertext Transfer Protocol (HTTP) dikembangkan oleh Tim
Berners-Lee dan muncul di awal beberapa alamat web
contohnya
http://www.mcgraw-hill.com. Kebanyakan browser
berasumsi bahwa
semua alamat web
dimulai dengan http://
, sehingga jika ingin
mengakses web
tidak perlu mengetikkan http:// lagi, cukup
mengetikkan alamat website yang didepannya menggunakan www.
2.1.3.4 Web Server
Web Server
adalah program yang berjalan pada web site
dan
bertanggung jawab untuk merespon permintaan data oleh web browser.
Dibutuhkan web server
untuk menerbitkan dokumen pada web.
(Lemay,2000,p.23).
Ketika ingin membuka website
menggunakan web browser,
maka browser
meminta file
dengan cara melakukan koneksi ke web
server
menggunakan HTTP
protocol. Web server
menerima koneksi
itu, kemudian mengirimkan file
yang diminta oleh web browser
dan
kemudian web server
memutuskan koneksi tersebut. Web browser
kemudian melakukan format
terhadap file
yang diterima oleh web
server menjadi informasi untuk user.
2.1.3.5 Uniform Resource Locator (URL)
|
Uniform Resource Locator
(URL) adalah sebuah string
karakter yang menunjuk ke bagian tertentu dari informasi yang berada
dimana saja di web. (Williams and Sawyer,2011,p.65).
Untuk mengakses sebuah website
dibutuhkan alamat dari
website
tersebut, yaitu URL. Sebuah URL terdiri dari protokol web,
nama domain (nama web server), direktori (atau folder) pada server
dan nama file
yang berada dalam direktori tersebut (mungkin dengan
ekstensi seperti html atau htm). URL dengan kata lain, adalah sebuah
alamat dari website yang bersifat unik.
2.1.4
Menurut Whitten et al.(2007, p371), UML
adalah pemodelan yang
digunakan untuk menggambarkan sebuah sistem piranti lunak yang terkait
dengan objek. UML terdiri dari beberapa tipe diagram antara lain :
2.1.4.1 Use Case Diagram
Menurut Whitten et al. (2007, p246), use case
diagram adalah
diagram yang menggambarkan interaksi antara sistem, eksternal
sistem, dan pengguna. Diagram ini menyediakan informasi
mengenai
siapa saja yang akan menggunakan sistem tersebut dan bagaimana cara
untuk menggunakannya.
|
![]() Usecases
Menurut Whitten et al. (2007, p246), use-case modeling
mengidentifikasi serta mendeskripsikan fungsi dari sebuah
sistem dengan menggunakan peralatan yang dinamakan use
case. Use case juga mendeskripsikan fungsi sistem tersebut
dilihat dari sisi perspektif pengguna luar yang dimengerti oleh
mereka.
Actors
Menurut Whitten et al. (2007, p247),
actors
merupakan
sesuatu yang berinteraksi dengan sistem untuk saling bertukar
informasi. Actors
tidak harus berupa manusia, tetapi dapat
berupa suatu organisasi atau sistem informasi.
|
![]() Relationships
Menurut Whitten et al. (2007, p248),
relationship
digambarkan sebagai garis antara dua simbol pada use case
diagram. Arti dari setiap relationship
berbeda tergantung dari
bagaimana garis tersebut ditarik dan jenis simbol yang
terhubung. Berikut ini adalah jenis relationship
yang
ditemukan pada use case diagram, yaitu:
1.
Associations
Hubungan antara actor dan use case terjadi
apabila use case tersebut mendeskripsikan interaksi
antara kedua belah pihak. Hubungan ini ditujukkan
sebagai sebuah association. Association ditandai dengan
tebal antar actor dan use case, association
yang
mempunyai mata panah di ujungnya menandakan
bahwa use case telah diimitasi oleh actor
di tabel
lainnya. Apabila association tidak memiliki mata panah
di ujungnya menandakan interaksi antara use case dan
external server. Association juga dapat diartikan
sebagai lebih dari satu arah (bidirectional) atau satu
arah (unidirectional).
|
2.
Uses (or Includes)
Sebuah use case abstrak dapat digunakan oleh use
case
lain yang membutuhkan fungsionalitas dari use
case abstrak tersebut. Hubungan antara use case abstrak
dan use case
tersebut dapat diartikan sebagai uses
relationship. Uses relationship dapat ditunjukan dengan
garis yang mempunyai mata panah di ujungnya (garis
tebal atau garis putus-putus). Bermula dari original use
case dan menunjuk ke use case yang digunakan. Setiap
garis mempunyai label dibawahnya.
Use Case Narratives
Use case narrative adalah deskripsi tekstual dari kegiatan bisnis
dan deskripsi tentang bagaimana user akan berinteraksi dengan sistem
untuk menyelesaikan tugas. (Whitten and Bentley,2007,p.246). Contoh
dari use case narrative dapat dilihat pada gambar 2.4 ini.
|
![]() (Sumber : Whitten and Bentley,2007,p.257)
Use case narrative pada gambar 2.4 akan dijelaskan dibawah ini
yaitu :
1.
Author
Nama dari individu yang berkontribusi menulis use
case dan yang menyediakan informasi pada use case.
2.
Date Tanggal terakhir use case dimodifikasi.
3.
Version Versi use case saat ini
4.
Use-case name
Nama use case
harus merepresentasikan
tujuan dari use case tersebut. Penamaan harus dimulai dengan
kata kerja (contoh Enter New Member Order).
5.
Use-case type Dalam melakukan use-case modeling, business
requirements use case, yang berfokus pada visi strategis dan
|
tujuan dari berbagai stakeholders, di buat pertama. Tipe use
case
ini berorientasi bisnis dan merefleksikan tampilan high-
level dari sistem. Use case ini bebas dari detail teknis dan dapat
mengandung aktifitas manual dan juga aktifitas yang akan
diautomata. Business requirements use case
menyediakan
pemahaman umum tentang masalah domain dan cakupan tetapi
tidak mengandung detil untuk berkomunikasi dengan pihak
pengembang tentang apa yang sistem seharusnya bekerja.
6.
Use-case ID
Merupakan identifier
yang secara unik
mengidentifikasi use case.
7.
Priority
Menunjukan seberapa pentingnya use case
yang
dibuat. Priority ditunjukkan dengan tinggi, sedang atau rendah.
8.
Source
Mendefinisikan entity
yang memicu pembuatan dari
use case ini. Source
dapat berupa requirements, a specific
document or a stakeholder.
9.
Primary business actor
Merupakan stakeholder
yang sangat
dipengaruhi ketika use case
dieksekusi dengan menerima
sesuatu yang dapat diukur dan dapat diobservasi.
10.
Other participating actors Actors lainnya yang berpartisipasi
dalam use case
untuk mencapai tujuan. Actors
ini termasuk
initiating actors, facilitating actors, server/receiver actors dan
secondary actors. Selalu dijelaskan juga kelakukan dari actors
tersebut.
|
11.
Interested stakeholder(s)
Seorang stakeholder
adalah siapa
saja yang terlibat dalam pembuatan dan pengoperasian sistem
software. Seorang interested stakeholder
adalah orang yang
memiliki kepentingan dari tujuan use case (selain actor).
12.
Description
Merupakan rangkuman singkat yang
mengandung tujuan dari use case dan aktivitasnya.
Ketika sudah melakukan identifikasi dari use case maka use case
tersebut harus dikembangkan untuk mencakup use cases typical
course of events dan use cases alternate courses (pada gambar 2.5-
2.6). Use cases typical course of events
adalah langkah-langkah
deskripsi yang dimulai dari actor yang menginisiasi use case dan terus
berlanjut sampai akhir dari kegiatan bisnis. Use cases alternate
courses melakukan dokumentasi exception atau conditional branching
dari use case.
|
![]() (Sumber : Whitten and Bentley,2007,p.259)
|
![]() (Sumber : Whitten and Bentley,2007,p.260)
Expanded use case narrative ini mengandung beberapa item
yaitu :
1.
Precondition
Merupakan batasan dari sistem sebelum use
case dieksekusi. Biasanya, ini menunjuk pada use case
lainnya
yang harus dijalankan terlebih dahulu.
2.
Trigger
Merupakan event
yang menginisiasi eksekusi use
case.
3.
Typical course of events
Merupakan normal sequence of
activities
yang dilakukan oleh actor(s)
dan sistem dengan
maksud mencapai tujuan use case. Ini termasuk interaksi antara
|
sistem, actor
dan aktifitas yang dilakukan oleh sistem dalam
merespon setiap interaksi.
4.
Alternate courses
Alternate courses
mendokumentasikan
kelakuan use case jika terjadinya exception atau keadaan yang
sejenisnya pada typical course. Ini dapat terjadi ketika
terjadinya decision points
terhadap use case
atau terjadinya
exception yang memerlukan langkah-langkah tambahan diluar
dari cakupan typical course.
5.
Conclusion Conclusion melakukan spesifikasi ketika use case
berakhir dengan sukses, dengan kata lain, ketika actor
utama
menerima sesuatu yang dapat diukur.
6.
Postcondition Merupakan batasan dari sistem setelah use case
telah dieksekusi dengan sukses.
7.
Business rules
Business rules
menspesifikasi polis dan
prosedur bisnis yang harus ada pada sistem yang baru.
8.
Implementation constraints and specifications - Implementation
constraints and specifications menspesifikasi semua kebutuhan
yang tidak bekerja yang mungkin dapat memberi dampak pada
realisasi use case
dan dapat membantu pada semua
architectural planning and scoping. Items
yang termasuk
adalah frequency of occurrence, data volumes, interface
requirements dan seterusnya.
|
9.
Assumptions
Asumsi-asumsi yang dibuat ketika
mendokumentasi use case.
10.
Open issues
Setiap issues
yang butuh untuk diatasi atau
diinvestigasi sebelum use case difinalisasi.
2.1.4.2 Class Diagram
Class diagram
adalah sebuah gambaran dari struktur objek
sistem yang bersifat statis yang menunjukkan object classes
bahwa
bagaimana sistem terdiri dan menunjukkan hubungan antar object
classes. (Whitten and Bentley,2007,p.400).
Object classes adalah sekumpulan object instance yang memiliki
attribute
dan behaviors
yang sama. Object classes
seringkali disebut
sebagai class. (Whitten and Bentley,2007,p.373).
Object instance
merupakan setiap orang, tempat, benda atau
kegiatan yang spesifik dan juga merupakan value untuk attributes dari
object
tersebut. Object instance terkadang disebut sebagai object.
(Whitten and Bentley,2007,p.372).
Attribute merupakan data yang mewakili karateristik dari object.
Behavior merupakan kumpulan kegiatan yang object dapat lakukan
dan berhubungan dengan fungsi yang bertindak pada objects data
(atau attribute). Pada cakupan object oriented, behavior pada
umumumnya disebut method, operation, atau services. (Whitten and
Bentley,2007,p.372).
|
![]() Class diagram digunakan untuk menggambarkan class
pada
sistem dan hubungan diantaranya. Class
terdiri dari attribute
dan
behavior. Hubungan yang ada disetiap class diagram adalah
association, generalization/specialization, aggregation, composition.
Contoh dari class diagram dapat dilihat pada gambar 2.10 ini.
|
![]() Berikut ini adalah penjelasan tiap komponen pada gambar 2.7 :
1.
Visibility
ditetapkan untuk setiap attribute. Pada contoh ini
semua attribute adalah private yang ditandai dengan simbol -
.
2.
Merupakan method dan visibility.
3.
Arah passing message untuk hubungan assosiation.
Association
Association
adalah hubungan antara kedua class
yang ditandai
dengan garis yang menghubungkan keduanya, contoh hubungan adalah
:
Seorang Customer dapat memasukkan nol atau lebih Order.
Order dimasukkan hanya oleh satu Customer.
Jika digambarkan maka gambarnya (gambar 2.8) adalah :
(Sumber : Whitten and Bentley,2007,p.377)
Serta penjelasan masing-masing komponennya adalah :
1.
Merupakan object class.
2.
Garis yang melambangkan hubungan antar class.
3.
Kata kerja yang menjelaskan association.
|
![]() 4.
Merupakan multiplicity, yaitu angka maksimum dan minimum
kejadian dari satu object class
untuk kejadian tunggal pada
object class yang berhubungan.
Notasi penulisan multiplicity dapat dilihat pada tabel berikut :
Multiplicity
Notasi Penulisan
Persis 1
1 atau dibiarkan kosong.
Nol atau 1
0..1
Not atau lebih
0..*
1 atau lebih
1..*
Pada rentang tertentu
7..9
Generalization
Generalization
merupakan sebuah teknik dimana attributes dan
behaviors yang umum untuk beberapa tipe object classes digabungkan
menjadi supertype. Attributes dan methods dari supertype object class
di wariskan kepada subtype. (Whitten and Bentley,2007,p.373).
Contoh dari Generalization pada gambar 2.9 ini.
|
![]() (Sumber : Whitten and Bentley,2007,p.376)
Pada gambar diatas class Person
merupakan supertype, class
Student
dan Teacher
merupakan subtype
dari class Person. Class
Person
yang memiliki attribute
: lastName, firstName, birthdate,
gender dan memiliki method: walk(), jump(), talk(), sleep(), eat()
mewariskan attribute
dan methodnya kepada student
dan teacher
dengan dilambangkan anak panah kosong sehingga class Student
memiliki attribute
: lastName, firstName, birthdate, gender, GPA,
classification dan method
: walk(), jump(), talk(), sleep(), eat(),
enroll(), displayGPA() dan class Teacher memiliki attribute: lastName,
|
![]() firstName, birthdate, gender, rank serta method : walk(), jump(), talk(),
sleep(), eat(), lecture().
Aggregation
Aggregation
adalah hubungan dimana class whole yang lebih
besar mengandung satu atau lebih class part yang lebih kecil dan
sebaliknya class part yang lebih kecil adalah bagian dari class
whole yang lebih besar. (Whitten and Bentley,2007,p.378).
Contoh
dari aggregation dapat dilihat pada gambar 2.10 ini :
(Sumber : Whitten and Bentley,2007,p.379)
Pada gambar 2.10
class Team terdiri dari class Player yang
dilambangkan dengan simbol wajik kosong, hubungan ini diberikan
ciri-ciri dengan istilah whole-part dan is-part-of.
|
![]() Composition
Composition
adalah hubungan aggregation
dimana class
whole bertanggungjawab terhadap penciptaan dan penghancuran
dari class parts.
Jika class whole
mati maka class part
juga
mati bersamanya. (Whitten and Bentley,2007,p.378). Contoh dari
Composition dapat dilihat pada gambar 2.11 ini :
(Sumber : Whitten and Bentley,2007,p.379)
Composition
adalah bentuk yang lebih kuat dari aggregation.
Pada gambar diatas class Page
terdiri dari class Paragraph dan jika
class Page dihancurkan, maka otomatis class Paragraph juga hancur,
hubungan composition digambarkan dalam bentuk wajik penuh, karena
setiap part hanya milik satu whole maka multiplicity
hanya perlu
diberikan pada class part.
Visibility
|
![]() Dalam membuat class diagram dikenal istilah visibility. Visibility
adalah tingkatan akses external object untuk melakukan akses terhadap
attribute
atau method. (Whitten and Bentley,2007,p.650). Pada UML
ada 3 level visibility yaitu:
1.
Public ditunjukkan dengan simbol +
2.
Protected ditunjukkan dengan simbol #
3.
Private ditunjukkan dengan simbol -
Contoh dari visibility dapat dilihat pada gambar 2.12 :
(Sumber : Whitten and Bentley,2007,p.651)
Public attribute
dan method
dapat diakses dan dipanggil oleh
semua method pada semua class. Protected attribute dan method dapat
diakses dan dipanggil hanya oleh subclass dari class tersebut. Private
attribute dan method hanya dapat diakses dan dipanggil oleh class
itu
sendiri.
|
![]() 2.1.4.3 Activity Diagram
Menurut Whitten et al (2007, p382), activity diagram
menggambarkan aliran berurutan dari sebuah proses use
case
atau
business process. Selain itu, dapat juga digunakan untuk logika model
dengan sistem yaitu, menggambarkan tindakan (action) yang akan
dijalankan ketika suatu proses sedang berjalan dan beserta hasil dari
proses yang dijalankan tersebut.
Berikut ini merupakan komponen-komponen dalam activity
diagram menurut Whitten et al. (2007, p391), yaitu :
|
1.
Initial node
Bentuk lingkaran berisi penuh melambangkan awal dari
suatu proses.
2.
Actions
Bentuk persegi panjang yang mempunyai ujung lingkaran
yang melambangkan tahap-tahap per individu. Sequence
dari
actions
menunjukan total dari aktivitas yang dilihat dari
diagram.
3.
Flow
Panah pada diagram mengindikasikan kemajuan
(progress) dari sebuah actions. Kebanyakan flow
tidak
membutuhkan kata untuk mengidentifikasikan mereka kecuali
kata tersebut keluar dari decision.
4.
Decision
Bentuk wajib dengan satu flow
yang masuk beserta dua
atau lebih flow
yang keluar. Flow
yang keluar ditandai untuk
mengindikasikan beberapa kondisi.
5.
Merge
Bentuk wajib dengan dua atau lebih flow
yang masuk
beserta satu flow yang keluar. Kombinasi flow
ini sebelumnya
dipisahkan oleh decision. Proses akan berlanjut dengan adanya
satu flow yang menuju ke merge.
|
6.
Fork
Satu bar hitam dengan satu flow yang masuk beserta dua
atau lebih flow
yang keluar. Actions
dengan flow
pararel di
bawah fork
dapat terjadi dengan adanya urutan secara
bersamaan.
7.
Join
Satu bar
hitam dengan dua atau lebih flow
yang masuk
beserta satu flow
yang keluar, tercatat pada akhir dari proses
secara bersamaan. Semua actions
yang menuju join
harus
lengkap sebelum proses dapat berlanjut.
8.
Activity final
Bentuk lingkaran berisi penuh yang berada di dalam
lingkaran kosong, melambangkan akhir dari sebuah proses.
9.
Subactivity indicator
Simbol seperti sisir terbalik yang berada pada actions
mengindikasikan bahwa actions
telah keluar menuju activity
diagram
yang lain. Hal ini dapat membantu activity diagram
agar tidak menjadi terlalu kompleks.
10.
Connector
Huruf yang berada di dalam lingkaran dan memberikan
alat untuk mengatur kompleksitas. Flow
yang menuju
|
![]() connector
melompati flow
yang keluar dari connector
dengan
huruf yang sama.
2.1.4.4 Sequence Diagram
Sequence diagram
adalah diagram UML yang memodelkan
logika use case dengan cara menggambarkan interaksi messages antar
object di time sequence. (Whitten and Bentley,2007,p.659).
Sequence diagram
adalah cara untuk menggabungkan langkah-
langkah use case dengan object pada class diagram. Sequence diagram
digunakan sebagai alat komunikasi programmer
untuk menentukan
method
(behavior) yang dipanggil untuk implementasi use case.
Contoh sequence diagram dapat dilihat pada gambar 2.14 ini:
(Sumber : Whitten and Bentley,2007,p.659)
Adapun notasi yang digunakan pada gambar 2.14 antara lain :
1.
Actor
Actor yang berinteraksi dengan user interface
ditampilkan dengan simbol actor use case. Terkadang simbol
actor
tidak ditampilkan agar lebih simpel. Terkadang actor
|
ditampilkan berbentuk box seperti classes
dengan notasi
<<actor>>. Garis vertikal putus-putus yang diperpanjang
dibawah actor menunjukkan kehidupan sequence.
2.
Interface class
gambar box menunjukkan kode interface
class. Agar tidak menyebabkan kerancuan, maka diberikan
notasi <<interface>>. Tanda baca titik dua ( : ) adalah standar
notasi sequence diagram
yang menunjukkan instance
yang
sedang berjalan dari class
tersebut. Garis vertikal putus-putus
yang diperpanjang dibawah class
menunjukkan kehidupan
sequence.
3.
Controller class
Setiap use case
akan mempunyai satu atau
lebih controller class, yang digambarkan sama seperti interface
class dan ditulis <<controller>>.
4.
Entity class
Tambahkan box untuk setiap entity yang terlibat
dalam urutan. Sekali lagi, tanda baca titik dua ( : )
menunjukkan object instances, dengan kata lain, order
yang
spesifik, produk yang spesifik dan seterusnya.
5.
Messages Anak panah horisontal menunjukkan message yang
dikirim ke classes. Setiap message
memanggil behavior (atau
method) class
yang ditunjuk oleh anak panah. Aturan UML
untuk messages
yaitu kata pertama messages
ditulis dengan
huruf kecil lalu kata kedua dimulai dengan huruf besar tanpa
spasi. Semua parameter yang butuh untuk dikirim dimasukkan
dalam tanda kurung, penulisannya mengikuti aturan UML dan
tiap parameter dipisahkan dengan tanda koma.
|
![]() 6.
Activation bars -
palang yang berada di sepanjang lifeline
menunjukkan periode waktu object instace hidup.
7.
Return messages
panah horisontal putus-putus adalah return
messages. Setiap behavior seharusnya mengembalikan sesuatu,
setidaknya message benar/salah yang menunjukkan apakah
behavior tersebut berhasil dilakukan. Tetapi agar tetap simpel,
return message sering hanya diasumsikan dan tidak
ditampilkan.
8.
Self-call Sebuah object dapat memanggil methodnya sendiri.
9.
Frame
Merupakan frame box untuk menunjukkan adanya
situasi kondisi, perulangan.
Message adalah komunikasi yang terjadi ketika salah satu object
memanggil method
(behavior) dari object
lainnya untuk meminta
informasi atau action tertentu. (Whitten and Bentley,2007,p.378).
Object classes
saling berinteraksi atau berkomunikasi dengan
cara passing messages. Contoh messaging dapat dilihat pada gambar
2.15 ini.
|
(Sumber : Whitten and Bentley,2007,p.380)
Pada gambar 2.15, class Customer yang ingin check status order
saat ini, mengirim messages ke class Order
dengan cara memanggil
behavior dari class Order
yaitu displayStatus. Object
yang mengirim
pesan tidak perlu mengetahui bagaimana cara behavior
tersebut
bekerja. Sebuah message
hanya dapat dikirim antara objek yang
memiliki hubungan association.
2.1.5
PHP adalah bahasa server-side scripting
yang dirancang secara spesifik
untuk web. (Welling dan Thomson,2005,p.2). Kode PHP
dapat dimasukkan
didalam halaman HTML, anda dapat menyisipkan kode PHP
yang akan
dieksekusi setiap kali halaman tersebut dikunjungi.
PHP
merupakan projek open source, yang berarti anda memiliki akses
ke source code
dan bisa menggunakan, mengubah, dan mendistribusikan
ulang semuanya tanpa biaya. PHP
pada awalnya adalah singkatan dari
Personal Home Page
tetapi diganti seiring dengan berjalannya konvensi
penamaan rekursif GNU (GNU= Gnus Not Unix) dan sekarang menjadi PHP
Hypertext Preprocessor.
Pada perbandingan dari produk-produk tersebut, PHP memiliki banyak
kelebihan, yaitu :
1.
Performa yang tinggi
2.
Antar muka ke banyak sistem database yang berbeda
3.
Built-in libraries untuk banyak tugas web yang umum
4.
Harga yang murah
|
5.
Mudah dipelajari dan digunakan
6.
Mendukung orientasi objek yang kuat
7.
Portabilitas
8.
Ketersediaan source code
9.
Ketersediaan bantuan
2.1.6
Menurut Welling dan Thompson (2005, p3), MySQL merupakan
Relational Database Management System
(RDBMS) yang sangat cepat dan
kuat. Sebuah database
memungkinkan untuk menyimpan, mencari,
mengurutkan dan memperoleh data. Server
MySQL mengontrol akses pada
data untuk memastikan bahwa banyak user
dapat memakainya secara
bersamaan, untuk menyediakan akses yang cepat dalam mengakses data
tesebut, dan untuk memastikan bahwa hanya user
yang dikenali saja yang
dapat mengaksesnya. Maka dari itu, MySQL merupakan sebuah multiuser dan
multithread server. MySQL menggunakan Structured Query Language (SQL),
yaitu bahasa standar query database di dunia.
2.1.7
2.1.7.1 Interaksi Manusia dan Komputer
Ada lima faktor manusia terukur yang dapat dijadikan sebagai
pusat evaluasi menurut Shneiderman (2010, p32), yaitu :
a.
Waktu belajar
Waktu yang dibutuhkan oleh user untuk mempelajari cara
relevan dalam mengerjakan tugas dengan lancar.
|
b.
Kecepatan kinerja
Waktu yang diperlukan untuk mengerjakan suatu tugas
yang diberikan.
c.
Tingkat kesalahan
Berapa banyak kesalahan yang dilakukan oleh user
dan
kesalahan-kesalahan seperti apa yang bisa terjadi saat user
mengerjakan tugas tersebut.
d.
Daya ingat
Kemampuan user
mempertahankan pengetahuannya
setelah jangka waktu tertentu.
e.
Kepuasan subjektif
Kepuasan user terhadap berbagai aspek dari sistem.
Selain itu
ada
delapan aturan emas yang digunakan dalam
merancang antarmuka (Shneiderman, 2010, p88-89), yaitu:
a.
Mencoba untuk konsisten
Konsistesi merupakan aturan yang sering dilanggar
karena memiliki banyak bentuk konsistensi, antara lain urutan
aksi, istilah yang digunakan, warna, layout, kapitalisasi, huruf
dan lain-lainnya. Dengan tampilan yang konsisten akan
membantu user untuk merasa tetap berada dalam aplikasi yang
sama walaupun telah berpindah halaman.
b.
Memenuhi kebutuhan universal
|
Memenuhi kebutuhan universal maksudnya adalah
memahami kebutuhan user
yang bermacam-macam dan
membuat desain yang fleksibel yang mendukung perubahan
dalam konten. Perbedaan Novice-Expert, jarak umur, kecacatan
fisik, serta beragam teknologi masing-masing merupakan syarat
yang harus menjadi pertimbangan dalam desain.
c.
Memberikan umpan balik yang informatif
Umpan balik dari sistem harus ada pada setiap aksi user.
Untuk aksi kecil yang sering dilakukan, tanggapan dapat dibuat
dengan sederhana. Sedangkan untuk aksi besar dan jarang
dilakukan, respon hendaknya dibuat lebih tegas dan jelas agar
user dapat mengerti dengan jelas.
d.
Dialog untuk keadaan akhir
Urutan aksi hendaknya disusun menjadi kategori awal,
tengah, dan akhir. Untuk memberikan kepuasan pencapaian,
kelegaan, dan sebagai tanda untuk mempersiapkan diri
memasuki kategori aksi selanjutnya, dibuatlah umpan balik
yang informatif pada penyelesaian salah satu kategori aksi.
e.
Pencegahan kesalahan
Sedapat mungkin sistem didesain agar user
tidak dapat
membuat kesalahan yang serius. Contohnya tidak
memperbolehkan karakter alphabet pada kotak entry
nomor.
Interface
harus mendeteksi kesalahan dan memberikan
|
instruksi yang mudah dimengerti, membangun dan jelas untuk
memperbaikinya, jikalau user membuat kesalahan.
f.
Pembalikan aksi yang sederhana
Dalam suatu aplikasi, pada setiap aksi user harus terdapat
pembalikan aksi. Fitur ini dapat memperkecil kesalahan, karena
user tahu bahwa aksi bisa dibatalkan. Pembalikan bisa saja atas
satu aksi seperti saat memasukkan data, atau serangkaian aksi
seperti memasukkan nama dan alamat di kotak pengisian.
g.
Mendukung pusat kendali internal
User yang sudah terbiasa dengan suatu aplikasi, biasanya
ingin memiliki kendali atas antarmuka dan tanggapan pada
aksinya. Aksi antarmuka yang tidak seperti biasanya, rangkaian
pemasukan data yang membosankan, tidak bisa atau sulit
mendapatkan informasi yang diperlukan, dan tidak bisa
menghasilkan aksi yang diinginkan dapat menimbulkan
keresahan dan ketidakpuasan pada user.
h.
Mengurangi beban ingatan jangka pendek
Dikarenakan oleh keterbatasan manusia dalam
memproses informasi dalam jangka pendek, dibutuhkan
tampilan yang ringan, penggabungan halaman-halaman,
pengurangan frekuensi window-window, pemberian waktu
latihan yang cukup untuk kode-kode, hafalan, dan rangkaian
|
![]() aksi. Oleh karena itu, dalam setiap perancangan aplikasi
dibutuhkan alur aplikasi yang mudah diingat oleh user.
1.2
2.2.1
E-Commerce atau electronic commerce adalah pembelian dan penjualan
produk dan jasa melalui jaringan komputer. (Williams and Sawyer,
2011,
p.422) .
Tiga jenis utama dari sistem e-commerce sebagai berikut :
Business-to-Business (B2B) systems
Business-to-Business (B2B) systems
adalah bisnis yang menjual
ke bisnis lain, dengan menggunakan internet
atau jaringan pribadi
untuk memotong biaya transaksi dan meningkatkan efisiensi. Selain
menjual produk, sebuah bisnis juga dapat menjual iklan, training
karyawan, market research, technical support, pelayanan bank dan
bisnis lainnya
Business-to-Consumer (B2C) systems
Business-to-Consumer (B2C) systems adalah bisnis yang menjual
barang atau jasa kepada konsumen, atau anggota masyarakat umum.
Sistem e-commerce
jenis ini menghilangkan terutama para perantara
atau makelar.
Consumer-to-Consumer (C2C) systems
|
Consumer-to-Consumer (C2C) systems
adalah sistem dimana
konsumen menjual barang atau jasa langsung kepada konsumen
lainnya. (Williams and Sawyer,
2011,
p.424-425). C2C
terkadang
memerlukan perantara, perantara tersebut yang menjembatani antara
para konsumen yang ingin membeli dan menjual, lalu mengambil
sedikit keuntungan dari penjualan tersebut. Keuntungan dari C2C
e-
commerce adalah lebih murahnya biaya, skala yang kecil namun dapat
menghasilkan keuntungan. C2C
e-commerce
juga memungkinkan
banyak pemilik bisnis untuk menjual barang tanpa harus mendirikan
toko.
|
2.2.2
Pemasaran adalah suatu proses sosial dan manajerial di mana individu
dan kelompok mendapatkan apa yang mereka butuhkan dan inginkan melalui
penciptaan dan pertukaran produk dan nilai dengan yang lain (Kotler dan
Armstrong, 2001, p.6)
Lingkungan pemasaran terdiri dari sejumlah pelaku dan atau kekuatan
yang terlibat dalam aktivitas pemasaran dan mempengaruhi keberhasilan
pemasaran. Menurut Kotler dan Armstrong (2001, p.13) pelaku dan kekuatan
dalam lingkungan pemasaran mempengaruhi kemampuan manajemen dalam
mengembangkan dan memelihara keberhasilan hubungan dengan pasar
sasarannya.
Lingkungan pemasaran terdiri dari lingkungan mikro dan
lingkungan makro. Lingkungan pemasaran mikro terdiri dari perusahaan,
pemasok, perantara, konsumen dan pesaing (Kotler dan Armstrong, 2001,
p.88). Sedangkan lingkungan pemasaran makro terdiri dari kekuatan societal
lebih luas yang mempengaruhi lingkungan mikro; meliputi demographic,
economic, natural, technological, political
dan cultural
(Kotler dan
Armstrong, 2001, p.93). Dalam hal ini pemasaran melibatkan sejumlah fungsi
manajerial yang saling berhubungan dalam suatu proses manajemen, yaitu
analysis, planning, implementation dan control (Kotler dan Armstrong, 2001,
p.69)
|
Kotler & Keller (2001, p13) menganjurkan pemilihan salah satu dari
lima generic value strategis, masing-masing yaitu:
1.
More for less.
2.
More for same.
3.
Same for less.
4.
More for more.
5.
Less for less.
Lima generic value strategis
(strategis nilai generik) di atas dapat
diuraikan sebagai berikut:
1.
More for less artinya bahwa perusahaan memberikan manfaat (benefit)
yang lebih kepada pelanggan yang disertai biaya (cost) yang lebih
rendah, jika dibandingkan dengan manfaat dan biaya yang diberikan
pesaing.
2.
More fore same
adalah perusahaan memberikan manfaat yang lebih
kepada pelanggan jika dibandingkan dengan pesaing, namun biaya
yang ditawarkan sama dengan pesaing.
3.
Same for less
adalah memberikan kemanfaatan yang sama dengan
pihak pesaing kepada pelanggan dengan biaya yang lebih rendah.
4.
More for more
adalah strategi perusahaan dimana produk yang
ditawarkan memberikan manfaat yang lebih, disertai juga biaya yang
lebih tinggi dibandingkan dengan produk pesaing.
5.
Less for less
yaitu memberikan manfaat yang rendah dan biaya yang
rendah, jika dibandingkan dengan pihak pesaing.
|
Jadi bahwa nilai yang diberikan pelanggan melalui produk atau merek
yang diciptakannya, tidaklah selalu berarti benefit yang tinggi dan biaya yang
lebih rendah dibandingkan pesaingnya. Yang penting adalah bagaimana
perusahaan memiliki suatu keunggulan dari pesaing, baik itu dari benefit yang
diberikan ataupun biaya yang ditawarkan.
2.2.3
Agribisnis adalah bisnis berbasis usaha pertanian atau bidang lain yang
mendukungnya, baik di sektor hulu maupun di hilir. Penyebutan "hulu" dan
"hilir" mengacu pada pandangan pokok bahwa agribisnis bekerja pada rantai
sektor pangan (food supply chain). Agribisnis, dengan perkataan lain, adalah
cara pandang ekonomi bagi usaha penyediaan pangan. Sebagai subjek
akademik, agribisnis mempelajari strategi memperoleh keuntungan dengan
mengelola aspek budidaya, penyediaan bahan baku, pascapanen, proses
pengolahan, hingga tahap pemasaran.
Istilah "agribisnis" diserap dari bahasa Inggris: agribusiness, yang
merupakan portmanteau
dari agriculture
(pertanian) dan business
(bisnis).
Dalam bahasa Indonesia dikenal pula varian anglisismenya, agrobisnis.
Objek agribisnis dapat berupa tumbuhan, hewan, ataupun organisme
lainnya. Kegiatan budidaya merupakan inti (core) agribisnis, meskipun suatu
perusahaan agribisnis tidak harus melakukan sendiri kegiatan ini. Apabila
produk budidaya (hasil panen) dimanfaatkan oleh pengelola sendiri, kegiatan
ini disebut pertanian subsisten, dan merupakan kegiatan agribisnis paling
primitif. Pemanfaatan sendiri dapat berarti juga
menjual atau menukar untuk
memenuhi keperluan sehari-hari.
|
Dalam perkembangan masa kini agribisnis tidak hanya mencakup
kepada industri makanan saja karena pemanfaatan produk pertanian telah
berkaitan erat dengan farmasi, teknologi bahan, dan penyediaan energi.
|