BAB 2 LANDASAN TEORI 2.1 Analisis dan Perancangan Sistem 2.1.1 Analisis Sistem Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi potongan-potongan komponen untuk mempelajari seberapa baik bagian-bagian komponen bekerja dan berinteraksi untuk mencapai tujuan mereka. (Whitten & Bentley, 2007:160) Analisis sistem adalah teknik pemecahan masalah yang membagi sebuah sistem menjadi bagian-bagian komponen dengan tujuan mempelajari seberapa bagus bagian-bagian komponen tersebut bekerja dan berinteraksi untuk mencapai tujuan tertentu. (Whitten, Bentley, & Dittman, 2004:176) Analisis sistem adalah suatu teknik melibatkan studi rinci dari kegiatan, sumber daya,
dan produk dari satu atau lebih sistem informasi yang
digunakan saat ini. (O’Brien & Marakas, 2010:414) Dari uraian di atas, dapat ditarik kesimpulan bahwa analisis sistem adalah suatu teknik atau proses pemecahan masalah yang menjelaskan bagaimana suatu sistem harus bertindak, bekerja, dan berinteraksi untuk mencapai tujuan tertentu.
11
12
2.1.2 Perancangan Sistem Perancangan sistem adalah suatu teknik pemecahan masalah yang saling melengkapi dengan analisis sistem dimana menyusun kembali potonganpotongan komponen dari sistem ke dalam sebuah sistem yang lengkap. (Whitten & Bentle, 2007:160) Perancangan Sistem adalah proses merancang logical model dari sistem yang ada dan dimodifikasi sampai merepresentasikan blueprint dan apa yang dapat dilakukan oleh sistem dari sistem baru. Selama perancangan desain, proses ini berfokus pada cara bagaimana sistem memenuhi kebutuhan dengan menghubungkan keberadaan hardware, software, networking, data storage, security, dan hal lainnya yang akan diperhitungkan. (O’Brien & Marakas, 2010:416) Dari uraian di atas, dapat ditarik kesimpulan bahwa perancangan sistem adalah suatu proses yang melakukan kegiatan desain untuk menghasilkan spesifikasi sistem dalam analisis sistem.
2.1.3 Metode Waterfall Waterfall adalah model paling tua di dalam dunia software engineering sehingga sering disebut sebagai model klasik. Model ini melakukan pendekatan pengembangan perangkat lunak secara sekuensial. Waterfall Model atau Classic Life Cycle merupakan suatu pendekatan sistematis secara berkelanjutan pada sebuah pengembangan aplikasi dimana bermula pada spesifikasi kebutuhan customer dan berlanjut kepada
13
perencanaan, modeling, konstruksi dan penyebaran, hingga akhirnya berujung pada support yang berkelanjutan pada sebuah software yang lengkap. (Shneiderman, 2010:4)
Gambar 2.1. Waterfall Model (Sumber : Pressman , 2010:39, dengan perubahan)
2.2 Sistem Pemasaran 2.2.1 Sistem Sistem adalah kolaborasi antar komponen yang terorganisir dan saling berhubungan satu sama lainnya. Suatu sistem terdiri atas elemen-elemen yang saling berhubungan dan beroperasi secara bersama untuk mencapai tujuan yang telah ditetapkan. Setiap anggota atau komponen dari sistem memiliki peranan dan kontribusi yang berpengaruh terhadap sistem tersebut. Sistem
14
merupakan lingkungan yang menjadi media untuk menerima input dan menyediakan output dari sistem. Telah kita ketahui bersama bahwa sistem bukan merupakan suatu elemen yang tersusun secara tidak beraturan, tetapi merupakan suatu elemen-elemen yang saling bekerja sama dan berhubungan untuk mencapai suatu tujuan bersama. Sistem adalah sekumpulan elemen yang terintegrasi, masing-masing memiliki kemampuan eksplisit yang ditentukan dan dibatasi, bekerja secara sinergis untuk melakukan penambahan nilai dan memungkinkan user menyelesaikan tugasnya. (S. Wasson, 2006:18) Sistem adalah sebuah kelompok yang terdiri dari modul-modul yang berinteraksi dan saling berbagi kerangka kerja umum dan memberikan sebuah tujuan umum. (Khosrow-Pour, 2009:111) Dari uraian yang telah dipaparkan di atas, maka dapat ditarik kesimpulan bahwa sistem adalah sekelompok objek atau elemen-elemen yang saling terintegrasi, berhubungan, berinteraksi secara logis tersusun, terstruktur dan teratur untuk menghasilkan suatu tujuan yang sama.
2.2.2 Pemasaran Pemasaran adalah suatu aktivitas atau kegiatan dalam bidang perekonomian yang berhubungan dengan produksi, pemasaran, dan konsumsi. Pemasaran memiliki kaitan yang erat dengan kegiatan produksi dan konsumsi karena pemasaran merupakan jembatan penghubung di antara produksi dan konsumsi dalam menciptakan nilai ekonomi. Dalam kegiatan pemasaran ini, aktivitas pertukaran menjadi hal yang utama. Pemasaran bukan hanya
15
ditujukan untuk barang, tetapi juga untuk jasa yang berkaitan dengan berbagai macam kelompok sosial untuk memenuhi kebutuhannya. Seperti yang telah kita ketahui bersama, untuk mendapatkan keuntungan yang lebih baik, suatu perusahaan harus menjalankan konsep pemasaran yang efektif. Koordinasi dan pengelolaan yang baik sangat berperan penting untuk mewujudkan hal ini. Pemasaran adalah sebuah proses dimana perusahaan menciptakan nilai dan membangun hubungan yang kuat dengan pelanggan untuk memperoleh nilai dari pelanggan sebagai imbalannya. Pemasaran harus dipahami tidak dalam arti lama “membuat penjualan”, tetapi dalam arti baru “memuaskan kebutuhan pelanggan”. Jika si “pemasar” memahami kebutuhan konsumen, mengembangkan produk yang memberikan nilai, harga, distribusi, dan mempromosikan secara efektif kepada pelanggan, maka produk ini akan dengan mudah dijual. Didefinisikan secara luas, pemasaran adalah suatu proses sosial dan manajerial dimana individu dan organisasi memperoleh apa yang mereka butuhkan dan inginkan melalui penciptaan dan pertukaran nilai dengan orang lain. (Kotler & Armstrong, 2010:29) Dari uraian yang telah dipaparkan di atas, maka dapat ditarik kesimpulan bahwa pemasaran adalah aktivitas atau kegiatan dalam bidang perekonomian yang bertujuan untuk melakukan pertukaran barang atau jasa untuk memenuhi kebutuhan berbagai kelompok sosial.
16
2.2.3 Sistem Pemasaran Sistem pemasaran adalah sekumpulan elemen – elemen yang melakukan tugas tertentu untuk melakukan pemasaran barang, jasa, ide, dan sebagainya yang saling mempengaruhi hubungan perusahaan dengan pasarnya. Sistem pemasaran memiliki komponen – komponen di dalamnya yang saling berinteraksi untuk melaksanakan kerja pemasaran itu sendiri. Pemasaran bisa berupa produk maupun jasa untuk memenuhi kebutuhan berbagai kelompok sosial. Di dalam sistem pemasaran melibatkan siapa yang menjadi target pasar kita dan juga perantara yang mendukung sistem serta halhal yang menjadi kendala dalam sistem pemasaran tersebut.
2.3 Bisnis 2.3.1 Pengertian Bisnis Bisnis adalah suatu organisasi yang menjual barang atau jasa kepada konsumen atau bisnis lainnya untuk mendapatkan keuntungan. Bisnis dapat dilakukan oleh individu maupun kelompok. Dalam dunia perekonomian yang sudah sangat kompleks pada saat ini, setiap individu harus menghadapi tantangan dan resiko untuk mengkolaborasikan tenaga kerja, modal, material, bahan baku serta manajemen secara baik sebelum memasarkan suatu produk. Orang – orang demikian dikenal sebagai pengusaha. Seorang produsen harus mampu membuat produk secara efektif dan efisien dalam hal jumlah maupun variasi yang dibutuhkan. Seorang pengusaha angkutan harus mampu melakukan pemindahan barang secara tepat waktu dari suatu tempat ke tempat lain yang membutuhkan barang tersebut. Seorang
17
pemilik toko pengecer harus mampu menyediakan berbagai macam barang dengan harga dan kualitas yang layak untuk dikonsumsi masyakarat. Inilah contoh -
contoh kegiatan bisnis dalam masyakarat di sekitar kita yang
berlangsung setiap harinya. Motivasi utama dalam kegiatan bisnis adalah keuntungan yang maksimal. Dari sisi perusahaan harus dapat melayani para pelanggannya dengan baik dan tentu saja memperhatikan kelangsungan hidup perusahaan dalam jangka panjang tanpa mengabaikan kepuasan pelanggannya. Bisnis adalah sebuah perusahaan yang menyediakan produk atau jasa yang diinginkan oleh pelanggan. (Madura, 2007:3) Bisnis adalah organisasi yang menyediakan barang atau jasa yang dijual untuk mendapatkan keuntungan. (Griffin & Ebert, 2006, p4) Dari uraian yang telah dipaparkan di atas, maka dapat ditarik kesimpulan bahwa bisnis adalah kegiatan dari suatu individu atau organisasi yang menjual barang atau jasa kepada konsumen atau bisnis lainnya dalam rangka mencari keuntungan.
2.3.2 Faktor 4P (Product, Price, Place, Promotion) Seperti yang kita ketahui bersama bahwa dalam setiap upaya untuk menjalankan sebuah bisnis kita harus memenuhi beberapa faktor utama yang kita kenal dengan istilah 4P. 4P yang dimaksud tersebut adalah kependekan dari istilah Product, Price, Place, dan Promotion. Faktor P yang pertama adalah produk, artiya sebelum kita menjalankan bisnis, kita harus mengetahui
18
dahulu produk apa yang akan kita tawarkan ke konsumen. Faktor P yang kedua adalah price atau harga. Kita harus menentukan harga jual yang tepat bagi pasar yang kita bidik artinya kita harus terlebih dahulu menentukan siapa target pasar kita. Faktor P yang ketiga adalah place, lebih diartikan sebagai saluran distribusi kita. Faktor P yang terakhir adalah promotion atau promosi. Promosi ada berbagai macam meliputi publikasi, promo penjualan, periklanan, dan juga penjualan langsung. (Salim, 2010:14-19)
2.3.3 Agrobisnis Agrobisnis adalah pertanian yang organisasi dan manajemennya secara rasional dirancang untuk mendapatkan nilai tambah komersil yang maksimal dengan menghasilkan barang atau jasa yang diminta pasar. Dalam agrobisnis, proses transformasi material yang diselenggarakan tidak terbatas pada budidaya biologis dari biota (tanaman dan ternak), tetapi juga proses pra usaha tani, pasca panen, pengolahan dan niaga interaksi dengan mitra transaksi di pasar. Ikatan keterkaitan fungsional dari kegiatan pra usaha tani, budi daya, pasca panen, pengolahan, pengawetan, dan pengendalian mutu, serta niaga perlu terwadahi secara terpadu dalam suatu sistem agrobisnis yang secara sinkron menjamin kinerja dari masing-masing satuan subproses itu menjadi pemberi nilai tambah yang menguntungkan, baik darinya maupun bagi perusahaan. Selain sebagai sistem yang terpadu, agrobisnis dapat diartikan sebagai semua aktivitas, mulai dari pengadaan dan penyaluran sarana produksi sampai
19
pemasaran produk-produk yang dihasilkan oleh suatu usaha tani atau usaha agroindustri yang saling terkait satu sama lain. (Hanafie, 2010:31)
2.3.4 Buah Buah adalah bahan pangan yang banyak mengandung vitamin dan mineral sehingga menjadi bagian yang penting dalam konsumsi sehari-hari dengan cita rasa yang berbeda. (Fatah & Bachtiar, 2004:iii) Buah adalah hasil dari proses pembuahan antara putik dan serbuk sari yang akan menghasilkan bakal buah (ovarium).
Bakal buah ini akan
berkembang sesuai dengan kondisi alam disekitarnya. Iklim dan kondisi lingkungan yang berbeda-beda seperti perbedaan angin, kadar air, udara atau binatang disekitarnya menyebabkan variasi-variasi pada bentuk ukuran dan jenis buah-buahan. (Mauseth, 2003:271)
2.4 Internet 2.4.1 Pengertian Internet Internet adalah sekumpulan jaringan berbeda yang saling terhubung bersama sebagai satu kesatuan dengan menggunakan berbagai macam protokol, salah satunya adalah protocol TCP/IP (Transmission Control Protocol / Internet Protocol). (Shalahuddin & A.S, 2010:3) Internet adalah suatu jaringan yang tersusun atas jaringan – jaringan lainnya, ketika seorang meminta data dari internet, maka permintaan itu
20
berpindah dari suatu komputer ke komputer lainnya di seluruh jaringan hingga mencapai lokasi tujuan tempat data itu disimpan. (McLeod, 2001:59) Internet
adalah
jaringan
komputer
di
seluruh
dunia
yang
menghubungkan ratusan ribu jaringan yang lebih kecil. Jaringan ini menghubungkan pendidikan, entitas komersial, nirlaba, dan militer, serta individu. (Sawyer, 2011:18) Dari uraian di atas, dapat ditarik kesimpulan bahwa Internet yang merupakan kependekan dari interconnected-networking merupakan sistem global dari seluruh jaringan komputer di dunia yang terhubung menggunakan standar Internet
Protocol
Suite yang
dikenal
dengan TCP/IP sehingga
memungkinkan miliaran pengguna terhubung di seluruh dunia untuk saling berkomunikasi, bertransaksi, bersosialisasi dan berbagi informasi.
2.4.2 Sejarah Internet Internet yang kita kenal saat ini pertama kali dikembangkan pada tahun 1969 oleh Departemen Pertahanan Amerika Serikat (ARPAnet) dengan tujuan awal sebagai media komunikasi antar-anggota internal. Proyek
tersebut
dimulai
pada tahun
1968
dan
segera lebih
digeneralisasikan untuk membangun network berskala besar. ARPAnet terus menerus secara berkala untuk mengembangkan sampai akhirnya berhasil. Selanjutnya teknologi untuk menyambungkan satu komputer dengan
21
komputer lainnya akhirnya terealisasi dan pengembangan teknologi ARPAnet yang akhirnya menjadi tulang punggung global yang disebut internet. Internet mulai dikomersialkan pada tahun 1991. Saat ini internet telah berkembang menjadi basis dari revolusi-revolusi yang terjadi di dunia Teknologi Informasi dan Komunikasi selanjutnya. (Sawyer, 2011:50)
2.4.3 World Wide Web (WWW) World Wide Web biasa disebut dengan web merupakan sebuah sistem yang interlinked (kumpulan link atau saluran yang saling terhubung), akses dokumen hypertext melalui internet. (Shalahuddin & A.S, 2010:4)
2.4.4 Hyper Text Transfer Protocol (HTTP) Hypertext Transfer Protocol (HTTP) merupakan aturan pengiriman informasi yang berupa hypertext (teks pada komputer yang memungkinkan user saling mengirimkan informasi (request-respon). HTTP adalah protokol atau aturan standar untuk mengakses dokumen HTML (Hypertext Markup Language) pada Web. HTTP dijalankan dengan cara klien mengirimkan permintaan (request) kepada server dan server membalas permintaan klien dengan respon yang diminta klien. (Shalahuddin & A.S, 2010:4-5)
2.4.5 Aplikasi Berbasis Web Aplikasi berbasis web merupakan halaman dinamis yang mengizinkan interaksi dengan user (user melakukan sesuatu). Interaksi user dengan aplikasi
22
web misalnya user mengeklik sebuah tombol dan warna latar belakang web berubah. Aplikasi web biasanya dibuat dengan menggunakan JavaScript, aplikasi flash, atau applet pada Java. (Shalahuddin & A.S, 2010:6) Aplikasi berbasis web berjalan pada browser platform sehingga aplikasi berbasis web memiliki perbedaan yang sangat signifikan dengan aplikasi berbasis desktop. Pada aplikasi berbasis web, tidak perlu di-compile untuk berjalan. Aplikasi berbasis web bekerja melalui browser dan tidak perlu diinstall pada komputer. Aplikasi berbasis web memiliki portabilitas dan mobilitas yang tinggi. (Stanwick, 2004:8)
2.4.6 Web Client (Browser) Web client atau biasa disebut web browser merupakan suatu perangkat lunak yang dijalankan pada komputer pemakai (user) yang menampilkan dokumen atau informasi web yang diambil dari web server. Contoh dari web browser adalah Internet Explorer, Mozilla Firefox, Google Chrome, dan Opera. (Shalahuddin & A.S, 2010:6) Web browser adalah software yang biasa digunakan untuk mengakses Internet. Beberapa browser yang terkenal adalah Microsoft Internet Explorer, Mozilla Firefox, dan Opera. (Kadir, 2010:3)
2.4.7 Web Hosting Web hosting adalah sebuah layanan yang mengizinkan perorangan atau organisasi membuat sebuah website yang dapat diakses melalui world wide
23
web. Web hosts merupakan organisasi yang menyediakan tempat di server-nya untuk perseorangan atau organisasi meletakkan semua file website-nya dan menyediakan konektivitas dengan internet agar dapat diakses melalui internet. Semua file website yang telah di-hosting dapat diakses dengan menggunakan domain yang telah didaftarkan dan nama sebuah domain tidak boleh sama persis seperti halnya alamat rumah. Jika pada domain misalnya example.com akan berbeda dengan example.net. (Shalahuddin & A.S, 2010:7)
2.5 Konsep E-Business 2.5.1 Pengertian E-Business E-Business atau Electronic Business adalah semua pertukaran informasi melalui media elektronik, baik di dalam organisasi dan dengan para stakeholder eksternal untuk mendukung berbagai proses bisnis (Chaffey, 2010:13) E-Business adalah perdagangan elektronik (atau E-Commerce) dalam arti luas, yaitu mencakup banyak kegiatan lainnya, seperti perdagangan bisnis dengan bisnis lain dan proses internal yang digunakan perusahaan untuk mendukung pembelian mereka, menjual, menyewa, perencanaan, dan kegiatan lainnya. (Schneider, 2011:4) E-Business adalah penggunaan teknologi internet untuk bekerja dan memberdayakan proses bisnis, e-commerce, dan kolaborasi di dalam perusahaan bersama dengan pelanggan, pemasok, dan stakeholder bisnis lainnya. (James A. O’Brien, 2009:12)
24
2.5.2 Konsep E-Commerce 2.5.2.1 Pengertian E-Commerce E-Commerce adalah proses membeli, menjual, memasarkan, melayani produk, jasa, dan informasi dari berbagai jaringan komputer. (James A. O’Brien, 2009:12) E-Commerce (Electronic Commerce, EC) atau perdagangan via elektronik adalah metoda menjual dan membeli barang dan jasa atau layanan menggunakan media elektronik. (Sulianta , 2009:4) E-Commerce
merupakan
suatu
proses
pembelian,
penjualan,
pengiriman, atau pertukaran produk, jasa, atau informasi melalui jaringan komputer, termasuk di dalamnya penggunaan internet (Turban, Rainer & Potter, 2009:168) E-Commerce atau Electronic Commerce adalah penggunaan dari media transmisi elektronik (telekomunikasi) untuk terlibat dalam pertukaran, termasuk membeli dan menjual, produk dan jasa yang membutuhkan transportasi, baik secara fisik maupun digital, dari suatu lokasi ke lokasi lainnya. (Vasarhelyi, 2004:3) 2.5.2.2 Bentuk E-Commerce Bentuk – bentuk E-Commerce (Sulianta , 2009:6) dapat dibagi ke dalam :
25
• E-Tailing (Online Retail Selling) atau “Virtual Storefronts” pada Web Sites dengan disediakannya katalog online yang disebut pula sebagai “Virtual Mall”, salah satu bentuk dari B2C (Business to Consumer). • Mengumpulkan dan menggunakan data secara demografik melalui web kontak. • Electronic Data Interchange (EDI) – Pertukaran data elektronik dengan konsep Business-to-Business (B2B). • Penggunaan e-mail dan fax dalam menjaring konsumen (misalnya newsletters melalui media e-mail). • Membeli dan menjual pada konteks Business-to-Business (B2B). • Sekuritas transaksi bisnis. 2.5.2.3 Internet Commerce Internet Commerce adalah penggunaan internet yang berbasis Teknologi Informasi dan Komunikasi (TIK) untuk perdagangan. (Sulianta , 2009:6) 2.5.2.4 Web Commerce Web Commerce adalah bentuk dari Electronic Commerce yang dikelola melalui World Wide Web dan kadang melibatkan pula e-mail sebagai aspek penting pada internet. (Sulianta , 2009, p6) Contoh dari web commerce adalah pedagang / merchant yang membangun website untuk men-display produk dan layanan agar dapat diakses konsumen melalui web browser. Berbagai metoda akses dan pencarian
26
dibuat agar konsumen mendapat ragam kemudahan dengan ketersediaan 24 jam seharinya. 2.5.2.5 Tujuan E-Commerce E-Commerce (Sulianta , 2009, p6) mampu menangani masalah sebagai berikut : • Otomatisasi (mengganti proses manual) • Integrasi (integrasi proses yang meningkatkan efisiensi dan efektivitas) • Publikasi (melibatkan promosi dan komunikasi produk/jasa) • Transaksi Manfaat bagi konsumen : • Menjelajah market. • Memperbandingkan toko yang satu dengan yang lain. • Waktu yang tidak terbatas. Website tersedia selama 24 jam setiap harinya. • Kemudahan (Ease of Use), misalnya pembayaran online via kartu kredit. • Menghemat uang dan efisiensi waktu. • Barang dapat dikirim langsung ke konsumen, barang digital bahkan dapat segera dikirim online, misalnya software dan e-book. Manfaat Bisnis & Manajemen : • Terbukanya
pangsa
pasar
global.
Internet
dapat
ditransmisikan tanpa batasan geografis dan waktu. • Meminimalisir biaya penyimpanan dan kebutuhan ruang. • Mengurangi kebutuhan sumber daya manusia. • Mengurangi biaya komunikasi.
diakses
dan
27
• Meningkatkan keuntungan / profit. • Loyalitas pelanggan mudah dimanajerial.
2.5.3 E-Marketing / Online Marketing E-Marketing atau Online Marketing adalah pemasaran produk atau layanan melalui internet yang mampu memberi keuntungan unik dengan meminimalisasi budget dan menjangkau distribusi informasi global. Internet Marketing dalam ruang lingkup pemasaran berbasis web kita kenal dengan istilah Web Advertising atau Web Marketing. (Sulianta , 2009:6)
2.6 Software Engineering 2.6.1 Pengertian Software Engineering Rekayasa perangkat lunak adalah disiplin ilmu yang memperhatikan semua aspek dari produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem tersebut selama dalam penggunaannya. (Sommerville, 2011:6-8) Dalam definisi ini terdapat dua kunci utama : • Disiplin rekayasa perangkat lunak. Software Engineer mengaplikasikan teori, metode, dan alat dukung yang dibutuhkan. Tetapi, mereka menggunakannya dengan selektif dan selalu mencoba untuk menemukan solusi dari masalah yang tidak dapat di aplikasikan dengan teori dan metode yang ada. Software Engineer juga menyadari
bahwa mereka harus bekerja dengan memperhatikan
28
keterbatasan organisasi dan keterbatasan finansial yang menjadikan mereka harus mencari solusi di antara keterbatasan tersebut. • Aspek – aspek dari produksi perangkat lunak. Rekayasa perangkat lunak tidak hanya memperhatikan proses teknikal dari pengembangan mencangkup
perangkat aktivitas
lunak.
seperti
Rekayasa
software
perangkat
project
lunak
juga
management
dan
pengembangan alat bantu, metode, dan teori untuk mendukung produksi perangkat lunak.
2.6.2 E-Application E-Application atau Electronic Application merupakan suatu cara dalam penerapan aplikasi dengan menggunakan media elektronik khususnya internet sebagai dasar dalam sistem pengoperasiannya. E-Application merupakan konsekuensi logis dari perkembangan Teknologi Informasi dan Komunikasi (TIK) saat ini.
2.6.3 Object Oriented Programming Pemrograman berorientasi objek atau yang dikenal dengan istilah Object Oriented Programming adalah suatu teknik yang memandang aplikasi perangkat lunak (software) sebagai kumpulan objek yang saling berinteraksi di dalam suatu sistem. Merancang aplikasi dengan menggunakan teknik object oriented dilakukan dengan membagi fungsi-fungsi berdasarkan pembagian tugasnya masing-masing. Pembagian tugas ini ditetapkan kepada setiap class yang dibuat. Setiap class menyediakan pelayanan untuk mengerjakan operasi
29
tertentu. Operasi-operasi ini dilaksanakan oleh object-object yang dibuat di class tersebut. (Azis, 2005:2) Keuntungan yang didapat dari pendekatan object oriented ini adalah kemudahan untuk mengelola kompleksitas aplikasi yang dibuat dan kemudahan untuk melakukan perubahan dan pengembangan aplikasi tersebut. Masing-masing class akan dilengkapi dengan interface (Azis, 2005:3) yang terdiri dari: 1. Nama 2. Operasi yang menjadi tugasnya 3. Cara penggunaan 4. Hasil yang diperoleh Data hanya dapat dimanipulasi menggunakan operasi-operasi yang disediakan di dalam class. Bila terjadi kesalahan (bugs), dapat ditelusuri kesalahan terjadi pada class yang mana, dan perbaikan pada class tersebut tidak akan mengakibatkan terjadinya kesalahan baru pada class yang lain.
2.6.3.1 Model View Controller (MVC) Framework MVC adalah suatu metode yang memisahkan presentasi dan interaksi dari data sistem. Sistem ini terbagi dalam tiga komponen logis yang berinteraksi satu sama lain. (Sommerville, 2011:155-156) Komponen model mengelola sistem data dan operasi yang terkait pada data. Komponen view mendefinisikan dan mengelola bagaimana data disajikan kepada pengguna. Komponen pengendali (control) mengelola
30
interaksi pengguna (penekanan tombol, klik mouse, dll) dan mengirimkan interaksi ini ke view dan model. Keuntungan menggunakan MVC adalah memungkinkan data untuk berubah secara bebas dari representasi sebelumnya. Mendukung penyajian data yang sama dengan hanya mengubah satu representasi dari keseluruhan data yang ada.
Gambar 2.2. Model View Controller (Sumber : Sommerville, 2011:156)
CodeIgniter
31
CodeIgniter ditulis oleh Rick Ellis, seorang musisi rock yang beralih profesi menjadi pemrogram. Penulisan ini dilakukan Rick setelah melakukan suatu riset kecil-kecilan. Rick berniat membuat CI hanya berukuran kecil, dapat berjalan ringan, tetapi memenuhi fitur umum aplikasi PHP. Dengan itu, patut disadari bahwa CI sendiri belum tentu dapat memenuhi semua kebutuhan Anda. Situs berskala besar dan rumit tentunya kurang cocok dibangun dengan CI. Namun demikian, CI memiliki komunitas yang boleh dikatakan
sangat
menyayanginya.
www.codeigniter.com,
CI
menyediakan
Dalam tempat
situs untuk
resminya, para
anggota
komunitasnya yang ingin berbagi aplikasi third-party, baik berupa tambahan library, helper atau plugin. CodeIgniter
(CI)
adalah
framework
pengembangan
aplikasi
(Application Development Framework) dengan menggunakan PHP, suatu kerangka untuk bekerja atau membuat program dengan menggunakan PHP yang lebih sistematis. Pemrogram tidak perlu membuat program dari awal, karena CI menyediakan sekumpulan librari yang banyak yang diperlukan untuk menyelesaikan pekerjaan yang umum, dengan menggunakan antarmuka dan struktur logika yang sederhana untuk mengakses librarinya (Betha Sidik, 2012:1-4) Beberapa fitur dari CI: 1.
Sistem berbasis Model-View-Controller.
2.
Memiliki fitur class database yang mendukung beberapa platform.
3.
Dukungan database dengan Active Record.
32
4.
Form dan validasi data.
5.
Manajemen sesi (session management)
6.
Class untuk pengiriman email yang mendukung lampiran (attachment), email
dengan
HTML/Teks,
menggunakan
berbagai
protokol
(sendmail,SMTP, dan Mail) 7.
Class untuk upload file
8.
Enkripsi data
9.
Full page caching
10. Logging error 11. Class user agent 12. Routing URL yang fleksibel. 2.6.4 Object Oriented Analysis and Design Object Oriented Analysis and Design (OOAD) adalah pendekatan rekayasa perangkat lunak yang memodelkan sistem sebagai sekelompok interaksi objek. Setiap objek mewakili beberapa kepentingan entitas dalam sistem yang dimodelkan, dan ditandai oleh kelasnya, state (elemen data) dan perilakunya. Berbagai model dapat dibuat untuk menunjukkan struktur statis, perilaku dinamis, dan run-time deployment dari kolaborasi objek. Object Oriented Analysis (OOA) adalah metode analisis yang meneliti kebutuhan dari perspektif kelas dan objek yang ditemukan dalam domain masalah. Object Oriented Design (OOD) adalah metode desain yang meliputi proses dekomposisi berorientasi objek dan notasi untuk menggambarkan baik
33
secara fisik , logis , model statis dan dinamis dari sistem di bawah desain. (Booch, 2005:39) 2.7 Model Analysis 2.7.1 Flow Chart Flow Chart adalah salah satu alat yang berguna untuk mengembangkan program komputer. Flow Chart biasanya diambil dan dikembangkan setelah selesai membuat perencanaan dan definisi program dari sebuah proyek software. Hal ini membantu untuk meminimalkan kemungkinan terjadi kesalahan dalam pengembangan program. Flow Chart dianggap sebagai salah satu alat yang berharga untuk desain dan pengembangan algoritma dan kode program. (Moursund, 2001:152)
Gambar 2.3. Simbol Input (Sumber : Dewobroto, 2005:14)
Gambar 2.4. Simbol Output
34
(Sumber : Dewobroto, 2005:14)
Gambar 2.5. Simbol Process atau Lainnya (Sumber : Dewobroto, 2005:14) 2.7.2 Requirement Diagram Requirement Diagram adalah diagram yang mewakili fitur, properti, atau perilaku suatu sistem yang harus disediakan atau dipatuhi. (Debbabi, Hassaine, Jarraya, Soeanu & Alawneh, 2010:67) Requirement Diagram memungkinkan perancang untuk secara eksplisit menyebutkan apa yang diharapkan dari sistem di masa depan. Diagram ini menyediakan sarana untuk menggambarkan persyaratan (requirement) dan menghubungkannya dengan spesifikasi lainnya, desain, atau model verifikasi (verification model). Kelebihan dan kegunaan dari diagram ini adalah memungkinkan seseorang untuk dengan mudah memahami hubungan antara kebutuhan di dalam lingkungan sistem.
35
Komponen - komponen dari Requirement Diagram menurut (Debbabi, Hassaine, Jarraya, Soeanu & Alawneh, 2010:69) adalah : Tabel 2.1. Komponen Requirement Diagram Nama Node Requirement
Sintaks Konkrit
Definisi Termasuk properti untuk menentukan teks,
pengidentifikasi,
dan
tingkat
kekritisan.
Rationale
Melekat pada setiap persyaratan atau hubungan.
Test case
Menghubungkan
requirement
untuk
prosedur verifikasi (test case).
Containment
Menunjukkan bahwa requirement ini
relationship
adalah komposisi sub-requirement.
Satisfy
menunjukkan
dependency
dipenuhi oleh elemen model.
Verify
Menghubungkan
dependency
prosedur verfikasi.
Trace
Menghubungkan
dependency
dengan requirement lainnya.
Derive
Menghubungkan dua requirement di
bahwa
requirement
requirement
suatu
ke
requirement
36
dependency
mana requirement klien dapat berasal dari requirement supplier (pemasok).
Copy
Menghubungkan requirement supplier
dependency
dengan requirement klien, menetapkan bahwa teks requirement klien adalah salinan read-only requirement pemasok.
Refine
Menghubungkan requirement ke model
dependency
elemen lain untuk di klarifikasi.
Gambar 2.6. Contoh Requirement Diagram (Sumber : Debbabi, Hassaine, Jarraya, Soeanu & Alawneh, 2010:68) 2.8 Model Design 2.8.1 User Interface Model (Storyboard) Storyboard adalah sebuah visi yang membantu desain ulang dari rincian tugas user dengan menggunakan gambar dan grafik untuk menggambarkan konsep awal antarmuka pengguna, aturan bisnis, dan asumsi
37
otomatisasi. Storyboard mendefinisikan dan menggambarkan asumsi “yang akan dibangun”. (Shneiderman, 2010:129) 2.8.2 Konsep Unified Modeling Language 2.0 2.8.2.1 Pengertian Unified Modeling Language 2.0 Unified Modeling Language 2.0 adalah bahasa visual
yang
menyediakan cara bagi orang yang ingin menganalisa dan merancang sistem yang berorientasi object agar dapat mengvisualisasi, mengkonstruksi dan mendokumentasikan sistem software dan model bisnis dari suatu sistem organisasi. (Bennett, Skelton, & Lunn, 2005:5) 2.8.2.2 Use Case Diagram Use Case Diagram merupakan urutan tindakan yang dilakukan oleh sistem dan aktor yang menggambarkan
user atau sistem lain yang
berinteraksi dengan sistem yang dimodelkan. (Bennett, Skelton, & Lunn, 2005:20) Use Case juga dapat digunakan untuk memodelkan apa yang terjadi di dalam sistem yang ada, atau Use Case dapat juga digunakan untuk memodelkan sistem baru yang akan dikembangkan. Menurut (Bennett, Skelton, & Lunn, 2005:22), tujuan utama membuat Use Case adalah : 1.
Digunakan untuk memodelkan urutan tindakan yang dilakukan oleh sistem dan memberikan hasil yang dapat diamati seseorang atau sesuatu di luar sistem.
38
2.
Use Case memberikan pandangan tingkat tinggi dari apa yang dilakukan sistem dan siapa yang menggunakannya
3.
Use Case menyediakan dasar untuk menentukan antarmuka (interface) manusia-komputer dan komputer-komputer ke sistem
4.
Use Case dapat digunakan untuk memodelkan skenario alternatif untuk kasus tertentu yang dapat mengakibatkan urutan yang berbeda dari suatu proses (actions).
5.
Use Case menggunakan notasi diagram sederhana yang mudah dipahami oleh
pengguna
akhir
(end
user)
dan
dapat
digunakan
untuk
berkomunikasi dengan mereka (pengguna akhir) tentang pandangan tingkat tinggi dari sistem. 6.
Use Case dapat digunakan sebagai dasar untuk menyusun spesifikasi tes.
Gambar 2.7. Contoh Use Case Diagram
39
Use Case Diagram memiliki komponen sebagai berikut (Bennett, Skelton, & Lunn, 2005:22-30): Tabel 2.2. Komponen Use Case Diagram Simbol
Deskripsi
Fungsionalitas yang disediakan sistem sebagai unitnama use case
unit yang saling bertukar pesan antar unit atau aktor; biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case.
Aktor / actor
Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang. Biasanya dinyatakan menggunakan kata benda di awal frase nama aktor.
Nama aktor Asosiasi / association
Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor.
Ekstensi / extend
Relasi use case tambahan ke sebuah use case
<<extend>>
dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu; mirip dengan prinsip inheritance pada pemrograman berorientasi objek; biasanya use case tambahan
40
memiliki nama depan yang sama dengan use case yang ditambahkan, misal
arah panah
mengarah
pada use case
yang
ditambahkan Generalisasi / generalization
Hubungan generalisasi dan spesialisasi (umum khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya, misalnya:
mengelola data hapus data ubah data arah panah mengarah pada use case yang menjadi
41
generalisasinya (umum) Menggunakan / include / uses
relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini ada dua sudut pandang yang cukup besar mengenai include di use case: include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan dijalankan, misal pada kasus berikut:
include berarti use case yang tambahan akan selalu melakukan pengecekan apakah use case yang ditambahkan telah dijalankan sebelum use case tambahan dijalankan, misal pada kasus berikut:
42
Kedua interpretasi di atas dapat dianut salah satu atau keduanya tergantung pada pertimbangan dan interpretasi yang dibutuhkan. arah panah include mengarah pada use case yang dipakai keduanya tergantung pada pertimbangan dan interpretasi yang dibutuhkan. arah panah include mengarah pada use case yang dipakai.
2.8.2.3 Class Diagram Class Diagram adalah diagram yang menunjukkan pandangan statis dari kelas dalam suatu model. Atribut dan operasi dari kelas dapat ditampilkan bersama dengan berbagai relationship yang mengikat kelas. (Bennett, Skelton, & Lunn, 2005:42) Kelas memiliki tiga area pokok : 1. Nama 2. Atribut 3. Operasi Contoh kelas : Mahasiswa Atribut: Nama, NIM, Alamat Method/Operasi: Belajar, Ujian
43
Gambar 2.8. Contoh Class Diagram Multiplisitas / Multiplicity Multiplisitas menunjukkan jumlah suatu objek yang bisa berhubungan dengan objek yang lain. Umumnya ditunjukkan dengan berapa banyak objek yang bisa mengisi properti “satu” atau “banyak”, tetapi secara khusus dapat ditunjukkan pula dengan bilangan integer lebih besar atau sama dengan nol. Misalnya : • 1 pasti 1 • 0..1 0 atau 1 • 0..* bisa 0 sampai banyak • 1..* bisa 1 sampai banyak • * lebih dari 1 Relasi antar Kelas : Asosiasi Asosiasi, yaitu hubungan statis antar kelas. Umumnya menggambarkan class yang memiliki atribut berupa kelas lain, atau class yang harus
44
mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. Asosiasi menggambarkan hubungan antar class dengan ditandai dengan anak panah
lalu ditambahkan label dan multiplicity untuk
memperjelas hubungan. Agregasi Agregasi adalah hubungan “bagian dari” atau “bagian ke keseluruhan”. Suatu kelas / objek mungkin memiliki atau bisa dibagi menjadi kelas / objek tertentu dimana objek / kelas yang disebut kemudian merupakan bagian dari kelas / objek yang terdahulu. Generalisasi Generalisasi adalah relasi ke atas beberapa subkelas kepada super kelas diatasnya (ditunjukkan dengan notasi segitiga). Sub kelas mewarisi fitur dari super kelasnya. Sub kelas mampu overriding metode super kelasnya. Dependency Dependency adalah hubungan dimana perubahan pada suatu kelas akan mempengaruhi kelas yang lain dimana kelas yang terakhir ini bergantung pada kelas yang sebelumnya. Dalam dependency antar 2 elemen jika terjadi perubahan pada salah satu elemen maka akan mengakibatkan perubahan pada elemen yang lain. Semakin kompleks sistem, maka dependency menjadi sesuatu yang harus dipertimbangkan. Dependency hanya berlaku satu arah. Bisa diperjelas
45
dengan penggunaan keyword, seperti <<parameter>>, <<use>>, <
>, notasi anak panah dan garis putus-putus. 2.8.2.4 Activity Diagram Activity Diagram adalah suatu cara untuk menggambarkan alur kerja yang dapat digunakan dalam berbagai cara. Sebagai alat analisis, Activity Diagram dapat menggambarkan alur bisnis dalam berbagai tingkat detail dan juga dapat digunakan untuk menggambarkan alur kompleks di dalam atau antara kasus penggunaan. Pada tingkat desain, Activity Diagram dapat digunakan untuk menjelaskan secara rinci aliran dalam operasi. (Bennett, Skelton, & Lunn, 2005:234) Berikut adalah komponen-komponen yang ada pada diagram aktivitas (Bennett, Skelton, & Lunn, 2005:236-248): Tabel 2.3. Komponen Activity Diagram Simbol Status awal
Deskripsi Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja.
Percabangan / decision
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu
Status akhir
Status akhir yang dilakukan sistem, sebuah
46
diagram aktivitas memiliki sebuah status akhir. Swimlane
Memisahkan
organisasi
bisnis
yang
bertanggung jawab terhadap aktivitas yang terjadi.
Atau
Fork,
digunakan
untuk
menunjukkan
kegiatan yang dilakukan secara paralel. Join, digunakan utk menunjukkan kegiatan yang digabungkan.
47
Gambar 2.9. Contoh Activity Diagram
2.8.2.5 Sequence Diagram Sequence Diagram menunjukkan lifelines yang mewakili objek atau sistem yang berpartisipasi dalam interaksi, dimana tidak menunjukkan hubungan struktural antara lifelines
tetapi mereka menunjukkan urutan
interaksi visual dengan menggunakan sumbu vertikal dari diagram untuk menunjukan waktu. (Bennett, Skelton, & Lunn, 2005:158)
48
Sequence Diagram digunakan untuk memodelkan interaksi tingkat tinggi di antara object yang aktif di dalam sistem, subsistem, dan interaksi yang dapat dikombinasikan dalam Sequence Diagram lain atau dalam Interaction Diagram. Sequence Diagram memiliki komponen sebagai berikut (Bennett, Skelton, & Lunn, 2005:159-174): Tabel 2.4. Komponen Sequence Diagram Simbol
Deskripsi Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; biasanya dinyatakan menggunakan kata benda di awal frase nama aktor. Merepresentasikan
partisipasi
dari
objek
dalam
keadaan
dalam
melakukan interaksi.
Waktu aktif
Menyatakan
objek
aktif
dan
berinteraksi pesan. Pesan tipe call
Menyatakan suatu objek memanggil operasi/metode yang ada pada objek lain atau dirinya sendiri,
49
arah panah mengarah pada objek yang memiliki operasi/metode, karena ini memanggil operasi/metode maka operasi/metode yang dipanggil harus ada pada diagram kelas sesuai dengan kelas objek yang berinteraksi. Pesan tipe message
Menyatakan
bahwa
suatu
objek
mengirimkan
data/masukan/ informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi. Pesan tipe return message
Menyatakan
bahwa
suatu
objek
yang
telah
menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarah pada objek yang menerima kembalian.
50
Gambar 2.10. Contoh Sequence Diagram 2.8.2.6 Statechart Diagram Statechart Diagram atau State Diagram menggambarkan perilaku elemen model dinamis, dan memiliki hubungan erat dengan Activity Diagram, dimana Activity Diagram menggambarkan aliran antara bidang kegiatan, sedangkan State Diagram menggambarkan aliran antar state. (Bennett, Skelton, & Lunn, 2005:260) State Diagram digunakan terutama untuk menggambarkan perilaku class, tetapi State Diagram juga dapat digunakan untuk menggambarkan perilaku unsur-unsur lain dari model, seperti Use Case , aktor, subsistem dan operasi.
51
Gambar 2.11. Contoh Statechart Diagram State Diagram memiliki komponen-komponen
sebagai berikut
(Bennett, Skelton, & Lunn, 2005:262-265): Tabel 2.5. Komponen Statechart Diagram Simbol
Deskripsi
Status awal / kondisi awal
Status awal alur sebuah objek, sebuah diagram status memiliki sebuah status awal.
Status
Status yang dialami objek selama hidupnya.
Status akhir / kondisi akhir Kondisi akhir alur hidup objek, sebuah diagram status memiliki sebuah status akhir.
Transisi
Garis transisi antar status pada daur hidup objek, transisi biasanya diberi nama pesan yang ada pada
52
nama transisi
diagram sekuen sehingga pesan pada diagram sekuen menjadi
transisi
bukan
sebagai
status,
status
merupakan kondisi yang dialami objek, bukan merupakan pesan (message), transisi juga bisa memutar pada sebuah status.
2.8.2.7 Component Diagram Menurut (Bennett, Skelton, & Lunn, 2005:143), Component Diagram dapat memenuhi beberapa tugas dalam proses modeling : 1.
Memodelkan gambaran dari komponen software dan tampilan antara kondisi sistem awal dan sekarang.
2.
Menyembunyikan spesifikasi pokok dari detail hubungan timbal balik antar komponen.
3.
Menunjukan bagaimana komponen saling terintegrasi dalam suatu rancangan sistem.
53
Gambar 2.12. Contoh Component Diagram Component Diagram memiliki komponen – komponen sebagai berikut (Bennett, Skelton, & Lunn, 2005:143-149): Tabel 2.6. Komponen Component Diagram Simbol
Deskripsi
Package
package merupakan sebuah bungkusan dari satu atau lebih komponen.
Komponen
Kebergantungan / dependency
Komponen sistem.
Kebergantungan antar komponen, arah panah mengarah pada komponen yang dipakai.
54
Menggambarkan komponen yang menyediakan interface.
Menggambarkan
komponen
yang
membutuhkan interface.
Menghubungkan komponen yang menyediakan interface
dengan
komponen
yang
membutuhkan interface.
2.8.2.8 Deployment Diagram Deployment Diagram digunakan untuk memodelkan hardware yang akan digunakan untuk mengimplementasikan sistem, menghubungankan item hardware dan software deployment ke dalam hardware. Selain itu, Deployment Diagram juga digunakan untuk memodelkan konfigurasi elemen hardware yang menyusun sistem, termasuk komputer (client & server), processor, dan alat lain seperti sensor dan lainnya. (Bennett, Skelton, & Lunn, 2005:299) Tujuan menggunakan diagram ini adalah : 1.
Memodelkan elemen hardware dan jalur komunikasi di antara mereka.
2.
Merencanakan arsitektur sistem.
3.
Mendokumentasikan proses deployment software ke dalam hardware.
55
Gambar 2.13. Contoh Deployment Diagram Berikut ini adalah komponen-komponen dari Deployment Diagram (Bennett, Skelton, & Lunn, 2005:300-303):
Tabel 2.7. Komponen Deployment Diagram Simbol Package
Deskripsi Package merupakan sebuah bungkusan dari satu atau lebih node.
56
Node
Biasanya
mengacu
pada
perangkat
keras
(hardware), perangkat lunak yang tidak dibuat sendiri (software), jika di dalam node disertakan komponen untuk mengkonsistenkan rancangan maka komponen yang diikutsertakan harus sesuai dengan
komponen
yang
telah
didefinisikan
sebelumnya pada diagram komponen. Kebergantungan
/ Kebergantungan antar node, arah panah mengarah
dependency
pada node yang dipakai.
Link
Relasi antar node.
Komponen
Komponen sistem.
Menggambarkan bagaimana hardware digunakan untuk implementasi sistem.
57
2.8.2.9
Enterprise Architect Enterprise Architect (http://sparxsystems.com/) adalah suatu software yang
membantu proses penerjemahan visi bisnis dan strategi ke dalam perubahan yang efektif dengan menciptakan, mengkomunikasikan, dan meningkatkan persyaratan utama, prinsip-prinsip dan model yang menggambarkan keadaan masa depan perusahaan dan memungkinkan evolusinya. Tujuan dari Enterprise Architect adalah efektivitas, efisiensi, agility, dan daya tahan.
2.9 Interaksi Manusia dan Komputer 2.9.1 Pengertian Interaksi Manusia dan Komputer Interaksi Manusia dan Komputer adalah gabungan dari metode pengumpulan data dan kecerdasan framework dari pengalaman pisikologi dengan menggunakan development tools dari ilmu komputer. (Shneiderman, 2010:4)
2.9.2 Delapan Aturan Emas Desain Tampilan Pengguna (Eight Golden Rules of Interface Design) Shneiderman memaparkan 8 (delapan) aturan yang dapat digunakan sebagai petunjuk dasar yang baik untuk merancang suatu user interface. Depan aturan ini dikenal dengan istilah Eight Golden Rules of Interface Design (Shneiderman, 2010, 88-89), yaitu : 1.
Mempertahankan konsistensi.
Peraturan ini adalah yang paling sering dilanggar, padahal konsistensi sangat dibutuhkan. Konsisten disini berarti setiap aksi memerlukan situasi yang
58
sama, terminologi yang serupa harus digunakan di tampilan home, menu, layar bantuan, serta konsisten menggunakan warna, layout, penggunaan huruf besar, jenis dan ukuran font. 2.
Memenuhi kegunaan yang universal
Kebutuhan user harus bisa dibedakan. Apakah user adalah seorang ahli atau seorang pemula. Untuk pemula mungkin akan dibutuhkan banyak penjelasan untuk hal-hal tertentu. Namun untuk seorang ahli mungkin lebih membutuhkan fitur-fitur yang mempermudah seperti shortcut. 3.
Memberikan umpan balik yang informatif
Harus ada umpan balik dari sistem untuk setiap tindakan operator. Bagi tindakan yang sering dan jarang, respon dapat sederhana, sedangkan untuk tindakan yang sering dan utama, respon harus lebih besar. 4.
Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan harus diatur ke dalam kelompok awal, tengah, dan akhir. Umpan balik yang informatif pada penyelesaian sekelompok operator memberikan kepuasan, rasa lega, sinyal untuk menghentikan rencana kontingensi
dan
pilihan
dari
pikiran
mereka,
dan
indikasi
untuk
mempersiapkan tindakan kelompok berikutnya. 5.
Pencegahan Kesalahan User
Sebisa mungkin, desain sistem dibuat sedemikian rupa sehingga pengguna tidak sampai membuat kesalahan yang serius. Jika kesalahan dibuat, sistem harus dapat mendeteksinya dan akan menawarkan instruksi yang sederhana, membangun dan spesifik untuk menangani kesalahan. 6.
Mengijinkan Pembalikkan Aksi yang Mudah
59
Fitur ini mengurangi kecemasan, karena pengguna tahu bahwa kesalahan dapat dibatalkan, sehingga mendorong eksplorasi pilihan lain. Unit dari pembalikan aksi dapat berupa sebuah aksi, entri data, atau beberapa aksi. 7.
Mendukung pusat pengendali internal (internal locus of control)
Pengguna yang berpengalaman berkeinginan kuat untuk merasakan bahwa mereka bertanggung jawab dan menjadi pengontrol atas sistem dan sistem akan merespon tindakan yang dilakukan pengguna daripada pengguna merasa bahwa sistem yang mengontrol pengguna. 8.
Mengurangi beban ingatan jangka pendek user.
Keterbatasan pengolahan informasi manusia dalam memori jangka pendek memerlukan tampilan yang tetap sederhana, menampilkan beberapa halaman yang digabungkan, frekuensi pergerakan dikurangi, dan waktu pelatihan yang memadai yang dialokasikan untuk kode, mnemonik, dan urutan tindakan.
2.10 Konsep Database 2.11.1 Data Data adalah deskripsi dasar dari hal-hal, kejadian, kegiatan, dan transaksi yang dicatat, diklasifikasikan, dan disimpan tetapi tidak diatur untuk menyampaikan makna tertentu. (Rainer and Turban, 2009:6) Data adalah kumpulan dari fakta yang biasanya dikumpulkan sebagai hasil dari pengalaman, observasi, atau percobaan atau juga proses dengan sistem komputer. Data bisa mengandung angka, kata ataupun gambar
60
biasanya sebagai perkiraan atau observasi dari set variabel. (Deliana, Cahya & Kaisariza, 2009:1) Dari uraian di atas dapat ditarik kesimpulan bahwa data adalah fakta tentang suatu transaksi bisnis yang dapat disimpan dan digunakan kapan saja untuk berbagai kepentingan yang akan datang.
2.11.2 Database Database adalah sebuah kumpulan data yang terhubung secara logikal dan sebuah deskripsi tentang data tersebut yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi (Connoly, 2010:65). Database (ataupun basis data dalam bahasa Indonesia) merupakan kumpulan record yang terstruktur atau data yang tersimpan pada sebuah sistem komputer. Struktur ini didapat dengan mengatur data berdasarkan model database. Model yang saat ini sering digunakan adalah model relasi (relational model). Model-model yang lain seperti model hirarikal (hierarchical model), dan model jaringan (network model) digunakan secara eksplisit untuk merepresentasikan hubungan relasi (relationship). (Deliana, Cahya & Kaisariza, 2009:1-2) Dari uraian di atas, dapat ditarik kesimpulan bahwa database adalah sekumpulan data dalam bentuk record yang dibuat untuk menyediakan informasi yang dibutuhkan.
61
2.11.3 Database Management System Database Management System merupakan sistem perangkat lunak yang memungkinkan pengguna mendefinisikan, membuat, memelihara dan mengendalikan akses ke database (Connoly, 2010:66) Database Management System atau lebih sering disingkat sebagai DBMS
merupakan
perangkat
lunak
untuk
mengatur
organisasi
penyimpanan, manajemen, dan pengambilan data pada database. (Deliana, Cahya & Kaisariza, 2009:4-5) Biasanya DBMS menyediakan fasilitas sebagai berikut : a) Data Manipulation Language (DML), memungkinkan user untuk menyisipkan, meng-update, menghapus dan menerima data dari basis data dengan menciptakan fasilitas permintaan data umum yang disebut query language. b) Data
Definition
Language
(DDL),
memungkinkan
user
untuk
mendefinisikan basis data, tipe dan struktur data, serta memberi batasan pada data untuk disimpan dalam basis data. 2.11.4 Entity Relationship Diagram Entity Relation Diagram (ERD) adalah sebuah ilustrasi dari entitas– entitas dalam bisnis dan relationship antar entitas. ERD memisahkan antara informasi yang dibutuhkan dari aktivitas-aktivitas dalam bisnis. Jadi, mesipun terjadi perubahan proses bisnis, jenis informasi dan struktur data hampir tetap konstan.
62
Tujuan utama dari penggambaran ERD adalah untuk menunjukan struktur objek data (entity) dan hubungan (relationship) yang ada pada objek tersebut. ERD juga memperlihatkan hubungan antara data store pada Data Flow Diagram (DFD). Terdapat lima macam konstruksi utama ERD, yaitu : 1. Entity Entity atau entitas adalah konsep dasar dalam pemodelan basis data berupa individu yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. 2. Atribut Karakteristik suatu entitas yang mendeskripsikan suatu entitas. Atribut juga dapat disebut sebagai karakteristik atau properti dari entitas yang menyediakan penjelasan detail tentang entitas tersebut. 3. Relationship Relasi menunjukkan adanya hubungan di antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relationship tidak mempunyai keberadaan fisik kecuali yang mewarisi dari hubungan entitas tersebut. 4. Key Setiap entity biasanya memiliki sebuah atribut yang nilainya berbeda untuk masing-masing individu dalam entity. Oleh karena itu, dua nilai yang sama untuk atribut kunci tersebut tidak dibolehkan. 5. Kardinalitas
63
Pemetaan kardinalitas menspesifikasikan jumlah kejadian relationship dimana sebuah entity dapat berpartisipasi. Ada empat macam rasio kardinalistas, yaitu: a.
One to One (1:1)
b.
One to Many (1:N)
c.
Many to One (N:1)
d.
Many to Many (N:N)
2.11.5 MySQL MySQL adalah SQL Relational Database Management System (RDBMS) bersifat open source yang kebanyakan dapat digunakan dengan gratis. MySQL banyak dipakai orang karena lisensinya yang liberal, performa yang tinggi, penggunaannya yang mudah, serta teknologi lain yang ikut memakai MySQL seperti PHP, Perl, dan Python. (Converse, Park, & Morgan, 2004:4)
2.11 Web Programming 2.12.1 HTML 2.12.1.1 Pengertian HTML HTML
(HyperText
Markup
Language)
adalah
suatu
bahasa
pemrograman dalam bentuk skrip yang dapat digunakan untuk menyusun halaman web. Inilah kode yang pertama kali dilibatkan dalam aplikasi web. (Kadir, 2010:5)
64
HTML atau Hypertext Markup Language adalah suatu format data yang digunakan untuk membuat dokumen hypertext (teks pada komputer yang memungkinkan user saling mengirimkan informasi atau request-respnse. (Shalahuddin & A.S, 2010:19). Dokumen HTML tersebut harus disimpan dengan ekstensi .htm atau .html. HTML memiki tag-tag yang telah didefinisikan untuk membuat halaman web. Penulisan tag-tag HTML dapat menggunakan huruf besar atau huruf kecil, karena HTML tidak case sensitive (membedakan huruf besar dan huruf kecil yang memiliki maksud berbeda). Cara penulisan tag-tag HTML biasanya sebagai berikut : Teks 2.12.1.2 Sejarah HTML HTML berawal pada tahun 1980 ketika perusahaan IBM berniat membuat bahasa kode untuk mengkombinasikan teks dengan perintah pemformatan agar mengenali elemen dokumen. IBM menamakannya dengan Generalized Markup Language (GML) yang kemudian menjadi Standard Generalized Markup Language (SGML). Pada tahun 1989, Caillau Tim bekerja sama dengan Barners Lee Robert mengembangkan SGML menjadi Hyper Text Markup Language (HTML), yang digunakan untuk membuat halaman website. Mulai tahun 1990, perkembangan HTML sedemikian pesat seiring dengan meningkatnya perkembangan web.
65
Tahun 1995, Internet Engineering Task Force (IETF) mengembangkan HTML 2.0 dilanjutkan oleh Word Wide Web Consortium yang menghasilkan HTML 3.2 pada tahun 1997. Versi HTML selanjutnya adalah 4.01, meskipun saat ini telah berkembang XHTML yang merupakan pengembangan dari HTML. 2.12.1.3 Kelebihan Dan Kekurangan HTML Kelebihan 1.
Dapat digunakan pada berbagai jenis mesin komputer dan sistem operasi yang berbeda.
2.
Tidak membutuhkan kompiler, cukup dengan menggunakan browser.
3.
Dapat disisipi berbagai macam bahasa pemrograman, seperti PHP, JSP, ASP, dan sebagainya.
4.
Dapat disisipi gambar baik statis maupun dinamis (animasi).
Kekurangan 1.
Halaman yang dihasilkan bersifat statis, untuk memperoleh halaman dinamis harus menggunakan bahasa pemrograman tertentu seperti JavaScript, dan sebagainya.
2.
Memiliki banyak tag sehingga dapat membingungkan orang yang masih awam.
66
2.12.2 PHP 2.12.2.1 Pengertian 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 PHP adalah singkatan dari PHP Hypertext Preprocessor yaitu bahasa pemrograman web server-side 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 merupakan script yang digunakan untuk membuat halaman web yang dinamis yang 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.12.2.2 Sejarah PHP PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada saat itu PHP bernama FI (Form Interpreted) adalah sekumpulan script yang digunakan untuk mengolah data form dari web. Perkembangan selanjutnya, Rasmus melepaskan kode sumber tersebut dan menamainya PHP atau FI yang berganti kepanjangan menjadi Personal Home Page atau Form Interpreter. Dengan pelepasan kode sumber ini menjadi open source, maka banyak programmer yang tertarik untuk ikut mengembangkan PHP.
67
Selanjutnya pada November 1997, dirilis PHP/FI 2.0 yang merupakan cikal bakal PHP 3. Pada rilis ini interpreter sudah diimplementasikan dalam C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan. PHP Versi 3 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 nama rilis tersebut menjadi PHP 3.0. Fasilitas tambahan PHP versi 3 dibandingkan versi sebelumnya, selain terdapat tambahan fungsifungsi baru, juga mendukung beberapa akses ke banyak database, pengelolaan protokol, dan API. Dari versi 3 lah singkatan PHP muncul, yaitu PHP : Hypertext Preprocessor. PHP Versi 4 Pada musim dingin di tahun 1998, dilakukan penulisan ulang bahasa pemrograman PHP ini untuk membuat ketangguhan bahasa bahasa pemrograman ini. Akhirnya 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. Versi ini banyak dipakai sebab versi ini mampu dipakai untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan proses dan stabilitas yang tinggi. PHP versi 4.0 ini juga mempunyai keunggulan dibandingkan versiversi sebelumnya, diantaranya mendukung ke beberapa web server, fasilitas
68
HTTP session, output buffer dan sistem keamanan. Pada perkembangannya, saat itu hampir 20% web server menggunakan bahasa PHP sebagai interpreternya. PHP Versi 5 Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar dan dikenalkan model pemrograman berorientasi objek baru untuk menjawab perkembangan bahasa pemrograman ke arah pemrograman berorientasi objek. 2.12.2.3 Kelebihan Dan Kekurangan PHP Kelebihan PHP 1. Bisa membuat web menjadi dinamis. 2. PHP bersifat open source, sehingga dapat digunakan oleh siapa saja secara gratis. 3. Program atau aplikasi yang dibuat menggunakan PHP dapat running atau dijalankan di semua sistem operasi. Karena PHP berjalan secara web base, itu artinya semua sistem operasi yang memiliki web browser dapat menggunakan aplikasi ini, dan semua OS bahkan handphone tentu saja selalu memiliki web browser dengan kata lain sangat mobile dan fleksible. 4. Aplikasi dengan PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton bahkan lebih cepat dibanding dengan ASP maupun Java dalam berbagai aplikasi web (kecepatan ini bisa bervariasi karena dipengaruhi oleh tipe aplikasi dan jumlah pengunjung).
69
5. Mendukung banyak paket database baik komersial maupun nonkomersial (Adabas D, dBase, Direct MS-SQL, Empress, FilePro, FrontBase, Hyperwave, IBM DB2, Informix, Ingres, Interbase, MSQL, MySQL, ODBC, Oracle, Ovrimos, PostgrSQL, Solid, Sybase, UNIX DBM, Velocis). 6. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya. 7. Web Server yang mendukung PHP banyak ditemukan mulai dari Apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah. 8. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan. 9. Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak. Kekurangan PHP 1. Permasalahan yang sering terjadi pada register_globals. 2. Tidak mengenal package. 3. Jika tidak diencoding, maka kode PHP dapat dibaca semua orang. Untuk encodingnya Anda membutuhkan Tool dari Zend dan biaya encoding ini sangat mahal. 4. Tidak
memiliki
sistem
pemrograman
sesungguhnya (sampai versi 4 ini)
berorientasi
objek
yang
70
5. PHP memiliki kelemahan security. Tertentu apabila programmer tidak jeli, atau berhati-hati dalam melakukan pemrograman dan kurang memperhatikan isu dan konfigurasi PHP.
2.12.3 JavaScript 2.12.3.1 Pengertian JavaScript JavaScript adalah bahasa script yang berjalan pada web browser (sebagai client server programming) dan digunakan untuk menyediakan akses script untuk objek yang dimasukkan (embedded) di aplikasi lain. JavaScript merupakan nama implementasi dari Netscape Communications Corporation untuk ECMAScript standar, yaitu suatu bahasa script yang didasarkan pada konsep pemrograman berbasis prototipe. (Madcoms, 2012:2) JavaScript adalah bahasa script (bahasa pemrograman yang dapat memegang kontrol aplikasi) yang berbasis pada pemrograman Java, namun JavaScript bukanlah bagian teknologi Java dari Sun. Java merupakan bahasa pemrograman berorientasi objek murni sedangkan JavaScript digunakan secara prosedural. (Shalahuddin & A.S, 2010:65). Cara kerja JavaScript adalah mengakses elemen pada pada HTML dan membuat aksi jika elemen-elemen HTML itu mengalami perubahan, misalnhya berubahnya warna halaman web begitu sebuah tombol diklik. JavaScript membuat sebuah halaman web menjadi lebih dinamis. JavaScript yang digunakan pada halaman web merupakan client side scripting yang berarti bahwa web browser mengidentifikasi dan menjalankan skrip program
71
yang disisipkan dalam dokumen web (yang diterima dari server), dan mungkin memperbarui tampilan halaman di komputer pemakai (user) tanpa mengirimkan permintaan (request) baru kepada web server. Karena JavaScript pada halaman web adalah client side scripting maka kode JavaScript yang ditulis satu file dengan dokumen HTML akan ditampilkan ketika halaman web dilihat source code-nya. JavaScript merupakan bahasa yang case-sensitive seperti halnya bahasa pemrograman Java yaitu membedakan penulisan dengan huruf kecil dan huruf besar memiliki arti yang berbeda. JavaScript dapat ditulisa secara inline atau satu file dengan HTML atau dapat juga ditulis pada file terpisah dengan ekstensi .js. Javascript yang ditulis satu file dengan dokumen HTML dapat ditulis sebagai berikut :
.............................. <script type=”text/javascript” language= ”JavaScript”> /* kode dengan menggunakan JavaScript disini */ .............................. Gambar 2.14. Contoh Kode JavaScript 1
Atau dapat juga ditulis di tengah tag body sebagai berikut:
72
.............................. .............................. <script type = ”text/javascript” language= ”JavaScript”> /* kode dengan menggunakan JavaScript disini */ ............................... Gambar 2.15. Contoh Kode JavaScript 2 Sedangkan jika JavaScript ditulis pada file terpisah dengan dokumen HTML maka kode dapat ditulis sebagai berikut: .............................. .............................. <script type=”text/javascript” language= ”JavaScript” src=”nama-file.js”> /* kode dengan menggunakan JavaScript disini */ ............................... Gambar 2.16. Contoh Kode JavaScript 3 2.12.3.2 Sejarah JavaScript JavaScript diperkenalkan pertama kali oleh Netscape pada tahun 1995, yang bertujuan untuk menangani validasi input dengan meninggalkan bahasa server-side sebagai bahasa Perl. Pada awalnya bahasa ini dinamakan “LiveScript” yang berfungsi sebagai bahasa sederhana untuk browser
73
Netscape Navigator 2. Pada masa itu bahasa ini banyak dikritik karena kurang aman, pengembangannya yang terkesan terburu-buru dan tidak ada pesan kesalahan yang ditampilkan setiap kali kita membuat kesalahan saat menyusun suatu program. Kemudian sejalan dengan sedang giatnya kerjasama antara Netscape dan Sun (pengembang bahasa pemrograman “Java”) pada masa itu, maka Netscape memberi nama “JavaScript” kepada bahasa tersebut pada tanggal 4 Desember 1995. Pada saat yang bersamaan Microsoft sendiri mencoba untuk mengadaptasikan teknologi ini yang mereka sebut sebagai “Jscript” di browser Internet Explorer 3. Pada tahun 1997, JavaScript dimasukkan ke European Computer Manufactures Association (ECMA) sebagai proposal. Technical Committee #39 (TC39) yang menugaskan untuk menstandarisasi syntax dan semantic dengan tujuan umum, cross-platform, bahasa script vendor-neutral, dan dibuatkan program dari Netscape, Sun, Microsoft, dan Borland. TC39 kemudian mengeluarkan ECMA-262 sebagai standar untuk mendefinisikan bahasa script dengan nama ECMAScript. International Organization for Standardization dan International Electrotechnical Commision (ISO/IEC) juga mengadopsi ECMAScript sebagai standar (ISO/IEC-16262). Sejak saat itu web browser mencoba dengan berbagai tingkatan sukses dan gagal untuk menggunakan ECMAScript sebagai dasar untuk implementasi JavaScript.
74
2.12.3.3 Kelebihan dan Kekurangan JavaScript Kelebihan Javascript 1. Skrip pada JavaScript memiliki ukuran yang lebih kecil sehingga akses tampilan web yang menggunakan JavaScript akan lebih cepat dibandingkan dengan web yang memiliki script Java. 2. Mudah untuk dipelajari karena JavaScript merupakan bahasa semi pemrograman yang merupakan gabungan antara bahasa pemrograman Java dengan HTML. 3. JavaScript tidak terikat oleh hardware maupun software tertentu bahkan sistem operasi seperti Windows maupun Unix. Karena bersifat terbuka, maka dapat dibuat dan dibaca di semua jenis komputer. Kekurangan Javascript 1. Skrip tidak terenkripsi karena langsung ditampilkan di browser sehingga user lain bisa melihat dan meniru source-nya. 2. Walaupun JavaScript mampu membuat bentuk web menjadi lebih dinamis dan interaktif, tetapi JavaScript tidak mampu membuat program aplikasi yang dapat berdiri sendiri seperti Java. 3. JavaScript tidak mampu membuat kelas-kelas yang mampu bisa menampung objek tambahan seperti Java karena JavaScript telah memiliki objek yang built-in pada struktur bahasanya.
75
2.12.4 AJAX 2.12.4.1 Pengertian AJAX AJAX (Asynchronous JavaScript and XML) adalah suatu teknik yang memungkinkan untuk membuat aplikasi web interaktif (mirip dengan fitur pada aplikasi desktop). (Kadir, 2010:9-10) AJAX atau Asyncronous JavaScript and XML merupakan kumpulan teknologi di mana klien berinteraksi dengan server dengan menggunakan JavaScript dengan proses asinkron (background) secara periodik, di mana pengiriman data menggunakan XML. (Shalahuddin & A.S, 2010:131) AJAX biasanya digunakan untuk terus menampilkan update terbaru dari halaman web. Menggunakan AJAX berarti proses interaksi dengan server dilakukan terus-menerus selama halaman web dibuka secara periodik, hal ini menyebabkan memakan bandwidth yang cukup besar. Mekanisme kerja AJAX adalah sebagai berikut : • Klien mengirimkan request ke server. • Server melakukan proses pengambilan data yang diperlukan guna memenuhi permintaan klien. • Server mengirimkan data ke klien dengan menggunakan XML. • Klien menerima data dan memperbarui tampilan halaman web sesuai dengan data yang dikirimkan oleh server.
76
2.12.4.2 Sejarah Ajax Pada tahun 1990-an, kebanyakan website hanya menggunakan halaman HTML yang utuh, setiap aksi user membutuhkan halaman untuk reload kembali dari server. Cara ini tidak efisien karena semua konten akan hilang kemudian muncul kembali setelah selesai di reload. Setiap kali halaman di reload, tidak hanya informasi yang berubah, tetapi semua konten harus dikirim ulang. Hal ini dapat membuat beban tambahan pada server dan penggunaan bandwidth yang berlebihan. Pada tahun 1996, tag iFrame diperkenalkan oleh Internet Explorer untuk memuat konten asynchronously. Frames memungkinkan tampilan jendela browser HTML akan dipecah menjadi segmen, yang masing-masing dapat menunjukkan dokumen yang berbeda. Hal ini dapat menurunkan penggunaan bandwidth, untuk dokumen yang berulang dapat digunakan dalam satu frame, sedangkan konten variabel ditampilkan di frame lain. Pada tahun 1998, tim Microsoft Outlook Web Access menerapkan komponen XMLHTTP pertama oleh script client. Pada tahun 1999, Microsoft memanfaatkan teknologi iFrame untuk secara dinamis mengupdate berita dan harga saham pada halaman default untuk Internet Explorer, yaitu http://home.microsoft.com. Kemudian, Microsoft menciptakan XMLHTTP kontrol ActiveX di Internet Explorer 5, yang kemudian diadopsi oleh Mozilla, Safari, Opera dan browser lain sebagai objek XMLHttpRequest JavaScript. Microsoft telah
77
mengadopsi model XMLHttpRequest asli sebagai Internet Explorer 7, meskipun masih mendukung versi ActiveX. Pemanfaatan permintaan latar belakang HTTP ke server dan teknologi asynchronous web mulai muncul dalam aplikasi online seperti pada Outlook Web Access (2000) dan Oddpost (2002), dan kemudian, Google membuat penyebaran yang luas AJAX dengan Gmail (2004) dan Google Maps (2005). Istilah AJAX ini diciptakan pada tanggal 18 Februari 2005 oleh Jesse James Garrett dalam sebuah artikel berjudul "AJAX: A New Approach to Web Applications", didasarkan pada teknik yang digunakan pada halaman Google. Pada tanggal 5 April 2006 World Wide Web Consortium (W3C) merilis spesifikasi draft pertama untuk objek XMLHttpRequest dalam upaya untuk menciptakan sebuah standar web resmi. 2.12.4.3 Kelebihan Dan Kekurangan Ajax Kelebihan 1. Penggunaan bandwitch, karena konten di HTML hanya perlu di reload satu kali dan hanya melakukan reload pada perubahan data yang di inginkan. 2. Pemisahan antara data, format, style,
dan fungsi. Pendekatan AJAX
membuat programmer dapat memisahkan antara metode dan format yang digunakan untuk menyampaikan informasi melalui web. 3. Memungkinkan untuk membuat website yang lebih responsif.
78
4. Membantu developer untuk menghindari pembuatan ulang suatu pekerjaan yang sama 5. Fitur-fitur dari AJAX sudah menyatu degan baik dengan fungsionalitas yang telah disediakan web browser. Fungsionalitas web biasanya terdiri dari JavaScript, standarisasi HTTP, komunikasi XMLHTTP, dan bahasa pemrograman server-side. Kekurangan 1. Karena konten halaman bersifat asinkron, dimana data dapat di-update tanpa perlu di-refresh, maka perubahan tidak tercatat di bagian history browser. 2. Waktu
respon
yang
dapat
membingungkan
user
yang
tidak
berpengalaman menggunakan aplikasi AJAX karena jika waktu respon tidak tepat, user dapat mengira halaman yang diakses sedang hang. 3. Search Engine tidak dapat mengindeksnya sehingga mengurangi efektivitas halaman ditinjau dari optimasi mesin pencari (SEO) 4. Termasuk kelemahan JavaScript adalah apabila user men-disable JavaScript di browser-nya, maka AJAX tidak akan bisa digunakan.
2.12.5 Cascading Sytle Sheet (CSS) 2.12.5.1 Pengertian CSS CSS atau Cascading Style Sheets adalah suatu fasilitas untuk mempermudah pemeliharaan sebuah halaman web, dengan menggunakan CSS sebuah halaman web dapat diubah tampilannya tanpa harus mengubah dokumen HTML-nya. (Shalahuddin & A.S, 2010:45).
79
Penulisan
CSS
biasanya
sebagai
berikut
:
nama_style_atau_nama_tag_HTML { nama_atribut : argumen; ....................................... nama_atribut : argumen; } Gambar 2.17. Contoh Kode CSS 2.12.5.2 Sejarah CSS CSS pertama kali dikembangkan pada tahun 1996 oleh World Wide Web Consortium atau W3C, yaitu sebuah lembaga konsorsium untuk standarisasi web menyusun draft proposal untuk menyusun CSS. Setelah proposal diterima, berjalanlah proyek pembuatan CSS ini hingga muncul CSS level 1 yang mendukung beberapa pengaturan seperti jenis dan ketebalan font, warna, background, posisi teks, gambar, margin, border, padding, dan lainnya. Di pertengahan tahun 1998, W3C kembali mengembangkan CSS menjadi level 2 yang berpusat kepada dokumen media agar mampu tampil dalam web. Sampai saat ini CSS sebenarnya telah sampai pada level 3. Tapi level 3 ini masih dalam tahap pengembangan dan kebanyakan web browser masih menggunakan CSS 2 yang masih merupakan standar untuk halaman web. 2.12.5.3 Kelebihan Dan Kekurangan CSS Kelebihan 1. Memisahkan antara desain dengan konten halaman web. 2. Pengubahan desain dapat di lakukan secara efisien.
80
3. Jika kita ingin mengubah suatu desain halaman web, cukup modifikasi pada CSS saja. 4. Menghadirkan fitur yang tidak dapat dilakukan oleh HTML. 5. Satu CSS dapat digunakan untuk satu atau lebih halaman web. Kekurangan 1. Tidak semua browser mengartikan kode CSS dengan cara yang sama. Jadi kadang-kadang, tampilan web dengan CSS terlihat baik di browser yang satu, tapi berantakan di browser yang lain.
2.12.6 jQuery 2.12.6.1 Pengertian jQuery JQuery adalah library JavaScript yang memungkinkan kita untuk membuat program web pada suatu halaman web, tanpa harus secara eksplisit kita menambahkan event atau pun properti pada halaman web tersebut. Dengan JQuery, suatu halaman web yang menjadi aplikasi web, jika dilihat sourcenya, akan terlihat seperti dokumen HTML biasa, namun tidak ada kode JavaScript yang terlihat langsung. Teknik pemrograman web seperti ini disebut sebagai unobstrusive JavaScript programming. JQuery merupakan salah satu library yang membuat program web di sisi klien, tidak terlihat sebagai program JavaScript biasa, yang harus secara eksplisit disisipkan pada dokumen web. Pada teknik pemrograman sisi klien dengan menggunakan JavaScript biasa, setiap elemen yang akan memiliki
81
event, akan secara eksplisit terlihat ada event yang dilekatkan pada elemen tersebut. 2.12.6.2 Sejarah jQuery JQuery dikembangkan pertama kali oleh John Resig pada tahun 2006. John menciptakan jQuery karena ia tidak puas dengan library
yang
pada
saat itu tersedia dan merasa bahwa seharusnya framework-framework tersebut bisa jauh lebih baik dengan mengurangi “syntactic fluff” dan menambahkan kontrol khusus untuk tindakan-tindakan yang bersifat umum. Para pengembang datang untuk membantu menyempurnakan library ini sehingga akhirnya menghasilkan rilis stabil pertama dari jQuery, versi 1.0, pada tanggal 26 Agustus 2006. Sampai pada saat ini, jQuery telah berkembang ke versi 1.8.2. Sejarah lengkap jQuery dapat dilihat di http://jquery.org/history/. 2.12.6.3 Kelebihan Dan Kekurangan jQuery Kelebihan 1. Menggunakan jQuery cukup memanggil fungsi dari library JavaScript yang telah ada. 2. JQuery menawarkan cara yang mudah dalam mengakses bagian tertentu dari halaman web. 3. Fungsi-fungsi yang disediakan didokumentasikan dengan baik beserta contoh penggunaannya 4. Dapat menambahkan animasi ke halaman.
82
5. Support terhadap CSS1 sampai CSS3 selector, untuk fleksibilitas desain antar muka halaman website dan interaksinya. 6. Website yang dibangun dengan jQuery akan lebih interaktif dan menarik. Kekurangan 1. Website yang menggunakan jQuery lebih berat (lama di-load) dibandingkan website yang tidak menggunakan jQuery, alias HTML murni. 2. Pada level tertentu request terhadap jQuery yang sangat banyak akan membebani server.
2.12 Web Server 2.13.1 Pengertian Web Server Web server merupakan suatu perangkat lunak yang dijalankan pada komputer server dan berfungsi agar dokumen web yang disimpan di server dapat diakses oleh pemakai (user) internet seperti misalnya XAMPP. (Shalahuddin & A.S, 2010:6) Web server adalah suatu software yang bertindak
melayani
pengaksesan aplikasi web. Contoh software yang berfungsi sebagai web server antara lain Apache, IIS, dan Xitami. Perangkat lunak ini biasa dipasang pada komputer yang berkedudukan sebagai server. Server ini terhubung ke internet dan hidup selama 24 jam sehingga pengaksesan kapan saja dan di mana saja bisa dilakukan. Namun sebenarnya komputer apapun bisa dijadikan sebagai web server untuk kepentingan pembuatan aplikasi web. Tidak perlu terhubung
83
ke jaringan komputer, apalagi terhubung ke Internet. Sebuah PC dapat berkedudukan sebagai web server dan sekaligus sebagai klien untuk mengakses aplikasi web yang ada di dalamnya. (Kadir, 2010:4-5)
2.13.2 XAMPP XAMPP merupakan sebuah paket instalasi web server yang di dalamnya sudah tersedia Apache, PHP, dan MySQL. Perangkat lunak opensource ini digunakan untuk membangun web server lokal sebagai server yang berdiri sendiri (localhost).
2.14 Jurnal Penelitian Online Marketing Pemasaran internet tidak tergantung tempat dan waktu, fungsi front office yang melayani kedatangan konsumen pada pemasaran tradisional yang selama ini digunakan sedikit demi sedikit sudah digantikan oleh situs web. Dalam pemasaran tradisional, tempat dan waktu sangat dibutuhkan untuk men-display produk, pemanfaatan space untuk promosi dan publikasi atau sosialisasi produk atau jasa terbaru, dibutuhkan sejumlah sumber daya manusia untuk pelayanan tatap muka, berkomunikasi dan bertukar informasi secara langsung dengan konsumen, pembayaran, pengaduan. Dalam pemasaran dengan website, kebutuhan untuk aktifitas tersebut dapat dipenuhi tanpa harus menyediakan tempat secara fisik dan tanpa ada batasan waktu dalam hari dan jam sepanjang tahun, semua bauran pemasaran dideskripsi secara digital. Pemasaran melalui internet mampu memangkas biaya-biaya operasional, karena jalur distribusi diperpendek, seluruh informasi pesanan disimpan dalam
84
sebuah server, konsumen dapat berinteraksi secara langsung tanpa terhalangi jarak dan waktu, order dapat dipenuhi langsung dari tempat usaha atau oleh para supplier, bahkan untuk pelayanan lokal dapat dilakukan pengiriman langsung oleh customer service atau tim layanan pelanggan door to door. (Susanti, 2009:1-14)
2.15 Jurnal Penelitian Hubungan E-Commerce terhadap E-Business E-Business tidak dapat bekerja tanpa strategi bisnis. Strategi E-Business dibutuhkan untuk mendukung arah strategis perusahaan secara keseluruhan. Kanada adalah satu dari koneksi internet paling banyak di dunia. Tetapi, sektor bisnis kecilnya tertinggal secara signifikan di belakang Amerika Serikat dalam hal adopsi E-Business. Mengapa? Karena sangat sedikit dari bisnis yang ada memiliki strategi E-Business yang sesungguhnya. Menurut penelitian Forrester Research, hanya 14% nya yang memiliki strategi bisnis, jauh tertinggal di belakang Amerika Serikat. Agar dapat sukses dalam E-Business, pebisnis perlu mengembangkan strategi E-Business.
Berikut
ini
beberapa
pertanyaan
akan
membantu
untuk
mempertimbangkan kapan mengembangkan strategi E-Business. 1. Proses bisnis yang mana saat ini menawarkan peluang terbesar untuk mengurangi
biaya,
mengefisiensikan
perolehan,
dan
meningkatkan
keuntungan? 2. Di mana bisnis mendapatkan keuntungan sebuah keuntungan kompetitif melebihi pesaing? 3. Wilayah mana yang paling bermasalah pada organisasi dengan respek kepada pelayanan dan penghargaan kepada pelanggan?
85
4. Apakah
senior
manajemen
atau
orang
penting
sepakat
untuk
mengimplementasikan solusi ini dan apakah mereka memiliki kemauan untuk memenangkan inisiatif dalam organisasi? 5. Bagaimana E-Business akan memberi solusi mengubah struktur dasar organisasi dan apa perubahan pada susunan pegawai, keahlian dan komunikasi/informasi mengalir mendapatkan hasil secara potensial dari latihan-latihan ini? 6. Pelatihan apa yang dibutuhkan untuk menyakinkan bahwa karyawan-karyawan mampu untuk memaksimalkan keuntungan potensial dari solusi ini dan bagaimana bisa melibatkan mereka dari memulai untuk memaksimalkan input pekerja, pendidikan, dan komitmen? 7. Return On Investment (ROI potensialnya) dan bagaimana melakukan perbandingan ini dengan opsi investasi lainnya? Jawaban atas pertanyaan tersebut akan membantu pebisnis untuk fokus pada inisiatif dengan berdampak potensial terbesar pada bottom line perusahaan. Dari penjelasan di atas, sangat bisa kita lihat bahwa kemajuan teknologi sangat mempengaruhi perusahaan-perusahaan dalam mengembangkan bisnisnya. Banyak yang dapat digunakan dalam berbagi sektor dalam perusahaan. (Harisno & Pujadi, 2009:66-69)
2.16 Jurnal Penelitian Perjalanan Customer E-Commerce Bagian ini menggambarkan bagaimana peta pelanggan untuk mencapai penilaian dan tolok ukur antara toko online yang berbeda. Dalam peta perjalanan pelanggan e-commerce, pengalaman pengguna disusun ke dalam lima tahap utama, yaitu situs masuk, browsing katalog, menemukan produk, pemilihan produk dan
86
personalisasi, manajemen keranjang belanja dan proses checkout. Setiap fase mencakup seperangkat makro-driver dan setiap driver memanfaatkan seperangkat fitur atau parameter yang mempengaruhi pengalaman pengguna dan konversi.
Gambar 2.18. Peta Perjalanan Customer E-Commerce (Sumber : Mangiaracina, Brugnoli, & Perego, 2009:5) 1. Site entering and landing Langkah ini berfokus pada entry point dari pengalaman atau kesan, bagaimana pengguna masuk ke situs tersebut dan terlibat di dalamnya. Pengalaman pengguna e-commerce dimulai di luar situs web e-commerce. Pertimbangan ini menunjukkan atas pentingnya cara yang berbeda untuk menangkap pengguna di luar toko online dan mengantarnya ke halaman yang tepat. Fase ini meliputi semua karakteristik utama atau fitur yang mengarahkan pengguna ke situs web dan mempengaruhi pengalaman pertama pengguna. Sebuah situs web e-commerce B2C dapat mendatangkan pengguna dengan cara yang berbeda: melalui Search Engine, Newsletter dari website, kampanye komunikasi dan akhirnya mengetik alamat di bar url. Para pendorong utamanya
87
adalah Search Engine Positioning, Newsletter, Komunikasi dan "Homepage". Search Engine Positioning telah menjadi sangat penting dalam menghasilkan kunjungan pada sebuah situs web (90% dari lalu lintas berasal dari Search Engine - B2C Observatory of Politecnico di Milano). Model ini menilai posisi melalui simulasi pencarian. Jika hasil website selalu di halaman pertama dan dalam lima urutan teratas, skor yang diberikan untuk fitur ini adalah tinggi. Dalam rangka untuk memiliki lalu lintas langsung (misalnya mengetik alamat situs di bar URL) dibutuhkan strategi URL yang baik, yaitu memilih nama yang dapat dengan mudah diingat oleh pengguna, menghubungkan nama situs ke merek yang terkenal, mengadopsi domain yang berbeda, seperti .com, .org). Dengan asumsi untuk kesederhanaan, model Homepage mencakup beberapa fitur seperti kecepatan download, kemungkinan untuk menelusuri halaman tanpa scrolling dan akhirnya kemungkinan untuk menyesuaikan Homepage untuk pengguna terdaftar. 2. Catalogue browsing and product discovery Langkah ini berfokus tentang bagaimana pengguna mencari dan menemukan produk dalam situs. Dari eksplorasi situs untuk pemilihan produk, fase ini memfokuskan bagaimana pengguna menemukan produk di toko online, mengidentifikasi item yang diinginkan dan mempersempit pilihan untuk beberapa produk yang dipilih. Pendekatan setidaknya dapat dilakukan dengan dua cara. Pertama, pengguna sudah tahu produk yang ia cari dan kemudian melakukan pencarian
88
berdasarkan nama atau kode produk (jika dia tahu nama produk atau kode produk), selain itu pengguna dapat browsing pada menu kategori atau subkategori untuk mencoba menemukan apa yang dia sedang cari. Kedua, pengguna hanya memiliki gambaran kasar dari produk yang diinginkan (yaitu dia tahu hanya beberapa fitur dari produk), dan dia harus membuat pilihan dalam berbagai produk besar pada toko online (dengan potensi risiko yang sangat tinggi untuk tersesat dalam labirin website atau bingung dengan terlalu banyak pilihan). Dalam fase ini, kita memasukan fitur yang mendukung dua pendekatan yang berbeda tersebut. Search & filtering mencakup semua fungsi utama dari mesin pencari internal dalam hal pencarian, klasifikasi hasil dan fitur tambahan (seperti kemungkinan untuk menyimpan hasil pencarian atau fungsi "pencarian yang lebih sering”, dll). Sorting & ordering memperhitungkan alternatif yang berbeda dimana pengguna harus melihat hasil (daftar vs grid atau keduanya). Category browsing memperhitungkan fungsi utama dari menu navigasi dan akhirnya "pratinjau Produk" yang terdiri dari kemungkinan untuk melihat preview produk dan membandingkannya dengan produk lain atau sejenis. 3. Product presentation Cara menyajikan suatu produk sangat penting dalam mempengaruhi keputusan pelanggan. Dalam fase ini semua fitur utama dimasukkan untuk menarik perhatian, kelengkapan dan ketepatan produk yang disajikan. Product description dapat digunakan secara generik yang bertujuan memberikan gambaran produk dalam rangka agar konsumen dengan mudah memahami jika
89
produk telah sesuai dengan kebutuhannya. Price & the other options (seperti biaya pengiriman) harus selalu jelas dalam halaman produk. Deskripsi produk dapat dijelaskan melalui foto atau media lainnya, seperti audio atau video preview dari produk, dengan media yang kaya akan presentasi, tutorial, ulasan, dan
rekomendasi.
Selanjutnya,
konfigurasi
produk
diperlukan
untuk
mengkonfigurasi produk / layanan dan umpan balik. 4. Cart Management Fase ini berfokus pada bagaimana pengguna memilih satu atau lebih produk, menambahkannya ke keranjang dan mengelola daftar belanja mereka sebelum menutup pesanan. Ini adalah tahap yang paling penting dalam proses pembelian, dengan tingkat drop-out yang sangat tinggi (lebih tinggi dari 75% dari transaksi - B2C Observatory Politecnico di Milano). Keranjang belanja atau tas biasanya menyediakan satu tempat di mana pengguna dapat melihat harga akhir dari produk yang dipilih (setelah diskon akhirnya) dan biaya keseluruhan dari apa yang ia akan pesan (jumlah biaya dari setiap produk). Selain keranjang atau tas untuk pengguna adalah alat kunci untuk pendukung keputusan, di mana sebagian besar keputusan pembelian dibuat. Ada banyak variabel dan fitur yang dapat membuat perbedaan. Cart management mencakup semua driver utama dan fitur dari praktek-praktek terbaik, mengingat juga bagaimana cart ditampilkan dan dapat diakses di seluruh situs. Harga dari shipping options (pengiriman oleh kurir, atau melalui surat, dll) harus jelas terlihat dalam keranjang serta semua layanan tambahan utama yaitu rekomendasi, wish list, atau fitur lain. Pemicu utama yang harus diperhitungkan adalah cara mengatur biaya yang berbeda-beda
90
untuk disajikan kepada pelanggan (biaya produk - parsial, total, diskon, biaya pengiriman, dll). Selain itu, fungsi utama dari cart, misalnya untuk menambah, menghapus, mengubah, menyimpan produk atau melanjutkan belanja di website. 5. Order setup and checkout process Fase ini memperhitungkan alat dan solusi agar dengan mudah memenuhi pesanan dan aman dalam menyelesaikan proses checkout. Bagian kasir dan proses pembayaran harus diselesaikan dengan cara termudah dan terpendek, karena setiap langkah merupakan risiko lebih lanjut untuk kehilangan pelanggan. Kecepatan dan ketidakstabilan dari proses pembelian sangat terkait dengan kompleksitas proses checkout dan jumlah rintangan yang harus dilalui oleh pengguna. Ada berbagai parameter yang harus diperhatikan, seperti jumlah klik, kompleksitas bentuk web, prosedur pembelian dan sebagainya. Order options juga harus diperhatikan untuk pengiriman ke beberapa tujuan, perubahan waktu pengiriman dan sebagainya. Selanjutnya, payment options menjadi alternatif yang berbeda untuk mendukung pembayaran dalam
transaksi online (kartu
kredit, transfer bank, dll). (Mangiaracina, Brugnoli, & Perego, 2009:1-11)
2.17 Jurnal Penelitian UML UML adalah bahasa yang digunakan untuk menspesifikasikan, membangun, memperlihatkan dan merupakan dokumentasi dari sistem perangkat lunak, proses bisnis dan sistem lain yang tidak terikat di dalam software. Namun, UML adalah bahasa pemodelan dan "hanya" merupakan bagian dari metode yang paling umum untuk mengembangkan software UML dan
91
mengintegrasikan
ke
dalam
proses
untuk
menghasilkan,
mengatur
dan
mendokumentasikan proses yang diciptakan selama fase yang berbeda-beda. Sebuah aktor UML belum tentu seseorang, tetapi juga dapat menjadi sistem atau perangkat fisik. Secara umum, seorang aktor (UML) adalah sebuah entitas eksternal ke sistem yang berinteraksi dengannya. Aktor adalah idealisasi dari seseorang, proses, atau apa pun yang berinteraksi dengan sistem itu sendiri, mengirim atau menerima pesan, yaitu pertukaran informasi. Tampilan aktor direpresentasikan dalam UML dengan notasi standar yakni gambar orang, dengan nama terkait di bagian bawah, meskipun ada kemungkinan untuk menekankan peran atau perilaku para aktor dengan menggunakan stereotip yang tepat seperti yang ditunjukkan dalam diagram usecase. Para pelaku yang diidentifikasi selama analisis ini adalah katalog dengan grafik yang tepat yang memungkinkan untuk menggambar tanggung jawab utama. (Tagliati & Caloro, 2008:85-101)
2.18 Jurnal Penelitian PHP PHP adalah bahasa server-side scripting untuk mengembangkan aplikasi web dinamis. Salah satu fitur PHP adalah mendefinisikan kemudahan bagi pengembang untuk mengakses database. Ada beberapa cara untuk terhubung ke database, misalnya ekstensi PHP,
Active Data Objects DataBase (ADODB), PHP Data
Objects (PDO) dan sebagainya. Namun, salah satu masalah sulit dalam memanipulasi database meng-coding Structured Query Language (SQL). Memang, beberapa penelitian menunjukkan bahwa database bahasa query tradisional tidak sangat mudah digunakan untuk pengguna yang tidak terampil dengan teknologi database.
92
Salah
satu
cara
untuk
memecahkan
masalah
ini
adalah
dengan
mengembangkan kerangka aplikasi web yang menyediakan libraries untuk manipulasi
database.
Sebuah
kerangka
aplikasi
web
biasanya
mengimplementasikan pola Model View Controller (MVC). Pola MVC memecah aplikasi menjadi tiga modul terkait: model, view, dan controller. Modul model adalah logika bisnis dari aplikasi dan merupakan inti dari aplikasi. View adalah user interface controller yakni tampilan untuk pengguna. Komponen Controller menerapkan aliran kontrol antara tampilan dan model. Pola MVC menarik untuk penelitian karena kesederhanaannya membuatnya lebih dapat diterima oleh pengembang. Sayangnya, pengembang harus memiliki keterampilan pemrograman. Mereka harus merancang dan membuat modul model yang berisi kelas-kelas yang mendasari contoh yang akan digunakan untuk memanipulasi database. Selain itu, mereka harus membuat modul kontroler untuk menangani peristiwa pengguna dan membuat modul view untuk membuat penampilan data dalam penelitian interface. Pengguna mengusulkan alat untuk aplikasi web yang memungkinkan pengembang antarmuka. Alat, yang disebut adalah PHP Web Authoring (PHP-WA), yang merupakan perangkat lunak untuk menghasilkan isi web, dapat diakses oleh setiap pengguna dengan web browser. PHP-WA dilaksanakan dengan teknologi PHP, JQuery dan AJAX. Selain itu, pelaksanaannya didasarkan pada pola MVC. Kerangka PHP untuk modul model tertanam di PHPWA. (Supaartagorn, 2011:1-6)