BAB 2 LANDASAN TEORI
Teori Umum 2.1 Software Engineering 2.1.1 Definisi Menurut Fritz Bauer (Pressman, 2005, p53), software engineering adalah pembentukan dan penggunaan prinsip engineering untuk mendapatkan software yang ekonomis yang dapat diandalkan dan bekerja secara efisien pada mesin. Sedangkan menurut Timothy C Lethbridge dan Robert Laganiere (McGrawHill, 2005, p5) mendefinisikan software engineering yaitu proses dimana memecahkan masalah customer dengan pengembangan yang sistematik dan sebuah perkembangan yang besar, kualitas yang tinggi dari sistem software dengan harga, waktu dan pembatas lainnya. Software Engineering juga dapat diartikan sebagai berikut : 1. Suatu instruksi atau perintah dalam suatu program komputer yang dieksekusi akan memberikan fungsi dan hasil yang diharapkan 2. Struktur data yang memungkinkan program dapat memanipulasi data atau informasi 3. Dokumen yang menjelaskan bagaimana pengoperasian dan penggunaan dari sebuah program. 2.1.2 Metode Pengembangan Metode pengembangan yang digunakan adalah metode pengembangan waterfall model. Waterfall model adalah proses pengembangan perangkat lunak berurutan, dimana kemajuan terus mengalir kebawah(seperti air terjun) melewati fase-fase komunikasi, perencanaan, pemodelan, implementasi(konstruksi) dan
pengujian. Waterfall model yang bisa disebut juga sebagai classic life cycle menyarankan pendekatan yang sistematis dan berurutan untuk pengembangan software yang dimulai dengan spesifikasi kebutuhan customer dan mengembangkan perencanaan, permodelan, rancangan dan penyebaran dan akhirnya berakhir pada dukungan penyelesaian software. (Pressman, 2010,p15-39).
Gambar 2.1 Waterfall Model 1. Communication Sebelum pekerjaan teknis dapat dimulai, sangat penting untuk tahu permintaan-permintaan apa yang diinginkan dan dibutuhkan konsumen. Kegiatan awal, mengumpulkan, menganalisa dan memproses data yang diperoleh melalui wawancara ataupun kuesioner serta diskusi. Pengumpulan data dan analisis membentuk suatu landasan yang solid untuk desain dan konstruksi. 2. Planning Bukan hanya seorang arsitek yang harus memiliki design dalam merancang bangunannya, software engineering pun membuat design agar dapat memahami masalah dan bagaimana akan mengatasinya. Dengan cara dengan menciptakan model untuk lebih memahami persyaratan perangkat lunak dan desain yang akan mencapai kebutuhan tersebut
3. Modeling Pada tahap ini, dibuat prototype agar customer dapat melihat secara sementara bagaiman dengan aplikasi yang sesuai dengan pesanan konsumen. Pada tahap ini juga konsumen dapat menambah atau mengurangi aplikasi yang tidak dibutuhkan atau yang diinginkan olehnya. 4. Construction Pada tahap ini, aplikasi sudah selesai dibuat dan dapat digunakan. Tetapi bukan hanya itu, pada tahap ini juga dapat dilihat bagaimana aplikasi tersebut bekerja sama dengan sistem lain. Apabila ada error, mesti diperbaiki lagi. 5. Maintenance Ini merupakan tahap akhir, dimana tahap ini aplikasi tersebut dipelihara dengan baik sehingga kurang terjadinya kerusakan. Apabila ada kerusakan, teknisi dapat dipanggil untuk dimintai bantuan. Kelima tahapan diatas dapat digunakan selama pembuatan program yang kecil, sederhana, mengkreasikan aplikasi web yang besar dan rekayasa skala besar serta sistem berbasis komputer yang kompleks. 2.2 Pengertian Internet Internet adalah sistem global yang menghubungkan jaringan komputer yang menggunakan standar Internet Protocol Suite(TCP/IP). Pada awalnya, internet hanya menghubungkan 4 universitas di Amerika Serikat. Internet pada saat itu disebut ARPANET. ARPANET (Advanced research Project Agency Network) adalah jaringan komputer yang dibuat oleh ARPA (Advanced Research Project Agency) dari Departemen Pertahanan Amerika Serikat pada tahun 1969. ARPANET difungsikan sebagai sarana percobaan teknologi jaringan komputer terbaru pada jamannya,
seperti teknologi packet switching dan menjadi permulaan berdirinya internet yang ada sekarang. 2.3 World Wide Web Menurut Sebesta(2008,p24), “World Wide Web” (WWW) adalah kumpulan dari dokumen-dokumen yang saling terhubung oleh link-link dalam sebuah halaman. Dokumen-dokumen yang terdapat dalam halaman tersebut diakses oleh web browser. Menurut Levine(2010,p89), “World Wide Web” (WWW) adalah kumpulan halaman informasi yang saling terhubung antara satu dengan yang lain diseluruh dunia. Setiap halaman dapat berisi kombinasi dari teks, gambar, klip suara, klip video, animasi dan lain-lain 2.4 Web Browser Menurut Rasul(2008,p37), web browser adalah perangkat lunak yang berfungsi menampilkan dokumen-dokumen yang terdapat dalam sebuah situs web. Web browser pertama dibuat berbasiskan teks. Namun seiring dengan perkembangan teknologi yang semakin cepat, web browser saat ini mampu menampilkan berbagai konten di dalam suatu website dari kumpulan teks hingga animasi yang membuat website terlihat menarik. 2.5 Web Application Sebuah Web Apllication(atau disebut “webapp”) adalah sebuah konsep yang diperkenalkan didalam Servlet Specification versi 2.2. web application atau aplikasi web adalah suatu aplikasi yang dapat diakses melalui jaringan seperti Internet. Sebuah aplikasi web merupakan sebuah kumpulan dari servlets, html pages, classes dan sumber lainnya yang dapat digabungkan serta dapat berjalan di beberapa wadah/kontainer di beberapa vendor. Sebuah aplikasi web berakar pada jalur tertentu di dalam web server.
Sebuah aplikasi web adalah aplikasi menggunakan web browser sebagai client. Sebuah aplikasi dapat digunakan secara sederhana sebagai papan pesan atau quest sign-in book dalam sebuah website atau secara kompleks sebagai word processor atau spreadsheet. 2.5.1 Client Client atau klien merujuk digunakan dilingkungan client-server untuk merujuk ke program yang menggunakan manusia (sebagai klien) untuk menjalankan sebuah aplikasi. Sebuah lingkungan client server adalah suatu kondisi dimana beberapa komputer membagi informasi seperti memasukkan informasi ke dalam database. ‘Client’ adalah aplikasi untuk memasukkan informasi dan ‘server’ adalah aplikasi yang menerima informasi tersebut. 2.5.2 PHP Pada tahun 1994, seorang programmer bernama Ramus Lerdorf menciptakan PHP. PHP terus mengalami perkembangan dan perubahan hingga saat ini dalam berbagai versi. Menurut Weiling dan Thomson (2005,p4) PHP adalah server-side scripting yang dirancang dalam bahasa khusus untuk web, dalam satu halaman HTML anda bisa menyertakan kode PHP yang dijalankan setiap kali halaman dikunjungi. Kode PHP diterjemahkan di web server dan menghasilkan output HTML atau lainnya yang akan dilihat oleh pengunjung. PHP merupakan produk open source. Anda diharuskan mengakses ke source code. Anda dapat menggunakannya, merubah dan mendistribusikan semuanya tanpa biaya. PHP adalah salah satu server side yang dirancang khusus untuk aplikasi web. PHP disisikan diantara bahasa HTML dan arena bahasa server
side maka bahasa PHP akan dieksekusi di server, sehingga dikirimkan ke browser adalah hasil jadi dalam bentuk HTML dan kode PHP tidak akan terlihat. PHP termasuk open source produk. Jadi dapat diubah source code dan mendistribusikannya secara bebas. Untuk menjalankan sistem PHP dibutuhkan 3 komponen: 1. Web server 2. Program PHP 3. Database Server Kelebihan PHP dalam pembuatan aplikasi dinamis menurut Weiling dan Thomson(2005,p4): Performa yang tinggi PHP sangat efisien, hanya dengan menggunakan satu server tunggal yang tidak mahal akan dapat menghasilkan jutaan keuntungan tiap harinya. Integrasi database PHP memiliki koneksi awal yang tersedia untuk banyak sistem database. Pada penambahannya My SQL dapat secara langsung terhubung ke PostgreSQL, mSQL, Oracle, dbm, FilePro, hyperware, dll Built-In Libraries Karena PHP didesain untuk web, PHP memiliki banyak fungsi builtin untuk menghasilkan fungsi relasi web yang berguna.
Harga
PHP merupakan software gratis yang dapat secara langsung di download melalui internet. Mendukung Orientasi Objek PHP pada versi terbaru yang telah didesain secara baik memiliki fiturfitur orientasi objek. Portabilitas PHP dapat digunakan pada sistem operasi yang berbeda, programmer dapat menuliskan kode PHP pada sistem operasi seperti Linux, FreeBSD, dll. Kode PHP yang ditulis dengan baik akan bekerja tanpa modifikasi dari sistem yang berbeda yang digunakan untuk menjalankan PHP Source Code Source Code pada PHP dapat dilihat tidak seperti komersial, produk closed-source, jika nantinya digunakan untuk memodifikasi sesuatu atau menambahkan bahasa, PHP mengizinkan hal tersebut untuk dilakukan. Contoh script PHP :
Homepage Home | Login |
Member | Logout
Selamat Datang di Airflash
2.5.3 Testing Menurut Sommerville (2010,p41) Software validation atau disebut juga verification atau validation dimaksudkan untuk menunjukkan apakah sebuah sistem sesuai dengan spesifikasinya dan sesuai dengan ekspetasi customer. Program testing, dimana sistem dijalankan dengan menggunakan data simulasi merupakan principal dari teknik validasi ini. Tahapan dari testing proses adalah : a. Development testing, komponen yang menyusun sistem di testing oleh orang yang membangun sistem tersebut. Setiap komponen di tes secara bebas tanpa komponen sistem lainnya. b. System testing, komponen-komponen sistem yang disatukan untuk membuat sebuah sistem yang lengkap. Proses ini fokus dengan menemukan error yang dihasilkan dari interaksi yang tidak diantisispasi diantara komponen atau komponen interface. c. Acceptance testing merupakan tahapan akhir di dalam testing proses sebelum sistem yang diterima untuk penggunaan operasional. Sistem diujikan dengan data yang disediakan untuk kepentingan pengguna atau user. Data tersebut biasanya berupa data contoh atau sample. 2.6 E-Commerce
2.6.1 Pengertian E-Commerce Menurut Turban (2008,p4), E-Commerce menggambarkan proses membeli, menjual, transfer atau pertukaran produk, servis atau informasi melalui jaringan komputer termasuk internet. 2.6.2 Dimensi E-Commerce Menurut Turban (2008, p4-p5), e-commerce mempunyai bentuk tergantung pada tingkat digital (transformasi dari fisik menjadi digital). Produk, proses dan agen pengiriman dapat berupa fisik maupun digital. Tiga dimensi dari e-commerce: •
Traditional
Commerce,
semua
dimensi
dalam
traditional
commerce bersifat fisik •
Pure E-Commerce, dalam pure e-commerce, semua dimensi bersifat digital
•
Partial E-Commerce merupakan gabungan traditional dan pure ecommerce. Hal ini terjadi apabila terdapat setidaknya satu dimensi digital, maka proses ini tetap merupakan e-commerce.
2.6.3 Klasifikasi E-Commerce Menurut Turban (2008,p8) klasifikasi umum dari e-commerce berdasarkan sifat transaksi atau hubungan antara peserta, yaitu : 1. Business-to-Business (B2B), model e-commerce dimana semua peserta adalah pengusaha/pebisnis atau organisasi perusahaan lain. 2. Business-to-Consumen (B2C), model e-commerce dimana perusahaan menjual kepada pembeli individu.
3. Business-to-Business-to-Consumen (B2B2C), model e-commerce dimana perusahaan menyediakan beberapa produk atau layanan kepada klien bisnisnya yang mempertahankan customernya sendiri. 4. Consumer-to-Business (C2B), model e-commerce dimana individu menggunakan internet untuk menjual produk atau jasa kepada organisasi atau individu yang mencari penjual untuk menawarkan produk atau layanan yang mereka butuhkan. 5. Mobile Commerce, transaksi e-commerce dan kegiatan dilakukan dalam lingkungan nirkabel (mobile network). 6. Intrabusiness E-Commerce, kategori e-commerce yang mencakup semua aktivitas internal organisasi yang melibatkan pertukaran baik layanan atau informasi di antara berbagai unit dan individu dalam sebuah organisasi. 2.7 Interaksi Manusia dan Komputer 2.7.1 Definisi Desain antarmuka user (User Interface Design) adalah suatu subbab dari program studi yang disebut Interaksi manusia dan komputer (Human Computer Interaction – HCI). HCI adalah suatu disiplin ilmu yang mengkaji komunikasi atau interaksi diantara pengguna dengan sistem komputer maupun sistem yang banyak digunakan dalam kehidupan sehari-hari, misalnya kendaraan, peralatan rumah tangga dan sebagainya. HCI dirancang untuk berbagai macam faktor: apa yang masyarakat inginkan dan harapkan, apa keterbatasan fisik dan kemampuan setiap orang, bagaimana pandangan mereka dan pengolahan informasi sistem kerja dan apakah masyarakat menemukan kenyamanan dan ketertarikan. Para desainer juga harus mempertimbangkan karakteristik teknikal dan batasan hardware dan software komputer.
Menurut Galitz (2007, p4), user interface adalah bagian dari komputer dan software itu sendiri yang user bisa melihat, mendengar, menyentuh, berbicara ataupun mengerti atau mengarahkan. User interface harus mempunyai dua komponen utama, yaitu: input dan output. Input atau masukan adalah bagaimana seseorang berkomunikasi kebutuhannya atau keinginannya ke komputer. Beberapa komponen input yang paling umum adalah keyboard, mouse, trackball, one’s finger (bagi tablet ataupun layar sentuh), dan one’s voice (bagi instruksi suara). Output atau keluaran adalah bagaimana komputer menyampaikan hasil komputasi/perhitungan dan kebutuhan untuk user. Komponen output computer yang paling umum belakangan ini adalah layar tampilan, diikuti dengan mekanisme yang mengambil keuntungan dari kemampuan pendengaran seseorang: bunyi dan suara. Peran utama dari HCI adalah untuk menghasilkan sebuah sistem yang mudah digunakan, aman, efektif dan efisien. Model interaksi antara manusia dengan sistem melibatkan tiga komponen, yaitu pengguna, interaksi dan sistem itu sendiri. Kunci utama HCI adalah daya guna (usability), yang berarti bahwa suatu sistem harus mudah digunakan, memberi keamanan kepada pengguna, mudah dipelajari dan sebagainya. Dalam lingkup Interaksi Manusia dan Komputer User adalah individual user, sekelompok user yang bekerja bersama, atau juga sekumpulan user dalam suatu organisasi. Masing – masing menghadapi sebagian tugas nya dan proses yang berjalan untuk menyelesaikan tugas tersebut dengan menggunakan teknologi. Komputer adalah teknologi dari dekstop sampai sistem komputer besar, sistem pengontrolan proses atau sistem embedded. Sistem ini dapat mencakup komponen non komputer termasuk manusia. Interaksi
adalah komunikasi antara user dan komputer, dapat secara langsung (Direct) maupun secara tidak langsung (Indirect). Komunikasi langsung melibatkan dialog dengan umpan balik atau feedback dan kontrol selama menyelesaikan tugas tersebut. Komunikasi tidak langsung dapat berupa background proses atau proses batch. 2.7.2 Delapan Aturan Emas Desain User Interface Berdasarkan Shneiderman (2010, p88-89), dalam perancangan antarmuka, ada delapan aturan yang harus diperhatikan dalam mendesain user interface yang dapat digunakan sebagai petunjuk dasar yang baik untuk merancang suatu user interface. Delapan aturan ini disebut dengan Schneiderman’s 8 Golden Rules of Interface Design, yaitu: 1. Rancangan yang dibuat harus konsisten. Konsistensi ada berbagai macam, seperti konsistensi dalam urutan aksi harus diperhatikan dalam suatu situasi yang memiliki kemiripan. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, serta layar bantuan. 2. Mendukung kegiatan yang universal. Mengenali kebutuhan user yang beragam dan design kekenyalan, memfasilitasi dan transformasi konten. Dari pemula menjadi ahli, rentang usia, ketidakmampuan dan keragaman setiap teknologi memperkaya spektrum kebutuhan design petunjuk. Menambahkan fitur bagi pemula, seperti penjelasan dan fitur bagi para ahli, seperti shortcuts dan faster pacing, dapat memperkaya userinterface dan meningkatkan kualitas sistem yang dirasakan. 3. Memberikan umpan balik yang informatif. Untuk setiap sistem diharapkan adanya suatu umpan balik bagi pemakai. Respon yang diberikan tergantung dari aksi yang dilakukan. Respon yang diberikan kepada pengguna
hendaknya lebih nyata. Penampilan visual dari suatu objek merupakan suatu cara untuk menampilkan perubahan secara ekspilisit. 4. Merancang dialog untuk menghasilkan suatu penutupan. Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dengan bagian awal, tengah, dan akhir. Umpan balik yang informatif akan memberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan penanganan kesalahan yang sederhana. Sedapat mungkin sistem dirancang sehingga pengguna tidak dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sederhana dan mudah dipahami untuk penanganan kesalahan. 6. Mudah kembali ke tindakan sebelumnya (undo). Hal ini dapat mengurangi kekuatiran pengguna karena pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga pengguna tidak takut untuk mengeksplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Menyediakan kendali internal (internal locus of control). Pengguna ingin menjadi pengontrol sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem dirancang sedemikian rupa sehingga pengguna menjadi inisiator daripada responden. 8. Mengurangi beban ingatan jangka pendek. Keterbatasan ingatan manusia membutuhkan tampilan yang sederhana atau banyak tampilan halaman yang sebaiknya disatukan, serta diberikan cukup waktu pelatihan untuk kode dan urutan tindakan.
2.8 Database 2.8.1 Pengertian Database Menurut Sharma, Liviu, Chong, Iyer, Nandan, Mieta, Nonvinkere, Danubianu (2010,p23) database adalah tempat penyimpanan data yang dirancang untuk mendukung penyimpanan, pengambilan dan pemeliharaan data yang efisien. Sedangkan menurut Conolly dan Begg (20120,p66) database adalah himpunan data (file atau arsip) yang saling berhubungan dan diorganisasikan sedemikian rupa untuk menghasilkan informasi yang dibutuhkan oleh user. Data(terkadang disebut “data mentah” atau “raw data”) adalah aliran ata berkas-berkas fakta yang tidak diatur atau disusun menjadi bentuk yang orang dapat mengerti atau digunakan. Informasi adalah data yang telah disusun sedemikiam rupa sehingga dapat bermanfaat dan berguna bagi orang. Satu cara untuk mengubah data mentah menjadi informasi adalah menggunakan database. Menurut Gillenson, Ponniah, Kriegel, Trukhnov, G.Taylor, powell dan Miller (2007,p24) database adalah kumpulan berbagai elemen data yang terkait yang diperintah dimaksudkan untuk memenuhi kebutuhan informasi dari suatu organisasi dan dirancang untuk digunakan secara bersama oleh para pengguna. 2.8.2 MySQL Menurut Weiling dan Thomson(2005,p2) MySQL adalah Relational Database Management System (RDBMS) yang sangat cepat dan kuat. MySQL adalah DBMS yang bersifat relational, open source, berlevel enterprise, multithread. MySQL merupakan bahasa yang memiliki kemampuan cukup baik untuk menunjang kerja user baik telah berpengalaman dengan database maupun untuk pemula. SQL digunakan untuk mencari informasi, memanipulasi data,
mendefinisikan data dan bahasa pengendali dokumentasi. Setiap pengguna database memerlukan bahasa pemograman yang dapat dipakai sesuai dengan fungsi dan tugasnya. Dalam basis data secara umum dikenal dua bahasa yaitu : a) Data Definition Language (DDL) : bahasa yang dipakai untuk menjelaskan objek dari database. DDL dipakai untuk mendefinisikan kerangka database (berorientasi pada tipe pada objek database) b) Data Manipulation Language (DML) : bahasa yang dipakai untuk memanipulasi objek data dari database. DML dipakai untuk operasi terhadap isi database. Berikut adalah kelebihan dari MySQL : 1. Dukungan standar Dukungan entry-level ANSI SQL92 dan ODBC level 0-2 SQL Standar. 2. Dukungan bahasa Database server MySQL dapat mengeluarkan pesan kesalahan dalam berbagai bahasa seperti: bahasa Belanda, Ceko, Inggris, Perancis, Jerman, Italia, Spanyol, dll 3. Bahasa pemograman API’s bagi clients untuk mengakses database 4. Aplikasi database MySQL dapat ditulis dalam beberapa bahasa pemograman, seperti C, Perl, PHP. Dll 5. Tabel yang besar 6. MySQL menyimpan setiap table kedalam database sebagai file tersendiri didalam database directory. Ukuran maksimum dari suatu table antara empat Gigabyte dan batas sistem operasi pada ukuran file maksimum.
7. Kecepatan dan kekuatan MySQL kira-kira tiga hingga empat kali lebih cepat daripada database komersil lainnya 8. Tidak mahal Walaupun mempunyai versi komersial, namun sesungguhnya MySQL dapat diunduh secara gratis. 9. Kemudahan penggunaan Anda dapat berinteraksi dengan MySQL menggunakan perintah SQL yang sederhana. Perintah SQL adalah standar bahasa RDBMS. 10. Berjalan pada berbagai sistem operasi MySQL berjalan dengan baik pada banyak sistem operasi, seperti Windows, Linux, Mac OS, Unix, dll 2.9 XAMPP 2.9.1 Sejarah XAMPP XAMPP merupakan pengembangan dari LAMP (Linux, Apache, MySQL, PHP, dan PERL), XAMPP ini merupakan project non-profit yang dikembangkan oleh Apache Friends yang didirikan Kai ‘Oswalad’ Seidler dan Kay Vogelgesang pada tahun 2002, project mereka ini bertujuan mempromosikan penggunaan Apache web server. 2.9.2 Pengertian XAMPP XAMPP merupakan singkatan dari X (empat system operasi seperti Windows, Linux, Mac OS, dan Solaris), Apache, MySQL, PHP, Perl. XAMPP merupakan tool yang menyediakan paket perangkat lunak kedalam satu buah paket. Dalam paketnya sudah terdapat Apache (web server), MySQL (database), PHP (server side scripting), Perl, FTP server, phpMyAdmin dan berbagai
pustaka bantu lainnya. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, php, dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis. 2.9.2.1 Sejarah Apache Pada awal mulanya, Apache merupakan perangkat lunak sumber terbuka yang menjadi alternatif dari server web Netscape (sekarang dikenal sebagaiSun Java System Web Server). Sejak April 1996 Apache menjadi server web terpopuler di internet. Pada Mei 1999, Apache digunakan di 57% dari semua web server di dunia. Pada November 2005 persentase ini naik menjadi 71%. (sumber: Netcraft Web Server Survey, November 2005). Asal mula nama Apache berasal ketika sebuah server web populer yang dikembangkan pada awal 1995 yang bernama NCSA HTTPd 1.3 memiliki sejumlah perubahan besar terhadap kode sumbernya (patch). Saking banyaknya patch pada perangkat lunak tersebut sehingga disebut sebuah server yang memiliki banyak patch ("a patchy" server). Tetapi pada halaman FAQ situs web resminya, disebutkan bahwa "Apache" dipilih untuk menghormati suku asli Indian Amerika Apache (Indé), yang dikenal karena keahlian dan strategi perangnya. Versi 2 dari Apache ditulis dari awal tanpa mengandung kode sumber dari NCSA. Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux,Microsoft
Windows dan Novell
Netware serta
platform
lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini menggunakan HTTP.
Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasisbasis data dan lain-lain. Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. 2.9.2.2 Sejarah MySQL MySQL, merupakan aplikasi database server. Perkembangannya disebut SQL yang merupakan kepanjangan dari Structured Query Language. SQL merupakan bahasa terstruktur yang digunakan untuk mengolah database. MySQL dapat digunakan untuk membuat dan mengelola database beserta isinya. Kita dapat memanfaatkan MySQL untuk menambahkan, mengubah, dan menghapus data yang berada dalam database. 2.9.2.3 Sejarah PHP Pada
awalnya PHP merupakan kependekan dari Personal Home
Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data formulir dari web. Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP. Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan
rilis
tersebut
sebagai PHP
3.0 dan
singkatan
PHP
diubah
menjadi akronim berulang PHP: Hypertext Preprocessing. Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi. Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek. PHP adalah salah satu server side yang dirancang khusus untuk aplikasi web. PHP disisikan diantara bahasa HTML dan arena bahasa server side maka bahasa PHP akan dieksekusi di server, sehingga dikirimkan ke browser adalah hasil jadi dalam bentuk HTML dan kode PHP tidak akan terlihat. PHP termasuk open source produk. Jadi dapat diubah source code dan mendistribusikannya secara bebas. 2.9.2.4 Sejarah Perl Perl adalah bahasa pemrograman untuk segala keperluan, dikembangkan pertama kali oleh Larry Wall di mesin Unix. Perl dirilis pertama kali pada tanggal 18 Desember 1987 ditandai dengan keluarnya Perl 1. Pada versi-versi selanjutnya, Perl tersedia pula
sistem operasi varian Unix (SunOS, Linux, BSD, HP-UX), juga
tersedia untuk sistem OS, Windows, PowerPC, BeOS, VMS, EBCDIC, dan PocketPC. Dukungan terhadap berbasis obyek (object oriented programming/OOP) ditambahkan pada Perl 5, yang pertama kali dirilis pada tanggal 31 Juli 1993. Proyek pengembangan Perl 6 dimulai pada tahun 2000, dan masih berlangsung hingga kini tanpa tanggal yang jelas kapan mau dirilis. Ini dikatakan sendiri oleh Larry Wall dalam satu pidatonya yang dikenal dengan seri The State of the Onion. Dua di antara karakteristik utama Perl adalah penanganan teks dan berbagai jalan pintas untuk menyelesaikan persoalan-persoalan umum. Perl sangat populer digunakan dalam program-program CGI (Common Gateway Interface) dan berbagai protokol Internet lainnya. Seperti diketahui, TCP/IP sebagai basis bagi semua protokol Internet yang dikenal sekarang ini menggunakan format teks dalam komunikasi data. Seperti juga bahasa populer lainnya, Perl menerima banyak kritikan. Meski banyak di antaranya hanya berupa mitos, atau berlebih-lebihan, tapi terdapat juga sejumlah kritikan yang valid. Salah satunya adalah, sintaksnya susah dibaca, karena banyak menggunakan simbol-simbol yang bukan huruf dan angka. 2.10 Model View Controller(MVC) 2.10.1 Pengertian Model View Controller Menurut Krasner dan Pope (2005, p26), Model-View-Controller adalah arsitektur software yang memisahkan aplikasi menjadi 3 bagian, yaitu: 1. Bagian yang mewakili model dari domain dasar aplikasi atau disebut sebagai model 2. Bagian yang mewakili cara model disajikan kepada user atau disebut sebagai view 3. Bagian yang mewakili cara user berinteraksi dengan aplikasi tersebut atau disebut sebagai controller
MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol dalam sebuah aplikasi web.
Gambar 2.2 Konsep Model-View-Controller(Krasner dan pope, 2005, p27) 2.10.2 Bagian-bagian Model View Controller 1. Model, Model mewakili struktur. Biasanya model berisi fungsi-fungsi yang membantu seseorang dalam pengelolaan basis data seperti memasukkan data ke basis data, pembaruan data dan lain-lain. 2. View, View adalah bagian yang mengatur tampilan ke pengguna. Bisa di katakan berupa halaman web. 3. Controller, Controller merupakan bagian yang menjembatani model dan view. Controller berisi perintah-perintah yang berfungsi untuk memproses suatu data dan mengirimkannya ke halaman web.
2.11 Unified Modelling Language(UML) 2.0 2.11.1 Pengenalan UML 2.0
Menurut Scott W. Ambler(2005,p19) UML adalah standart bahasa grafis untuk pemodelan software berbasis object oriented. UML adalah salah satu alat yang paling menarik dalam pengembangan sistem di dunia. Karena UML memungkinkan pembangun sistem untuk membuat cetak biru yang menangkap visi mereka, memudahkan pengguna dalam memahami dan berkomunikasi kepada orang lain. Sebelum munculnya UML, pengembangan sistem sering mengalami kesalahan. Sistem analisis akan mencoba untuk menilai kebutuhan client mereka, analisis kebutuhan adalah beberapa notasi yang memudahkan dalam menganalisa (tidak selalu klien), memberikan analisis untuk programmer atau tim programmer dan hasil akhir diharapkan sesuai dengan apa yang client butuhkan. Hasil analisis seperti ini menyulitkan programmer dalam pemahaman membuat program, yang menyebabkan client kesulitan untuk menggunakan program yang telah diciptakan oleh programmer dan bukan menjadi solusi yang baik bagi client. Kuncinya adalah untuk mengatur proses desain dengan cara yang analis, klien, programmer, dll yang terlibat dalam pengembangan sistem dapat memahami dan menyetujui. 2.11.2 Sejarah UML 2.0 UML adalah gagasan dari Grady Booch, james Rumbaugh dan Ivar Jacobson. Baru-baru ini dijuluki “The Three Amigos”, pada era 80-an dan awal 90-an mereka
bekerja
diorganisasi
yang
berbeda,
masing-masing
merancang
metodologi sendiri untuk analisis berorientasi objek dan desain. Metodologi mereka mencapai keunggulan diantara para pesaing yang lain. Pada tahun 90-an,
tiga pemuda ini mulai berfikir dan saling bertukar ide satu sama lain, sehingga mereka memutuskan untuk berevolusi pekerjaan mereka bersama-sama. Pada tahun 1994, Rumbaugh bergabung di perusahaan Rational Software, dimana Booch sudah bekerja. Sedangkan Jacobson terdaftar di Rasional setahun kemudian. Draft versi UML mulai beredar diseluruh industri perangkat lunak dan umpan balik yang dihasilkan membawa perubahan substansial. Sebagai inti dari operasi banyak orang merasa UML dapat melayani tujuan strategis mereka, seperti pada contoh para anggota kesatuan yang menyetujui UML diantaranya DEC, Hewlett-Packard, Microsft, Oracle, dll Pada tahun 1997, persatuan yang dihasilkan versi 10.0 dari UML dan menyerahkannya ke Object Management Group(OMG) yang menanggapi permintaan OMG untuk membuat proposal pemodelan bahasa. Standar persatuan diperluas dan menghasilkan versi 1.1 yang mana hasilnya diserahkan ke OMG pada akhir tahun 1997. OMG mengambil alih pemeliharaan UML dan menghasilkan dua revisi lebih pada tahun 1998. UML telah berkembang menjadi standar de facto dalam industri software yang terus berkembang. 2.11.3 Hubungan(Relationship) Menurut Scott W. Ambler (2005,p25), Ada 4 macam hubungan didalam pengunaan UML, yaitu dependency, association, generalization dan realization. 1. Depedency adalah hubungan semantik antara dua benda yang mana sebuah benda berubah mengakibatkan benda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panah dengan garis terputus-putus. 2. Association adalah hubungan antar benda structural yang terhubung diantara objek. Kesatuan objek yang terhubung merupakan hubungan khusus yang menggambarkan sebuah hubungan structural diantara seluruh atau sebagian.
Umumnya association digambarkan dengan sebuah label, nama dan status hubungannya. 3. Generalization adalah menggambarkan hubungan khusus dalam objek anak/child yang menggantikan objek parent/induk. Dalam hal ini, objek anak memberikan pengaruhnya dalam hal struktur dan tingkah lakunya kepada objek induk. 4. Realization adalah hubungan sematik antara pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interface dan kelas atau elements, serta antara use cases dan collaboration. 2.11.4 Komponen UML 2.11.4.1 Class Diagram Menurut Scott W. Ambler (2005, p47) class diagram menampilkan semua kelas yang terdapat dalam sistem, hubungan mereka, dan operasi dan atribut dari class. Class diagram sering digunakan untuk : 1. Menjelaskan konsep domain dalam bentuk model 2. Menganalisis persyaratan dalam bentuk model analisis dan konseptual 3. Menggambarkan desain secara rinci berorientasikan objek atau objek berbasiskan software.
Gambar 2.3 Contoh Class Diagram(Scott W. Ambler, 2005, p49)
Gambar 2.4 Notasi Class Diagram 2.11.4.2 Use Case Diagram Menurut Scott W. Ambler (2005, p33) use case diagram memperlihatkan hubungan antara aktor dan use-case dalam sebuah sistem. Use case sering digunakan untuk : 1. Memberikan gambaran tentang semua atau sebagian dari persyaratan penggunaan sistem atau organisasi dalam bentuk model penting 2. Mengkomunikasikan lingkup sebuah proyek yang dibangun
Gambar 2.5 Contoh Use Case Diagram(Scott W. Ambler, 2005, p34)
Gambar 2.6 Notasi Use Case Diagram 2.11.4.3 Sequence Diagram Menurut
Scott
W.
Ambler
(2005,p80)
sebuah
sequence
diagram
menunjukkan urutan pertukaran pesan oleh set objek yang menjalankan pekerjaan tertentu. Objek diatur dari kiri ke kanan melewati diagram.
Gambar 2.7 Contoh Sequence Diagram(Scott W. Ambler, 2005, p82)
Gambar 2.8 Notasi Sequence Diagram 2.11.4.4 Activity Diagram Menurut Scott W. Ambler (2005,p113) activity diagram pada dasarnya adalah flow chart untuk mewakili bentuk aliran satu aktifitas dengan aktifitas lainya. Activity diagram dapat digambarkan sebagai operasi dari sistem.
Gambar 2.9 Contoh Activity Diagram(Scott W. Ambler, 2005, p114)
Gambar 2.10 Notasi Activity Diagram
Teori Khusus 2.12 Konsep Penjualan
Menurut Kottler (2004,p18) konsep penjualan merupakan orientasi umum dari bisnis. Konsep penjualan bergantung antara konsumen dan pengusaha, jika dibiarkan sendiri biasanya tidak akan membeli cukup banyak produk organisasi perusahaan. Organisasi perusahaan diharuskan untuk memaksimalkan penjualan dan usaha promosi. Konsep ini mengasumsikan bahwa perusahaan mempunyai tenaga yang cukup efektif dan alat promosi untuk merangsang lebih banyak pembelian. Penjualan merupakan sebuah proses dimana kebutuhan pembeli dan kebutuhan penjual terpenuhi, melalui antar pertukaran informasi dan kepentingan, jadi konsep penjualan adalah cara untuk mempengaruhi konsumen untuk membeli produk yang ditawarkan. Secara umum penjualan dibagi menjadi dua yaitu penjualan tunai dan penjualan kredit. Penjualan tunai terjadi apabila pengiriman barang diikuti dengan adanya penyerahan uang tunai sepenuhnya atau pembayaran kontan oleh pembeli. Sedangkan penjualan kredit terjadi apabila customer meminta tenggang waktu antar penyerahan barang dengan penerimaan pembayaran. Hal-hal yang dapat mempengaruhi peningkatan penjualan: 1. Kualitas produk Produk adalah sesuatu yang dapat berupa barang atau jasa yang dapat digunakan untuk memuaskan keinginan dan kebutuhan konsumen. Produsen tidak hanya dituntut agar produk yang dihasilkan mempunyai kualitas yang baik tetapi juga harus diadakan pengawasan terhadap produk yang dihasilkan, karena apabila kualitas produk yang dijual kurang baik akan menurukan keuntungan dari perusahaan tersebut. 2. Menjaga kepuasan customer
Tujuan utama dari semua perusahaan yang berorientasi ke pemasaran adalah menciptakan kepuasan customer. Untuk itu yang dapat memberikan beberapa manfaat diantaranya hubungan yang baik dan terciptanya kesetiaan customer dan membentuk suatu rekomendasi dari mulut ke mulut. Untuk mengukur kepuasan customer dapat digunakan atribut-atribut yang universal yang berisi tentang bagaimana customer menilai suatu produk/merk, ditinjau dari sudut pandang customer dimana dalam penelitian konsumen tidak semua atribut ini digunakan, tetapi harus diketahui mana yang cocok mana yang tidak. 3. Menambah nilai produk Strategi postioning pada umumnya adalah mengasosiasikan suatu objek dengan salah satu nilai produk. Pengembangan asosiasi suatu merk akan lebih efektif jika nilai produk bermakna sehingga antar perusahaan dan customernya dapat langsung diartikan alasan untuk membeli atau tidak membeli suatu merk. 4. Mempromosikan barang secara besar-besaran Kegiatan promosi menjadi salah satu faktor penentu keberhasilan suatu program perusahaan. Betapapun berkualitas ekstensi merk apabila konsumen belum pernah mendengar dan tidak yakin bahwa produk itu akan berguna bagi mereka, maka mereka tidak akan pernah membelinya. Oleh karena itu agar dapat berhasil dalam bidangnya, perusahaan dapat melakukan promosi secara besar-besaran untuk meningkatkan penjualan.
2.12 Konsep produk
Menurut Kottler(2005,p18) konsep produk menyatakan bahwa konsumen akan memilih produk yang kualitas, hasil ataupun fitur-fitur menarik yang sangat baik. Para manajer dalam perusahaan-perusahaan fokus pada pembuatan produk unggulan dan meningkatkan kinerja produk tersebut sepanjang waktu. Mereka berasumsi bahwa pembeli mengagumi produk yang dibuat dengan baik dan dapat mengevaluasi kualitas dan kemampuannya.