6
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Web
Dalam pembuatan Tugas Akhir ini membutuhkan teori-teori yang mendukung, baik dalam mempelajari maupun merancang sebuah web yang diharapkan dapat digunakan dan berfungsi dengan optimal. Adapun teori-teori pendukung yang penulis butuhkan yaitu, Apache sebagai web server, Dreamweaver CS 6 sebagai server aplikasinya, sementara untuk server database menggunakan MySQL, Sublime Text 3 yang berfungsi sebagai editor, dan untuk mengakses penulis menggunakan browser berupa Mozilla Firefox dan Google Chrome sebagai media internet.
Menurut Rerung (2018:1) “Web adalah jaringan komputer yang terdiri dari kumpulan situs internet yang menawarkan teks dan grafik dan suara dan sumber daya animasi melalui hypertext transfer protokol”.
A. Website
Website pada awalnya adalah ruang informasi dalam internet dengan menggunakan teknologi hyperteks, pemakai dituntun untuk menemukan informasi dengan mengikuti link yang disediakan dalam dokumen web yang ditampilkan dalam browser web.
1. Website
Menurut Marisa (2017:2) Website dapat diartikan sebagai sekumpulan halaman-halaman yang digunakan untuk mempublikasikan informasi berupa teks, gambar, dan program multimedia lainnya berupa animasi (gambar gerak, tulisan gerak), suara, dan atau gabungan dari semuanya itu
baik yang bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait antara satu halaman dengan halaman yang lain yang sering disebut sebagai hyperlink.
2. Internet
Internet dan jaringan komputer adalah hasil evolusi dari ARPANET, sebuah proyek riset tingkat tinggi, yang dimiliki oleh Departemen Pertahanan Amerika Serikat. DARPA mensponsori perkembangan jaringan yang menggunakan Internet Protocol (IP), TCP (Transmission Control Protocol) dan UDP (User Datagram Protocol).
Menurut Hidayatullah & Kawistara (2017:1) “Internet adalah jaringan global yang menghubungkan komputer-komputer di seluruh dunia. Dengan internet, sebuah komputer bisa mengakses data yang terdapat pada komputer lain di benua yang berbeda”.
3. Web Server
Menurut Hadi (2016:161) “Pengertian Web Server bisa merujuk pada hardware ataupun software yang menyediakan layanan akses kepada user melalui protokol komunikasi HTTP atau HTTPS atas berkas-berkas yang terdapat pada suatu situs web menggunakan aplikasi tertentu seperti web browser”.
Menurut Solichin (2016:7) “Web Server merupakan sebuah perangkat lunak dalam server yang berfungsi menerima permintaan (request) berupa halaman web melalui HTTP atau HTTPS dari klien yang dikenal dengan browser web dan mengirimkan kembali (response) hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML”.
4. Web Browser
Menurut Sibero (2013:12) “Web Browser adalah aplikasi perangkat lunak yang digunakan untuk mengambil dan menyajikan sumber informasi web”.
5. HTTP
Menurut Rerung (2018:8) “HyperTeks Transfer Protocol (HTTP) Adalah protocol yang dipergunakan untuk men-transfer dokumen dalam WWW. Sejarah protokol HTTP pertama kali dipergunakan dalam WWW pada tahun 1990”.
B. Bahasa Pemrograman
Menurut Abdulloh (2016:1) Bahasa pemrograman merupakan bahasa yang dapat dipahami oleh komputer. Ada banyak bahasa pemrograman yang memiliki fungsi yang berbeda-beda, di antaranya bahasa pemrograman untuk membuat aplikasi desktop, membuat game, membuat aplikasi web, membuat aplikasi handphone, dan sebagainya. Dalam buku ini 4 macam bahasa pemrograman yang memiliki peran sendiri-sendiri dalam membangun sebuah website. Kelima bahasa pemrograman tersebut, yaitu Jquery, HTML, CSS, Javascript, dan PHP.
Dalam pembuatan website ini penulis menggunakan 5 macam bahasa pemrograman yang masing-masing memiliki peran dalam membangun sebuah website, yaitu:
1. PHP
Menurut Abdul Kadir dalam Sari (2017:114) mengemukakan bahwa PHP merupakan suatu bahasa pemrograman berbasis web yang menyatu dengan HTML dan dijalankan oleh server side. Metode kerja PHP diawali dengan permintaan suatu halaman web oleh browser, berdasarkan Uniform Resource Locator (URL) atau dikenal dengan sebutan alamat internet. Web browser mendapatkan alamat dari web server, mengidentifikasi halaman yang dikehendaki, dan menyampaikan segala informasi yang dibutuhkan oleh web server. Selanjutnya web server akan mencarikan berkas PHP yang diminta dan setelah didapatkan, isinya akan segera dikirimkan ke mesin PHP dan mesin inilah yang memproses dan
memberikan hasilnya berupa kode HTML ke web server. Lalu web server akan menyampaikan isi halaman web tersebut kepada klient melalui web browser.
2. HTML
Menurut Rerung (2018:18) HTML adalah singkatan dari HyperText Markup Language. Disebut hypertext karena di dalam HTML sebuah text biasa dapat berfungsi lain, kita dapat membuatnya menjad link yang dapat berpindah dari satu halaman ke halaman lainnya hanya dengan meng-klik text tersebut. Kemampuan text inilah yang dinamakan Hyper Text, walaupun pada implementasinya nanti tidak hanya text yang dapat dijadikan link. Disebut Markup Language karena bahasa HTML menggunakan tanda (mark), untuk menandai bagian-bagian text. Misalnya, text yang berada di antara tanda tertentu akan menjadi tebal, dan jika berada di antara tanda lainnya akan tampak besar. Tanda ini di kenal sebagai HTML tag.
3. JavaScript
Menurut Marisa (2017:42) Javascript adalah bahasa yang berbentuk kumpulan skrip yang pada fungsinya berjalan pada suatu dokumen HTML, sepanjang sejarah internet bahasa ini adalah bahasa skrip pertama untuk web. Bahasa ini adalah bahasa pemrograman untuk memberikan kemampuan tambahan terhadap bahasa HTML dengan mengijinkan pengeksekusian perintah-perintah di sisi user, yang artinya di sisi browser bukan di sisi server web.
4. CSS (Cascading Style Sheet)
Menurut Koesheryatin & Suryana (2014:101) CSS adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu website, baik tata letaknya, jenis huruf, warna dan semua yang berhubungan dengan tampilan. Pada umumnya CSS digunakan untuk menformat halaman web yang ditulis dengan HTML dan XHTML.
Ada dua cara yang bisa diterapkan untuk menggunakan CSS pada web. Cara yang pertama dengan membuat CSS langsung di dalam suatu file HTML (internal/inline style sheet). Cara yang kedua dengan memanggil CSS tersebut dari file CSS tersendiri (external style sheet).
5. Jquery
Menurut Hidayatullah dan Kawistara (2017:421) “Jquery adalah suatu library JavaScript yang akan menjadikan web anda lebih bagus dalam hal User Interface, lebih stabil, dan dapat mempercepat waktu dan kinerja anda
dalam membuat web karena anda hanya perlu memanggil fungsinya saja tanpa harus membuat dari awal”.
C. Basis Data
Menurut Hutahaean (2015:50) “Basis data merupakan kegiatan sistem program komputer untuk berbagai aplikasi komputer. Dalam basis data dibutuhkan suatu media simpan komputer yang teroganisir sedemikian rupa dan juga pemeliharaan data baik dalam fungsi manajemen sistem”.
Menurut Sukamto & Shalahuddin (2018:43) “Basis data adalah media untuk menyimpan data agar dapat diakses dengan mudah dan cepat”.
a. Beberapa keuntungan dan kerugian penggunaan basis data menurut Lubis (2016:8), keuntungannya pada sebuah perusahaan antara lain:
1) Terkontrolnya kerangkapan data dan inkonsistensi, 2) Terpeliharanya keselarasannya data,
3) Data dapat dipakai secara bersama-sama, 4) Memudahkan penerapan standarisasi,
5) Memudahkan penerapan batasan-batasan pengamanan, 6) Terpeliharanya integrasi data,
7) Terpeliharanya keseimbangan atas perbedaan kebutuhan data dari setiap aplikasi,
8) Program atau data independent.
b. Kerugiannya penggunaan basis data pada sebuah perusahaan, antara lain: 1) Mahal dalam implementasinya,
2) Rumit/kompleks,
4) Kerusakan pada sistem basis data dapat mempengaruhi departemen yang terkait,
5) Dan lain-lain.
Adapun aplikasi basis data yang penulis gunakan untuk membangun website, antara lain:
1. XAMPP
Menurut Aryanto (2016:4) “Xampp merupakan sebuah aplikasi perangkat lunak pemrograman dan database yang di dalamnya terdapat berbagai macam aplikasi pemrograman seperti: Apache HTTP Server, MySQL, database, bahasa pemrograman PHP dan Perl”.
2. PhpMyAdmin
Menurut Rahman (2013:21) “PhpMyAdmin adalah sebuah software berbasis pemrograman PHP yang dipergunakan sebagai administrator MySQL melalui browser (web) yang digunakan untuk management database”.
3. MySQL
Menurut Solichin (2016:85) MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
4. Adobe Dreamweaver CS6
Menurut Sibero (2013:2) “Adobe Dreamweaver CS6 adalah suatu perangkat lunak web editor keluaran Adobe System yang digunakan untuk membangun dan mendesain suatu website dengan fitur-fitur yang menarik dan kemudahan dalam penggunaannya”.
5. Apache
Menurut Abdulloh (2016:4) “Apache berfungsi sebagai web server, yaitu tempat menyimpan file-file php dan lainnya yang diperlukan website”.
D. Model Pengembangan Perangkat Lunak
Metode yang digunakan pada pengembangan perangkat lunak ini menggunakan model waterfall yang terbagi menjadi lima tahapan menurut Sukamto & Shalahuddin (2018:29), yaitu :
1. Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk di dokumentasikan. 2. Desain
Desain perangkat 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 menstralasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar di implementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang di hasilkan pada tahap ini juga perlu di dokumentasikan.
3. Pembuatan Kode Program
Desain harus ditranlasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai desain yang telah dibuat pada tahap desain.
4. Pengujian
Pengujian fokus pada perangkat lunak secara logic dan fungsional dan memastikan bahwa semua bagian sudah di uji. Hal ini dilakukan untuk meminimalisir kesalah (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
5. Pendukung (support) dan Pemeliharaan (Maintenance)
Tidak menutup kemungkinan sebuah perangakat 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 mangulangi proses pengembangan mulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
2.2. Teori Pendukung A. Struktur Navigasi
Menurut Iwan Binanto dalam Rizal & Misriati (2018:11) “Struktur Navigasi adalah susunan menu atau hierarki dari suatu situs yang meggambarkan isi dari setiap halaman dan link atau navigasi tiap halaman pada suatu situs web”.
1. Struktur Navigasi Pengunjung
Pada struktur navigasi pengunjung, dimana user belum melakukan daftar member atau login terlebih dahulu.
Contoh Struktur Navigasi Pengunjung Infomasi Cara Booking Daftar Pelanggan Beranda Detail
Sumber : (Ulayah et al., 2014)
Gambar II.1
Struktur Navigasi Pengunjung
2. Struktur Navigasi Pelanggan (User)
Struktur navigasi user untuk membuat sebuah peta agar mempermudah pelanggan (user) dalam melihat isi dalam web ini. Selain itu fungsi dari struktur navigasi ini adalah membuat rincian umum mengenai isi dalam suatu web yang telah dibuat.
Contoh Stuktur Navigasi Pelanggan
Sumber : (Ulayah et al., 2014)
Gambar II.2.
3. Struktur Navigasi Admin
Pada struktur halaman admin penulis membuat sebuah peta agar admin dapat melihat isi dalam web.
Contoh Struktur Navigasi Admin
Sumber : (Ulayah et al., 2014)
Gambar II.3. Struktur Navigasi Admin
B. Enterprise Relationship Diagram 1. ERD (Entity Relationship Diagram)
Menurut Umbara & Sultianta (2015:100) “ERD merupakan diagram yang digunakan untuk merancang tabel-tabel yang nantinya akan di implementasikan pada basis data”.
Contoh ERD (Entity Relationship Diagram)
Sumber : (R. S. Mubarok & Simpony, 2016)
Gambar II.4.
(ERD) Entity Relationship Diagram
ERD ini dibentuk berdasarkan 3 elemen, yaitu entitas, atribut, dan relasi. 1) Entitas adalah objek dalam bentuk fisik atau konsep. Entitas ini akan
dibuat unik atau berbeda dengan entitas lainnya, misalnya entitas mahasiswa, dosen, mata kuliah, dan sebagainya.
2) Atribut adalah karakteristik atau properti dari entitas, misalnya entitas mahasiswa memiliki atribut nomor induk mahasiswa (NIM), nama, alamat, jenis kelamin, hobi, dan lain-lain.
3) Relasi adalah hubungan antara entitas yang satu dengan yang lainnya, misalnya terdapat hubungan antara entitas mahasiswa dengan mata kuliah karena mahasiswa nantinya akan mengambil mata kuliah.
Dilihat dari jenisnya entitas terbagi menjadi dua menurut Yanto (2016:33), adalah:
1) Entitas Kuat (Strong Entity)
Entitas kuat adalah entitas yang dapat berdiri sendiri tidak bergantung pada entitas lainnya.
2) Entitas Lemah (Weak Entity)
Entitas lemah adalah entitas yang tidak dapat berdiri sendiri. Entitas lemah merupakan hasil dari pembentukan entitas kuat, entitas lemah tidak memiliki atribut key dan entitas lemah digambarkan sebagai kotak persegi panjang bergaris ganda. Jika entitas kuat yang membentuk entitas lemah dihapus maka secara otomatis entitas lemah akan terhapus. Contoh entitas lemah adalah entitas pegawai kontrak, pegawai tetap.
Derajat Kardinalitas dibagi atas 3 bagian menurut Yanto (2016:40), yaitu: 1) Derajat Kardinalitas One to One
Derajat Kardinalitas One to One terjadi jika satu entitas X hanya berelasi dengan satu entitas Y, ataupun sebaliknya. Sebagai contoh pegawai studi hanya memiliki satu pendamping.
2) Derajat Kardinalitas One to Many
Derajat One to Many terjadi jika suatu entitas x berelasi dengan banyak entitas Y, ataupun sebaliknya. Sebagai contoh satu dosen mengampu banyak mahasiswa.
3) Derajat Kardinalitas Many to Many
Derajat Kardinalitas many to many terjadi jika banyak entitas X berelasi dengan banyak entitas Y, atau pun sebaliknya. Sebagai contoh banyak mahasiswa belajar banyak matakuliah.
2. LRS (Logical Record Structure)
Menurut Frieyadie dalam Mubarok & Apriyanta (2017:274) “LRS (Logical Record Stucture) merupakan hasil dari pemodelan Entity Relationship (ER) beserta atributnya sehinggga bisa terlihat hubungan-hubungan antar entitas”.
Contoh LRS (Logical Record Structure)
Sumber : (R. S. Mubarok & Simpony, 2016)
Gambar II.5.
(LRS) Logical Record Structure C. Implementasi dan Pengujian Web
Menurut Sukamto & Shalahuddin (2018:27) “Implementasi termasuk pada persiapan implementasi, implementasi perangkat lunak pada lingkungan produksi
(lingkungan pada user) dan menjalankan resolusi dari permasalahan yang teridentifikasi dari fase integritas dan pengujian”.
Menurut Sukamto & Shalahuddin (2018:272) “Pengujian adalah satu set aktifitas yang direncanakan dan sistematis untuk menguji atau mengevaluasi kebeneran yang diinginkan. Aktifitas pengujian terdiri dari satu set atau sekumpulan langkah dimana dapat menempatkan desain kasus uji yang spesifik dan metode pengujian”.
Black-Box Testing (pengujian kotak hitam), yaitu menguji perangkat lunak dari segi spesifikasi fungsional 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 kotak hitam dilakukan dengan membuat kasus uji yang bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah sesuai dengan spesifikasi yang dibutuhkan. Kasus uji coba yang dibuat untuk melakukan pengujian kotak hitam harus dibuat dengan kasus benar dan kasus salah, misalkan untuk kasus proses login maka kasus uji yang dibuat adalah:
1. Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang benar.
2. Jika user memasukkan nama pemakai (username) dan kata sandi (password) yang salah, misalnya nama pemakai benar tapi kata sandi salah, atau sebaliknya, atau keduanya salah.