BAB II LANDASAN TEORI 2.1. Konsep Dasar Web 2.1.1. Website Menurut Arief (2011a:8) Website adalah kumpulan dari halaman web yang sudah dipublikasikan di jaringan internet dan memiliki domain atau URL (Uniform Resource Locator) yang dapat diakses semua pengguna internet dengan cara mengetikan alamatnya. Sedangkan menurut Sibero (2011 a:11) Website adalah suatu sistem yang berkaitan dengan dokumen digunakan sebagai media untuk menampilkan teks, gambar, multimedia dan lainnya pada jaringan internet. Berdasarkan pendapat diatas, dapat disimpulkan bahwa website adalah sebuah halaman di internet yang menyajikan informasi dengan berbagai data teks, gambar, suara, multimedia dan lainnya dengan menggunakan jaringan internet. 2.1.2.Aplikasi Berbasis Web Menurut Rizzo (2010:47) Aplikasi Web adalah sebuah application software yang berjalan pada web atau web biasa disebut berjalan pada web server. Sedangkan menurut Simarmata (2010:56) Aplikasi Web adalah sebuah sistem informasi yang mengandung interaksi pengguna melalui antarmuka berbasis web. 8
9 Berdasarkan pendapat diatas, dapat disimpulkan bahwa aplikasi web adalah aplikasi yang dijalankan pada web browser dengan menggunakan internet atau intranet. A. Web Browser Menurut Oktavian (2010 a:13) Web Browser adalah program komputer yang digunakan untuk membaca HTML, kemudian menerjemahkan dan menampilkan hasil secara visual ke layar komputer. Sedangkan menurut Shelly dan Velmaart (2011:81) Web Browser adalah perangkat lunak aplikasi yang memungkinkan pengguna untuk mengakses dan melihat halaman web atau mengakses program web 2.0. Berdasarkan pendapat diatas dapat disimpulkan bahwa web browser adalah program yang berfungsi sebagai media untuk membaca dokumen-dokumen HTML yang kemudian diterjemahkan dan ditampilkan secara visual ke layar komputer. B. Web Server Menurut Arief (2011 b:19) Web Server adalah program aplikasi yang memiliki fungsi sebagai tempat menyimpan dokumen-dokumen web. Sedangkan menurut Oktavian (2010b:11) Web Server adalah aplikasi yang berguna untuk menerima permintaan informasi dari pengguna melalui web browser dan mengirimkan permintaan kembali informasi yang diminta melalui HTTP. Berdasarkan pendapat diatas, dapat disimpulkan bahwa web server merupakan sebuah perangkat lunak yang berfungsi menerima permintaan dari
10 HTTP atau HTTPS pada web browser dan mengirimkan kembali yang hasilnya dalam bentuk beberapa halaman web yang berbentuk dokumen HTML. 2.1.3. E-Commerce Menurut Jony Wong (2010:33) e-commerce adalah pembelian, penjualan dan pemasaran barang serta jasa melalui sistem elektronik. Seperti televisi, radio dan jaringan komputer atau internet.. Sedangkan menurut Turban dan King (2012:38) e-commerce adalah perdagangan elektronik mencakup proses pembelian, penjualan, transfer atau pertukaran produk, layanan atau informasi melalui jaringan komputer atau internet. Berdasarkan pendapat diatas dapat disimpulkan bahwa e-commerce adalah aplikasi untuk perdagangan barang dan jasa melalui jaringan internet. Adapun 2 jenis e-commerce menurut Turban dan King (2012:42) yang sering dipakai sebagai berikut: A. E-Commerce Business to Business (B2B) E-Commerce Business to Business (B2B) merupakan bisnis e-commerce yang dijalankan oleh orang atau pihak yang saling memiliki kepentingan bisnis di dalamnya, dimana kedua belah pihak sudah saling mengenal dan saling mengetahui proses bisnis yang mereka lakukan satu sama lain. B2B merupakan jenis bisnis yang dilakukan secara berkelanjutan atau saling berlangganan dalam suatu ikatan bisnis tertentu atas dasar saling menguntungkan dan saling percaya.
11 B. E-Commerce Business to Customer (B2C) E-Commerce Business to Customer (B2C) adalah jenis bisnis yang dilakukan antara pelaku bisnis dengan konsumen, seperti antara produsen yang menjual dan menawarkan produknya ke konsumen umum secara online. Pihak produsen melakukan bisnis dengan menjual dan memasarkan produknya ke konsumen tanpa adanya feedback dari konsumen untuk melakukan bisnis kembali kepada pihak produsen (tidak berlangganan). Artinya produsen hanya menjual produk atau jasa dan konsumen hanya sebagai pemakai atau pembeli. 2.1.4.Bahasa Pemrograman Bahasa pemrograman ini adalah suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program komputer. A. HTML (hypertext Markup Language) Menurut Oktavian (2010c :13) HTML adalah suatu bahasa yang dikenali oleh web browser untuk menampilkan informasi dengan lebih menarik dibandingkan dengan tulisan teks biasa (plain text). Sedangkan menurut Saputra dan Feni Agustin (2011 a:1) HTML adalah bahasa pemrograman yang hanya difungsikan untuk menampilkan informasi maupun interface melalui web browser. Berdasarkan pendapat diatas, dapat disimpulkan bahwa HTML merupakan bahasa pemrograman untuk menampilkan informasi maupun interface dengan melalui web browser.
12 B. PHP (Hypertext Prepocessor) Menurut Saputra dan Feni Agustin (2013:2) menjelaskan PHP merupakan bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. Sedangkan menurut Sibero (2013:49) PHP adalah pemrograman interpreter yaitu proses penerjemahan baris kode sumber menjadi kode mesin yang dimengerti komputer secara langsung pada saat kode baris dijalankan. Berdasarkan pendapat diatas, dapat disimpulkan bahwa PHP adalah bahasa pemrograman yang proses penerjemahan baris kode sumber menjadi kode mesin yang dimengerti komputer secara langsung pada saat kode baris dijalankan yang berfungsi untuk membangun suatu website dinamis. C. CSS (Cascanding Style Sheet) Menurut Husni (2007:49) CSS (Cascanding Style Sheet) adalah suatu cara untuk membuat format atau layout halaman web menjadi lebih menarik dan mudah dikelola. Sedangkan menurut Agus Saputra dan Feni Agustin (2011b:7) CSS adalah suatu bahasa pemrograman web yang digunakan untuk mengendalikan dan membangun berbagai komponen dalam web sehingga tampilan web akan lebih rapi, terstruktur dan seragam. Berdasarkan pendapat diatas, dapat disimpulkan bahwa CSS adalah bahasa pemrograman yang digunakan untuk membuat atau mendesain halaman web sehingga tampilan web akan lebih menarik.
13 D. JavaScript Menurut Sigit (2011a:1) JavaScript merupakan bahasa Scripting yang bekerja disisi Client atau Browser sehingga website bisa lebih interaktif. Sedangkan menurut Sunyoto (2007:17) JavaScript adalah bahasa scripting yang popular di internet dan dapat bekerja di sebagian besar browser populer seperti Internet Explorer (IE), Mozilla Firefox, Netscape dan Opera. Berdasarkan pendapat diatas, dapat disimpulkan bahwa JavaScript adalah bahasa Scripting yang bekerja disisi Browser populer seperti Internet Explorer (IE), Mozilla Firefox, Netscape dan Opera sehingga website bisa lebih interaktif. E. jquery Menurut Sigit W. (2011b:1) jquery adalah librari atau kumpulan kode JavaScript siap pakai. Keunggulan menggunakan jquery dibandingkan dengan JavaScript standar, yaitu menyederhanakan kode JavaScript dengan cara memanggil fungsi-fungsi yang disediakan oleh jquery. Sedangkan menurut Sibero (2011 b:218) jquery adalah salah satu javascript framework terbaik saat ini. Berdasarkan pendapat diatas, dapat disimpulkan bahwa jquery adalah salah satu JavaScript Framework terbaik saat ini yang mempunyai keunggulan menyederhanakan kode JavaScript dengan cara memanggil fungsi-fungsi yang disediakan oleh jquery. F. Sublime Text 3 Sublime Text adalah teks editor berbagai jenis bahasa pemrograman diantaranya adalah PHP Sublime Text Editor merupakan editor text lintasplatform dengan Python application programming interface (API). (Media,
14 Edukasi. Sublime Text Editor, Text Editor Andalan para Programmer. 2017. http://www.edukasimedia.com/2017/06/sublime-text-andalan-programmer.html, 05 Desember 2017) Sublime text adalah text editor yang dibuat untuk mempermudah pekerjaan programmer, sublime text merupakan text editor yang digunakan untuk banyak sekali bahasa pemrograman dan bahasa markup. (Hadi, Diki Alfarabi. Tutorial pengenalan dan Instalasi Sublime Text Editor. 2017. https://www.malasngoding.com/tutorial-pengenalan-dan-instalasi-sublime-texteditor/, 05 Desember 2017) Berdasarkan pendapat diatas, dapat disimpulkan bahwa Sublime Text merupakan text editor yang digunakan untuk bahasa permrograman dan bahasa markup diantara nya adalah PHP, CSS dan lain sebagainya. 2.1.5.Basis Data Menurut Rosa dan M. Shalahuddin (2013 a:43) basis data adalah sistem terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan. Sedangkan menurut Raharjo (2011:3) basis data adalah kumpulan data yang terintegrasi dan diatur sedemikian rupa sehingga data tersebut dapat dimanipulasi, diambil dan dicari secara cepat. Berdasarkan pendapat diatas, dapat disimpulkan bahwa basis data adalah kumpulan data yang berisi informasi.
15 A. MySQL Menurut Bunafit Nugroho (2013 a:1) MySQL adalah Relation Database Management System (RDBMS) yaitu database relasi yang memiliki perintah standar adalah SQL (Structured Query Language). Sedangkan menurut Wahana Komputer (2010:2) MySQL adalah sebuah sistem manajemen database yang banyak digunakan dalam aplikasi berbasis windows maupun web berbentuk basis data relasional. Berdasarkan pendapat diatas, dapat disimpulkan bahwa MySQL adalah sistem manajemen database SQL yang digunakan dalam aplikasi berbasis windows maupun web berbentuk basis data relasional. B. PhpMyAdmin Menurut Adi Nugroho (2010:88) PhpMyAdmin adalah suatu aplikasi open source yang berbasis web, aplikasi ini dibuat menggunakan program php, fungsi aplikasi ini adalah untuk mengakses database MySQL. Sedangkan Arief (2011c:429) PhpMyAdmin adalah salah satu aplikasi berbasis GUI ( Graphical User Interface) yang digunakan untuk mengeolala database MySQL. Berdasarkan pendapat diatas, dapat disimpulkan bahwa PhpMyAdmin digunakan untuk mengakses database MySQL dan mempermudah serta mempersingkat kerja kita dan merupakan salah satu aplikasi berbasis GUI (Graphical User Interface).
16 C. XAMPP Menurut Nugroho (2013b:1) XAMPP adalah paket program berbasis web yang didalamnya sudah terkandung Web server, Apache, Database, MySQL, dan PHP. Sedangkan menurut Puspitasari (2011:1) XAMPP adalah sebuah software web server apache yang didalamnya sudah tersedia database server mysql dan support php programming. Berdasarkan pendapat diatas, dapat disimpulkan bahwa XAMPP adalah software dengan paket program berbasis web yang berperan sebagai server web pada komputer lokal. 2.1.6.Model Pengembangan Perangkat Lunak Dalam metode pengembangan perangkat lunak penulis menggunakan model waterfall, Menurut Pressman (201 0a:39) waterfall adalah linear Sequential Model, model ini kadang-kadang disebut classic life cycle. Sedangkan menurut Rosa dan Shalahudin (2013b:28) menjelaskan bahwa model waterfall sering juga disebut model sekuensial linier ( sequential linier) atau alur hidup klasik (classic life cycle). Berdasarkan pendapat diatas, dapat disimpulkan bahwa waterfall mempunyai 2 nama lain yaitu linear sequential model dan classic life cycle. Dalam pengembangan perangkat lunak waterfall, menurut Rosa dan Shalahuddin (2013:28) model waterfall memiliki beberapa tahapan, yaitu:
17 Sumber: Rosa dan Shalahudin (2013:29) Gambar II.1 Ilustrasi Model Waterfall Penjelasan dari gambar ilustrasi model waterfall menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian dan pemeliharan (maintenance) sebagai berikut : 1. Analisis Kebutuhan Proses pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan. 2. Desain Desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan.
18 3. Pengkodean Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. 4. Pengujian Pengujian fokus pada perangkat lunak secara segi lojik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan. 5. Pemeliharaan (Maintenance) Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan mulai dari tahap analisis spesifikasi untuk perubahan perangkat lunak baru. 2.2. Peralatan Pendukung (Tools System) Pada penulisan Tugas Akhir ini penulis menggunakan Peralatan pendukung untuk memudahkan merancang dan mendesain aplikasi.
19 2.2.1 Struktur Navigasi Struktur navigasi dapat digolongkan menurut kebutuhan akan objek, kemudahan pemakaian, keinteraktifitasannya dan kemudahan membuatnya yang berpengaruh terhadap waktu pembuatan suatu situs web. Menurut Suyanto (2008:62) Struktur navigasi dalam situs web melibatkan sistem navigasi situs web secara keseluruhan dan desain interface situs web tersebut, navigasi memudahkan jalan yang mudah ketika menjelajahi situs web Sedangkan menurut Sutopo (2007:2), Struktur Navigasi adalah struktur bagaimana halaman web dihubungkan dengan halaman lain. Berdasarkan pendapat diatas, dapat disimpulkan bahwa struktur navigasi merupakan struktur yang menghubungkan halaman web dengan halaman lain dan memudahkan jalan yang mudah ketika menjelejahi situs web. Adapun bentuk dasar dari struktur navigasi menurut Sutopo (2007:6) yang biasa digunakan dalam proses pembuatan aplikasi, yaitu: A. Linear (Satu Alur) Sebagai besar website menggunakan linear navigation model informasi diberikan secara sekuensial dimulai dari satu halaman. Sumber : Sutopo(2007:6) Gambar II.2 Struktur Navigasi Linear
20 B. Hierarchical (Hirarki) Hierarchical Model diadaptasi oleh top-down design. Konsep navigasi ini dimulai dari satu node yang menjadi homepage. Dari homepage dapat dibuat beberapa cabang ke halaman-halaman utama. Sumber : Sutopo (2007:6) Gambar II. 3 Struktur Navigasi Hirarki (Hierarchical) C. Spoke-and-hub Model Dalam Spoke-and-hub Model hanya ada dua macam link yaitu dari homepage ke halaman tertentu dan dari halaman tertentu ke halaman homepage. Spoke-and-hub Model hanya menggunakan satu node untuk menghubungkan satu node ke node lainya. Sumber : Sutopo (2007:7) Gambar II. 4 Struktur Navigasi Spoke-and-hub Model
21 D. Full web model Full web model memberikan kemampuan hyperlink yang banyak. Full web model banyak digunakan karena user dapat mengakses semua topik dengan subtopik dengan cepat. Namun kelemahan dari model ini, yaitu dapat berkaitan user kehilangan cara untuk kembali ke topik sebelumnya. Sumber : Sutopo (2007:8) Gambar II. 5 Struktur Navigasi Full Web Model 2.2.2 Entity Relation Diagram Menurut Ladjamudin (2013:142) ERD adalah suatu model jaringan yang menggunakan susunan data yang disimpan dalam sistem secara abstrak Sedangkan menurut Rosa dan Shalahuddin (2013 c:50) ERD adalah teori himpunan dalam bidang matematika, ERD digunakan untuk pemodelan basis data relasional. ERD biasanya memiliki hubungan binary (satu relasi menghubungkan dua buah entitas). Berdasarkan pendapat diatas, dapat disimpulkan ERD ( Entity Relation Diagram) merupakan suatu model jaringan yang menggunakan sususanan data
22 yang disimpan dalam sistem secara abstrak dan digunakan untuk pemodelan basis data relasional yang biasanya memiliki hubungan binary. A. Komponen Entity Relationship Diagram ERD untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol. Simbol-simbol yang digunakan pada ERD menurut Ladjamudin (2013:149) sebagai berikut: 1. Entitas Entitas merupakan objek yang dapat dibedakan dari sesuatu yang lain dan dapat diwujudkan dalam basis data. Berbentuk persegi panjang, menyatakan himpunan entitas. Sumber: Ladjamudin (2013:149) Gambar II.6 Entitas 2. Atribut.Atribut merupakan keterangan-keterangan yang terkait pada sebuah entitas yang perlu disimpan dalam basis data. Berbentuk lingkaran atau elip, menyatakan atribut yang berfungsi sebagai key digaris bawahi. Sumber: Ladjamudin (2013:149) Gambar II.7 Atribut
23 3. Hubungan atau Relasi Relasi didefinisikan sebagai penghubung yang terjadi antar entity. Berbentuk berlah ketupat. Sumber: Ladjamudin (2013:149) 4. Garis Atau Link Gambar II.8 Hubungan atau Relasi Garis berfungsi sebagai penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya. Sumber: Ladhamudin (2013:149) Gambar II.9 Garis atau Link B. Derajat Relationship Derajat relationship yang sering dipakai dalam ERD menurut ladjamudin (2013:145), yaitu: 1. Unary Relationship Unary Relationship adalah model relationship yang terjadi di antara entity yang berasal dari set yang sama. Sering juga disebut sebagai Recursive Relationship atau Reflective Relationship.
24 2. Binary Relationship Binary Relationship adalah model relationship antara instance-instance dua buah entity dari suatu tipe entitas (dua entity yang berasal dari entity yang sama). 3. Ternary Relationship Ternary Relationship adalah relationship antara instance-instance dari tiga tipe entitas secara sepihak. C. Logical Relational Structure (LRS) Menurut Hasugian dan Shidiq (2012:608) LRS adalah sebuah model sistem yang digambarkan dengan sebuah diagram ER akan mengikuti pola atau aturan pemodelan tertentu dalam kaitannya dengan konvensi ke LRS Sedangkan menurut Frieyadie (2007:13) LRS merupakan hasil dari pemodelan entity relational ship (ER) beserta atributnya sehingga bisa terlihat hubungan-hubungan antar entitas. Berdasarkan pendapat diatas, dapat disimpulkan bahwa LRS merupakan hasil dari pemodelan diagram ER beserta atributnya sehingga bisa terlihat hubungan-hubungan antar entitas dengan mengikuti pola atau aturan pemodelan tertentu dalam kaitannya dengan konvensi ke LRS. Dalam Pembuatan LRS menurut Frieyadie (2007:13) terdapat 3 hal yang dapat mempengaruhi, yaitu: 1. Jika tingkat hubungan ( cardinality) satu pada satu ( one-to-one), maka digabungkan dengan entitas yang lebih kuat ( strong entity) atau digabungkan dengan entitas yang memiliki atribut yang lebih sedikit.
25 2. Jika tingkat hubungan (cardinality) satu pada banyak ( one-to-many), maka hubungan relasi atau digabungkan dengan entitas yang tingkat hubungannya banyak. 3. Jika tingkat hubungan ( cardinality) banyak pada banyak ( many-to-many), maka hubungan relasi tidak akan digabungkan dengan entitas manapun melainkan menjadi sebuah LRS. 2.2.3 Pengujian Web Dalam pengujian web, penulis melakukan pengujian aplikasi dengan menggunakan metode Black-box Testing. Menurut Rosa dan Shalahuddin (2013d:275) Black-box Testing (Pengujian Kotak Hitam) yaitu menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode program. Sedangkan menurut Menurut Pressman (2010 b:495) Black-Box testing berfokus pada persyaratan fungsional perangkat lunak yang memungkinkan engineers untuk memperoleh set kondisi input yang sepenuhnya akan melaksanakan persyaratan fungsional untuk sebuah program. Berdasarkan pendapat diatas, dapat disimpulkan bahwa black-box testing merupakan menguji perangkat lunak yang berfokus pada persyaratann fungsional perangkat lunak tanpa menguji desain dan kode program. Pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan. Pengujian Black-box Testing dilakukan dengan membuat kasus uji yang bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah sesuai dengan
26 spesifikasi yang dibutuhkan. Kasus uji yang dibuat untuk melakukan pengujian kotak hitam harus dibuat dengan kasus benar dan kasus salah. Kategori error yang akan diketahui dengan pengujian black-box testing adalah: 1. Error dari struktur data 2. Error dari antar-muka 3. Beberapa fungsi yang hilang atau tidak benar 4. Error untuk mengakses database. 5. Error pada inisialisasi dan terminasi.