BAB 2 LANDASAN TEORI
1.1
Teori yang Berkaitan dengan Teknologi Informasi 1.1.1 Software 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).
Gambar 2.1 The Waterfall Model 2.1.2 Database 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
mengembangkan
yang
berfungsi
program-program
aplikasi
untuk yang
diperlukan dalam manajemen basis data. •
End Users End Users adalah client dari database yang telah dirancang dan diimplementasikan.
2.1.3 Internet Internet
adalah
menghubungkan ratusan
jaringan
komputer
di
seluruh
dunia
yang
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 Unified Modeling Language (UML) 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.
Gambar 2.2 Use Cases •
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.
Gambar 2.3 Actors
•
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.
Gambar 2.4 Use Case Narrative (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 highlevel 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 case’s typical course of events dan use case’s alternate courses (pada gambar 2.52.6). Use case’s 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 case’s alternate courses melakukan dokumentasi exception atau conditional branching dari use case.
Gambar 2.5 Expanded Use Case Narrative (Sumber : Whitten and Bentley,2007,p.259)
Gambar 2.6 Expanded Use Case Narrative (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 object’s 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.
Gambar 2.7 Contoh Class Diagram
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 :
Gambar 2.8 Customer and Order Association (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 :
Tabel 2.1 Multiplicity Notation 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.
Gambar 2.9 Contoh Generalization (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 :
Gambar 2.10 Contoh Aggregation (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 :
Gambar 2.11 Contoh Composition (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 :
Gambar 2.12 Contoh Visibility (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.
Gambar 2.13 Contoh Activity Diagram 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 langkahlangkah 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:
Gambar 2.14 Contoh Sequence Diagram (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 <
>. 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 <>. 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 <>.
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.
Gambar 2.15 Contoh Messaging
(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 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= Gnu’s 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 MySQL 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 Human Interface 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
Teori Khusus 2.2.1 E-Commerce 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 ecommerce 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 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 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.