BAB 2 LANDASAN TEORI
2.1.
Landasan Teori 2.1.1. Waterfall Model Model air terjun, terkadang disebut siklus hidup klasik, menunjukkan pendekatan, sistematis sekuensial untuk pengembangan perangkat lunak yang dimulai dengan pelanggan menspesifikasi persyaratan yang diinginkan dan berlangsung melalui perencanaan, pemodelan, konstruksi, dan penyebaran, yang berpuncak pada dukungan yang berkelanjutan dari perangkat lunak yang telah selesai. (Pressman, 2010, P.39)
Gambar 2.1 Waterfall Model
Tahapan dari Waterfall Model merefleksikan pokok-pokok dari aktivitas pengembangan:
Communication (Requirements gathering) Layanan yang diberikan oleh sistem, batasan sistem, dan tujuan ditetapkan setelah melakukan konsultasi dengan pengguna
10
11
sistem. Semua didefinisikan secara rinci dan dibuat sebagai spesifikasi dari sistem.
Planning (Estimating, scheduling, tracking) Pada tahap ini, dilakukanlah perencanaan. Perencanaan untuk pembuatan
sistem
melibatkan
pengidentifikasian
dan
penjelasan dari abstraksi sistem dan hubungannya, perkiraan waktu pengerjaan, penjadwalan .
Modelling (analysis design) Pada tahap ini, perancangan design dari sistem yang ingin dibuat seperti apa.
Construction (Coding and system test) Perancangan sistem dimulai pada tahap ini menjadi sebuah pemrograman atau unit program. Lalu dilakukan pengujian unit yang melibatkan verifikasi untuk memastikan apakah setiap unit memenuhi spesifikasi sistem. Setiap unit program dan program-program yang sudah ada diintegrasikan dan diuji sebagai satu keutuhan sistem untuk memastikan apakah kebutuhan
sistem
sudah
terpenuhi.
Setelah
melakukan
pengujian, sistem baru disebarkan ke pengguna.
Deployment (Delivery, support, feedback) Dilakukan instalasi terhadap sistem dan digunakan dalam prakteknya. Maintenance melibatkan koreksi terhadap error yang tidak ditemukan pada tahap sebelumnya, memperbaiki implementasi dari unit sistem dan meningkatkan layanan yang diberikan oleh sistem sebagai kebutuhan baru yang ditemukan.
12
Serta memberikan bantuan kepada user yang mengalami kendala.
2.1.2.
Unified Modelling Language Unified Modeling Language (UML) adalah “bahasa standar untuk menulis denah perangkat lunak. UML dapat digunakan untuk memvisualisasikan,
menentukan,
membangun,
dan
mendokumentasikan artefak dari sistem perangkat lunak-intensif“. Dengan kata lain, seperti arsitek bangunan membuat denah yang akan digunakan oleh sebuah perusahaan konstruksi, arsitek software membuat diagram UML untuk membantu pengembang perangkat lunak membangun perangkat lunak. Jika Anda memahami kosakata UML (diagram elemen piktorial dan artinya), Anda dapat lebih mudah memahami dan menentukan sistem dan menjelaskan desain sistem yang kepada orang lain (Pressman, 2010, P.841).
2.1.2.1.
Class Diagram Untuk merancang kelas, termasuk atribut mereka, operasi, dan hubungan mereka dan asosiasi dengan kelas lainnya, UML menyediakan diagram kelas. Sebuah diagram kelas memberikan pandangan statis atau struktural dari sistem. Ini tidak menunjukkan sifat dinamis dari komunikasi antara objek kelas dalam diagram. Unsur-unsur utama dari diagram kelas adalah kotak, yang merupakan ikon yang digunakan untuk mewakili kelas dan interface. Setiap kotak dibagi
13
menjadi bagian-bagian horisontal. Bagian atas berisi nama kelas. Bagian tengah daftar atribut dari kelas. Atribut mengacu pada sesuatu yang merupakan obyek yang dikenali oleh class. Atribut biasanya diimplementasikan sebagai bidang kelas, tetapi mereka tidak perlu. Mereka dapat menjadi nilai-nilai yang dapat dihitung oleh kelas dari variabel atau nilai-nilai yang bisa didapatkan kelas dari objek – objek lain. (Pressman, 2010, P.842)
Gambar 2.2 Contoh Class Diagram
2.1.2.2.
Use-Case Diagram Sebuah UML use case diagram adalah gambaran dari semua kasus penggunaan dan bagaimana mereka berhubungan. Ini memberikan gambaran besar dari fungsi sistem. Sebagai contoh, aplikasi mesin penjual otomatis mungkin memiliki tiga aktor yang mewakili pelanggan, teknisi perbaikan, dan vendor yang mengisi ulang
mesin.
Dalam
diagram
use
case,
kasus
penggunaan ditampilkan sebagai oval. Para aktor terhubung oleh garis dengan kasus penggunaan yang
14
mereka lakukan. Perhatikan bahwa tidak ada rincian kasus penggunaan termasuk didalam diagram dan sebagai gantinya perlu disimpan secara terpisah. Perhatikan juga bahwa kasus penggunaan ditempatkan dalam persegi panjang tapi aktor tidak. Persegi panjang ini adalah pengingat visual dari batas-batas sistem dan bahwa aktor berada di luar sistem. Beberapa kasus penggunaan dalam sistem yang mungkin berkaitan satu sama lain. Misalnya, ada beberapa langkah yang sama dalam "membakar" daftar lagu ke CD dan memuat daftar lagu ke iPod. Dalam kedua kasus, pengguna pertama menciptakan daftar kosong dan kemudian menambahkan lagu dari perpustakaan ke dalam daftar. Untuk menghindari duplikasi dalam kasus penggunaan, biasanya lebih baik untuk membuat kasus penggunaan baru yang mewakili kegiatan yang digandakan, dan kemudian
membiarkan
kegunaan
lain
kasus
ini
termasuk kasus penggunaan baru sebagai salah satu langkah mereka (Pressman, 2010, P847-848).
15
Gambar 2.3 Contoh Use-Case Diagram
2.1.2.3.
Sequence Diagram Sebuah
diagram
urutan
digunakan
untuk
menunjukkan komunikasi yang dinamis antara obyek selama pelaksanaan tugas. Ini menunjukkan urutan temporal di mana pesan yang dikirim antara objek untuk menyelesaikan tugas itu. Orang mungkin menggunakan diagram urutan untuk menunjukkan interaksi dalam satu kasus penggunaan atau di salah satu skenario dari sistem perangkat lunak. Sebuah diagram urutan menunjukkan panggilan metode menggunakan panah horizontal dari pemanggil ke penerima, diberi label dengan nama metode dan secara opsional termasuk
16
parameter, jenis mereka, dan jenis pengembalian (Pressman, 2010, P848-850).
Gambar 2.4 Contoh Sequence Diagram
2.1.2.4.
Activity Diagram Sebuah diagram aktivitas UML menggambarkan perilaku dinamis dari suatu sistem atau bagian dari sistem melalui aliran kontrol antara aksi yang dilakukan sistem. Sebuah diagram aktivitas UML menggambarkan perilaku dinamis dari suatu sistem atau bagian dari sistem melalui aliran kontrol antara aksi bahwa sistem melakukan. Hal ini mirip dengan flowchart kecuali bahwa suatu diagram aktivitas dapat menunjukkan aliran bersamaan. Komponen utama dari suatu diagram aktivitas adalah Node aksi, diwakili oleh persegi panjang bulat, yang sesuai dengan tugas yang dilakukan oleh sistem perangkat lunak. Panah dari satu node aksi
17
lainnya menunjukkan aliran kontrol. Artinya, panah antara dua node aksi berarti bahwa setelah aksi pertama selesai aksi kedua dimulai. Sebuah titik hitam pekat membentuk node awal yang menunjukkan titik awal kegiatan. Sebuah titik hitam yang dikelilingi oleh lingkaran hitam adalah node akhir yang menunjukkan akhir kegiatan. Fork merupakan pemisahan kegiatan menjadi dua atau lebih kegiatan bersamaan. Hal ini digambarkan sebagai bar hitam horizontal dengan satu panah menunjuk kepadanya dan dua atau lebih anak panah menunjuk darinya. Setiap panah keluar mewakili aliran kontrol yang dapat dijalankan bersamaan dengan arus yang sesuai dengan panah keluar lainnya. Kegiatan bersamaan ini dapat dilakukan pada komputer dengan menggunakan benang yang berbeda atau bahkan menggunakan komputer yang berbeda.
18
Gambar 2.5 Contoh Activity Diagram
Sebuah node keputusan berkaitan dengan suatu cabang di aliran kontrol berdasarkan kondisi. Seperti node ditampilkan sebagai segitiga putih dengan panah masuk dan dua atau lebih anak panah keluar. Setiap panah keluar diberi label dengan penjaga (suatu kondisi di dalam tanda kurung siku). Aliran kontrol mengikuti panah keluar penjaga yang benar. Dianjurkan untuk memastikan
bahwa
kondisi
mencakup
semua
kemungkinan sehingga tepat satu dari mereka benar
19
setiap kali node keputusan tercapai (Pressman, 2010, P853-854).
2.1.3. Software Engineering Software engineering adalah disiplin teknik yang berkaitan dengan semua aspek produksi perangkat lunak dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah itu perangkat lunak sudah mulai digunakan. Dalam definisi ini, ada dua frase kunci: 1.
Disiplin
teknik
membuat
sesuatu
bekerja.
Mereka
menerapkan teori, metode, dan alat-alat di mana keduanya tepat. Namun, mereka menggunakannya selektif dan selalu mencoba untuk menemukan solusi untuk masalah bahkan ketika tidak ada teori dan metode yang dapat aplikatif. Insinyur juga mengakui bahwa mereka harus bekerja untuk kendala organisasi dan keuangan sehingga mereka mencari solusi dalam kendala. 2. Semua aspek rekayasa perangkat lunak production software tidak hanya berkaitan dengan proses teknis dari pengembangan perangkat lunak. Ini juga mencakup kegiatan seperti manajemen proyek perangkat lunak dan pengembangan alat, metode, dan teori untuk mendukung produksi perangkat lunak. Teknik adalah tentang mendapatkan hasil kualitas yang diperlukan dalam jadwal dan anggaran. Hal ini sering kali melibatkan kompromi membuat insinyur tidak dapat perfeksionis. Orang-orang menulis program untuk diri mereka sendiri, bagaimanapun, bisa
20
menghabiskan
waktu
sebanyak
yang
mereka
inginkan
pada
pengembangan program (Sommerville, 2011, P.7-9).
2.1.4. MySQL MySQL adalah salah satu jenis database yang banyak digunakan untuk membuat aplikasi berbasis web yang dinamis. MySQL termasuk jenis RDBMS (Relational Database Management System). MySQL ini mendukung bahasa pemrograman PHP. MySQL juga mempunyai query atau bahasa SQL (Structured Query Language) yang simple dan menggunakan escape character yang sama dengan PHP (Kurniawan, 2010:16). MySQL adalah sebuah program open source. Open source berarti bahwa memungkinkan bagi siapa saja untuk menggunakan dan memodifikasi software tersebut. Siapa saja dapat mengunduh MySQL dari internet dan menggunakannya secara gratis. MySQL dapat diunduh pada halaman web www.mysql.com/downloads/ . Source code pada MySQL dapat dipelajari dan diubah sesuai dengan kebutuhan pemakainya. Perangkat lunak MySQL menggunakan GPL (General Public License) untuk menentukan apa yang boleh dan tidak boleh dilakukan dengan perangkat lunak dalam situasi yang berbeda.
2.1.5. PHP PHP adalah bahasa pemrograman untuk dijalankan melalui halaman web, umumnya digunakan untuk mengolah informasi di internet. Sedangkan dalam pengertian lain PHP adalah singkatan dari
21
PHP Hypertext Preprocessor yaitu bahasa pemrograman web serverside yang bersifat open source atau gratis. PHP merupakan script yang menyatu dengan HTML dan berada pada server (server side HTML embedded scripting) (Kurniawan, 2010:2) PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP adalah script yang digunakan untuk membuat halaman web yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru atau up to date. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan. 2.1.6. Database Database adalah Sebuah koleksi bersama data secara logis berhubungan (dan deskripsi dari data ini), yang dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi. Database adalah, satu kemungkinan besar, repositori data yang dapat digunakan secara bersamaan oleh banyak departemen dan pengguna. Semua data yang dibutuhkan oleh para pengguna yang terintegrasi dengan jumlah minimum duplikasi. Yang penting, database biasanya tidak dimiliki oleh satu departemen atau pengguna tetapi merupakan sumber daya perusahaan bersama. Serta memegang data operasional organisasi, database memegang deskripsi data ini. Untuk alasan ini, database juga didefinisikan sebagai kumpulan self-describing catatan terintegrasi. Deskripsi data, yaitu metadata - 'data tentang data,' yang dikenal sebagai sistem katalog atau kamus data. Ini adalah sifat self-describing
22
dari database yang menyediakan apa yang dikenal sebagai independensi data. Ini berarti bahwa jika data baru struktur ditambahkan ke database atau struktur yang ada dalam database yang dimodifikasi, maka aplikasi database yang menggunakan database tidak terpengaruh, asalkan mereka tidak secara langsung bergantung pada apa yang telah dimodifikasi. Istilah terakhir dalam definisi database yang kita harus menjelaskan adalah 'logika terkait. "Ketika kita menganalisis kebutuhan informasi organisasi, kami mencoba untuk mengidentifikasi benda-benda penting yang perlu diwakili dalam database dan hubungan logis antara benda-benda. (Connolly and Begg, 2008, P.7-8) 2.1.7. Internet Internet merupakan sebuah kumpulan dari jaringan komputer yang saling berhubungan. Pada kenyataannya internet merupakan kependekan dari “Interconnected Network”. Internet dimana yang menggunakan sekumpulan aturan, dan menghubungkan jaringan komputer seluruh dunia. Jaringan antar komputer dan internet yang menghubungkan mereka satu sama lain dalam bentuk yang mewakili electronic commerce .(Schneider, G.P,2011,p55). 2.1.8. Website Website atau situs dapat diartikan sebagai kumpulan halaman yang menampilkan informasi data teks, data gambar diam atau gambar gerak, data animasi, suara, video, dan atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait dimana masing – masing
23
dihubungkan dengan jaringan – jaringan halaman (hyperlink). Bersifat statis apabila isi informasi website tetap, jarang berubah, dan isi informasinya searah hanya dari pemilik website. Bersifat dinamis apabila isi informasi website selalu berubah – ubah, dan isi informasinya interaktif dua arah berasal dari pemilik serta pengguna website. Website merupakan salah satu wadah yang menawarkan informasi dan hiburan, serta situs transaksi e-commerce antara bisnis dan pemasok serta pelanggan (O’Brien, 2006, p262).
2.1.9. World Wide Web (WWW) Berners-Lee
menyebut
HTML
yang
telah
dihyperlink
merupakan sebuah World Wide Web. Web ditanggap sangat cepat oleh kelompok Science Researcher. Web pages deprogram secara spesifik untuk tetap ada dalam bentuk permanen. Web menyediakan akses ke dalam web pages yang telah dimodifikasi yang dibuat berdasarkan respon query daripada user.(Schneider, G.P,2011,p61).
2.1.10. E-Business Menurut Carter (2002, p3) E-business memiliki banyak tipe dari berbagai arti yang berbeda – beda terhadap orang yang berbeda pula. Arti – arti ini memiliki arti dari yang umum sampai arti khusus. •
IBM menggunakan arti yang mereferensi kepada konsep yang lebih besar yang membuat semua orang memilih e-commerce dan menggunakan e-commerce untuk aktivitas yang melibatkan transaksi bisnis.
24
•
Sebagian orang menggunakan aturan untuk memilih kepada aktivitas e-commerce yang melibatkan transaksi bisnis. Menurut Buku ini, e-business lebih cenderung untuk mengatur tipe – tipe bisnis melalui internet. Tipe ini melibatkan cara mengatur “Virtual Business” atau “Electronic Storefronts” dalam World Wide Web. Meskipun beberapa organisasi baru dapat mengatur semua bisnis mereka seperti cara lain menjangkau customer mereka.
•
Sebagian orang menggunakan aturan aktivitas ecommerce yang mengatur secara eksklusif antara bisnis, yang sering diartikan sebagai b2b e-commerce.
2.1.11. Interaksi Manusia dan Komputer (IMK) Menurut Schneiderman (2010, p88-89) Interaksi Manusia dan Komputer merupakan disiplin ilmu yang berhubungan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia serta studi fenomena – fenomena besar yang berhubungan dengannya. Tujuan dari ilmu ini adalah untuk membangun atau merancang suatu sistem yang aman, sesuai dengan kebutuhan, efektif, efisien dan dapat dipakai. Konsep utama dari interaksi manusia dan komputer adalah bagaimana membuat sistem yang mudah dipelajari dan digunakan. 2.1.11.1. Eight Golden Rules Elemen-elemen dari delapan aturan emas antara lain adalah: 1.
Konsistensi
25
Konsisten terhadap seluruh aksi harus sama dalam segala keadaan. Penginformasian yang sama harus dugunakan dalam notifikasi, menu, dan help, serta warna, layout, font, dan kapitalisasi yang konsisten. Pengecualian, seperti konfirmasi menghapus harus dibatasi.
2.
Memenuhi kebutuhan universal Mengenali kebutuhan user yang beragam, dan desain untuk plasticity, dan memfasilitasi transformasi konten. Pemula sampai pakar, rentang umur, ketidakmampuan, dan keragaman teknologi yang memperkaya kebutuhan akan desain. Penambahan fitur untuk pemula, seperti penjelasan, dan fitur untuk yang pakar, seperti shortcut, dan pengembalian yang cepat dapat memperkaya desain interface dan dapat meningkatkan kualitas dari sistem itu.
3.
Menawarkan umpan balik yang informatif Untuk setiap aksi dari user, harus ada umpan balik. Untuk aksi yang sering dan minor, respon dapat secara sederhana, tetapi dalam aksi yang jarang dan mayor, responnya harus secara substansial. Presentasi visual dari obyek yang menarik untuk menampilkan perubahan secara eksplisit.
4.
Dialog penutupan
desain
untuk
menghasilkan
26
Setiap aksi harus disusun dalam kelompok dengan permulaan, informatif
pertengahan, pada
dan
akhir.
penyelesaian
Umpan
sekelompok
balik
tindakan
memberikan operator kepuasan prestasi, rasa lega, sinyal untuk menjatuhkan rencana kontingensi dari pikiran mereka, dan indikator untuk mempersiapkan tindakan kelompok berikutnya.
5.
Mencegah kesalahan Sebisa mungkin, mendesain sistem yang memungkinkan user tidak dapat membuat kesalahan yang fatal. Jika user membuat kesalahan, interface-nya harus mendeteksi adanya kesalahan, dan menganjurkan instruksi yang mudah, membangun, dan spesifik untuk pemulihan. Aksi yang sangat menyalahkan harus meninggalkan status sistem tidak dirubah, atau interface-nya harus memberi instruksi tentang memulihkan status tersebut.
6.
Mengijinkan pengembalian aksi yang mudah Sebanyak mungkin, aksi harus bisa dikembalikan. Fitur ini mencerminkan kesungguhan, sejak user mengetahuui bahwa kesalahan dapat diperbaiki, dan keinginan untuk mengeksplorasi opsi yang tidak familiar. Unit yang data dikembalikan mungkin berupa aksi tunggal, data-entry task, atau sekumpulan aksi yang lengkap.
27
7. Mendukung pusat kendali internal User
yang
berpengalaman
menyadari
secara
kuat
keinginan bahwa mereka berpartisipasi dalam interface dan respon dari interface tersebut terhadap aksi mereka. Mereka tidak ingin mengejutkan atau menganti sifat yang familiar, dan mereka terganggu dengan data-entry yang berantakan, kesulitan dalam mendapatkan informasi yang diinginkan, dan ketidakmampuan untuk menghasilkan hasil yang diinginkan.
8. Mengurangi beban ingatan jangka pendek Keterbatasan manusia dalam memproses informasi dalam ingatan jangka pendek membuat pendesain menghindari interface yang membuat user harus mengingat informasi dari suatu tampilan, dan juga menggunakan informasi tersebut dalam tampilan lain. Ini menandakan bahwa handphone tidak harus mengisi kembali nomer ponsel, alamat website harus terlihat jelas, halaman yang banyak harus dapat dikonsolidasi, dan waktu training yang cukup untuk aksi yang kompleks.