7
BAB II
LANDASAN TEORI
2.1.Konsep Dasar Program
Menurut Winarno dalam Puspitasari (2015) “Program adalah suatu rangkaian instruksi-instruksi dalam bahasa komputer yang disusun secara logis dan sistematis dengan suatu bahasa pemrograman”.
dimana bahasa pemrograman itu adalah perintah yang dimengerti oleh komputer untuk melakukan tugas tertentu. Prinsip utama pemrograman terstruktur adalah jika suatu proses telah sampai pada suatu titik tertentu, maka proses selanjutnya tidak boleh kembali lagi ke baris sebelumnya, kecuali untuk proses berulang (loop).(Puspitasari, 2015).
2.2. Konsep Dasar Web
A. Internet
Menurut Sutarman dalam Habibie dkk. (2014) menyatakan “internet berasal dari kata interconnection networking yang mempunyai arti hubungan berbagai komputer dan berbagai tipe komputer yang membentuk sistem jaringan yang mencakup seluruh dunia (jaringan global) dengan melalui jalur telekomunikasi seperti telepon, wireless dan lainnya”.
B. Website
Menurut Wahana dalam Ali AS dan Septiani (2016) mengemukakan bahwa “Website merupakan lokasi yang akan digunakan untuk mengumpulkan berbagai file halaman web yang terdiri dari gambar, CSS, audio dan sebagainya”.
C. Web Server
Menurut Sinamarta dalam Supriyanta dan Nisa (2015) mengatakan web server adalah “potongan perangkat lunak yang mendukung berbagai protokol web, seperti HTTP, HTTPS, dan lain-lain untuk memproses permintaan client”.
Sedangkan menurut Sadeli dalam Supriyanta dan Nisa (2015) “Web Server adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP dan HTTPS dari klien yang dikenal dengan web browser yang umumnya berbentuk dokumen HTML”.
D. Web Browser
Menurut Sibero dalam Supriyanta dan Nisa (2015) “Web Browser adalah aplikasi perangkat lunak yang digunakan untuk mengambil dan menyajikan sumber informasi web".
E. Hypertext Prepocessor (PHP)
Menurut Oktavian dalam Ali AS dan Septiani (2016) menyatakan bahwa
“PHP adalah akronim dari Hypertext Preprocessor, yaitu suatu bahasa pemrograman berbasiskan kode-kode (script) yang digunakan untuk mengolah suatu data dan mengirimkannya kembali ke web browser menjadi kode HTML”.
F. Hypertext Markup Language (HTML)
Menurut Rahardja dalam Mayangky dan Suharyanto (2018) “HTML Hypertext Markup Language adalah bahasa dari Word Wode Web. Setiap kali mengakses internet atau homepage, sesungguhnya kita mengakses dokumen seseorang yang dibuat menggunakan format HTML. Agar dapat membuat suatu dokumen atau homepage perlu kita mengetahui sintaks atau tag HTML”.
G. Cascading Style Sheet (CSS)
Menurut Raharjo dalam Supriyanta dan Nisa (2015) menyatakan
“Cascading Style Sheet (CSS) adalah suatu bahasa yang bekerja sama dengan HTML untuk mendefinisikan bagaimana suatu isi halaman web ditampilkan atau dipresentasikan. Presentasi ini meliputi style atau gaya teks, link maupun tata letak (layout) halaman”.
H. Jquery
Menurut Sugiri dan Kurniawan dalam Fatmawati (2016) “Jquery merupakan salah satu teknik atau kumpulan library javascript yang sangat terkenal animasinya. Jquery adalah javascript library, jquery mempunyai semboyan “write, less, do more”. Jquery dirancang untuk memperingkas kode-kode javascript. Jquery adalah javascript yang cepat dan ringan untuk menangani dokumen HTML, menangani event, membuat animasi dan interaksi ajax. Jquery dirancang untuk mengubah cara anda menulis javascript”.
I. Java Script
Menurut Rahmawati dkk. (2016) menyatakan bahwa java script adalah
“suatu bahasa pemrograman yang dikembangkan untuk dapat berjalan pada web browser”.
Sedangkan menurut Sidik dalam Prayitno dan Safitri (2015) menyatakan bahwa “Java Script adalah bahasa pemrograman yang digunakan untuk membuat program yang digunakan agar dokumen HTML yang ditampilkan dalam browser menjadi lebih interaktif, tidak sekedar indah saja”.
J. MYSQL
Menurut Arief dalam Rahmawati dkk. (2016) menyatakan bahwa
“MYSQL adalah satu jenis database server yang sangat terkenal dan banyak digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dalam pengelolaan datanya”.
K. PHPMYADMIN
Menurut Rahman dalam Supriyanta dan Nisa (2015) mengemukakan bahwa “ PHPMYADMIN adalah sebuah software berbasis pemrograman PHP yang dipergunakan sebagai administrator MySQL melalui browser (web) yang digunakan untuk management database
L. XAMPP
Menurut wicaksono dalam Fridayanthi dan Mahdiati (2016) menjelaskan bahwa Xampp adalah “ sebuah software yang berfungsi untuk menjalankan website berbasis PHP dan menggunakan pengolah data MYSQL di komputer lokal”.
Xampp berperan sebagai server web pada komputer lokal. Xampp juga dapat disebut sebuah Cpanel server virtual, yang dapat membantu melakukan preview sehingga dapat di modifikasi website tanpa harus online atau terakses dengan internet.(Fridayanthi dan Mahdiati, 2016).
Sebagai informasi kata XAMPP merupakan singkatan dari :
X : Berarti program ini dapat dijalankan diberbagai platform, misalnya
Windows, Linux, mac OS, dan Solaris.
A : Apache merupakan aplikasi web server, dan bertugas untuk
menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan, maka dapat saja suatu database diakses terlebih dahulu (misalnya dalam MySQL) untuk mendukung halaman web yang dihasilkan.
M : MySQL, merupakan aplikasi database server. Pengembangnya
disebut Structured Query Language (SQL). SQL merupakan bahasa
terstruktur yang digunakan untuk mengolah database beserta isinya.
Pengguna dapat memanfaatkan MySQL untuk menambahkan, mengubah dan menghapus data yang berada dalam database.
P : PHP, bahasa pemrograman yang serupa, dan lain sebagai
nya.(Fridayanthi dan Mahdiati, 2016).
M. Adobe Dreamweaver
Menurut Agustina dalam Mayangky dan Suharyanto (2018) “Adobe dreamweaver merupakan program editor halaman web (web page), aplikasi desain dan pengembangan web yang menyediakan editor WYSIWYG (What You See Is What You Get) visual standart seperti syntax hightlighting, cose completion, dan code collapsing, real time syntax checking dan code intropection yang menghasilkan petunjuk kode membantu pengguna dalam menulis kode, memfasilitasi desain dan pembuatan kode tata letak menjadi lebih cepat. Memiliki berbagai fitur yang memudahkan pengguna untuk membangun sebuah website”.
Sedangkan pengertian Adobe Dreamweaver CS5 menurut Madcoms dalam Fatmawati (2016) “Adobe dreamweaver CS5 adalah sebuah HTML editor professional untuk mendesain sebuah web secara visual dan mengelola situs atau halaman web”.
N. Model Pengembangan Perangkat Lunak
Model yang digunakan dalam pengembangan perangkat lunak ini menggunakan model air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linier). “model air terjun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support)”.(Sukamto dan Shalahuddin, 2016)
Adapun tahapan-tahapan model waterfall menurut Sukamto &
Shalahuddin (2016), yaitu :
1) Analisis Kebutuhan Perangkat Lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami peraangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk di dokumentasikan.
2) Desain
Desain peraangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antar muka, dan prosedur pengodean. Tahap ini mentranslasi antar muka, dan prosedur pengodean. Tahap ini mentranslasi kebutuhan perangkat dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya.
3) Pembuatan Kode Program
Desain harus ditranslasikan kedalam 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 dari segi logic dan fungsional memastikan bahwa semua bagian sudah di uji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
5) Pendukung (support) atau 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 analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru.
O. Black Box Testing
Menurut Sukamto dan Shalahuddin dalam Retnoningsih (2015) menjelaskan bahwa “Black-Box Testing 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”.
2.3. Teori Pendukung
A. Struktur Navigasi
Menurut prihatna dalam Rahmawati dkk. (2016) mengemukakan bahwa
“Struktur navigasi adalah susunan menu atau hirarki dari suatu situs yang menggambarkan isi dari setiap halaman dan link atau navigasi setiap halaman pada suatu situs web”.
B. Entity Relationship Diagram
Menurut Indrajani dalam Nugraha dan Octasia (2016) mengemukakan bahwa “Entity Relationship Diagram (ERD) adalah sebuah pendekatan top- bottom dalam perancangan basis data yang dimulai dengan mengidentifikasikan data-data terpenting yang disebut entitas dan hubungan antara entitas-entias tersebut digambarkan dalam suatu model atau diagram”.
Menurut Fatta dalam Taufik dan Ermawati (2017) “Entity Relationship Diagram (ERD) adalah gambar atau diagram yang menunjukan informasi dibuat, disimpan, dan digunakan dalam sistem bisnis”.
Dibawah ini adalah bagian-bagian dari Entity Relationship Diagram (ERD), (Taufik dan Ermawati, 2017), sebagai berikut :
1. Entity
Menurut Indrajani dalam Taufik & Ermawati (2017) menjelaskan bahwa
“Entity yaitu kumpulan objek-objek dengan sifat (property) yang sama, yang diidentifikasikan oleh interprise mempunyai eksistensi yang independen”.
Entitas diberi nama dengan kata benda dan dapat dikelompokan, (Taufik dan Ermawati, 2017), sebagai berikut :
a. Nama Orang.
b. Nama benda . c. Nama lokasi.
d. Nama kejadian (terdapat unsur waktu didalamnya).
2. Relationship
Menurut Indrajani dalam Taufik dan Ermawati (2017) “Relationship adalah kumpulan keterhubungan yang mempunyai arti antara tipe entitas yang ada”. Pada umumnya penghubung diberi nama dengan kata kerja dasar, sehingga memudahkan untuk melakukan pembacaan relasinya.
Penggambaran hubungan yang terjadi adalah sebuah bentuk belah ketupat dihubungkan dengan dua bentuk empat persegi panjang.
3. Relationship Degree
Menurut Indrajani dalam Taufik dan Ermawati (2017) “Relationship Degree atau derajat relationship adalah jumlah entitas yang berpartisipasi dalam satu relationship”.
Derjat relationship yang sering dipakai didalam ERD, sebagai berikut : a. Unary Relationship
Unary Relationship adalah model relationship yang terjadi diantar entity yang berasal dari entity set yang sama.
b. Binary Relationship
Binary Relationship adalah model relationship antar instance-instance untuk suatu tipe entitas.
c. Ternary Relationship
Ternary Relationship merupakan relationship instance-instance dari tiga tipe entitas secara sepihak.
4. Atribut
Menurut Indrajani dalam (Taufik dan Ermawati, 2017) “Atribut merupakan sifat-sifat (property) sebuah entity atau tipe relationship”.
Atribut value adalah suatu occurance tertentu dari sebuah attribute didalam suatu entity atau relationship.
Ada dua jenis atribut menurut (Taufik & Ermawati, 2017), yaitu : a. Identifier (key) digunakan untuk menentukan suatu entity secara unik
(primary key).
b. Descriptor (non-key attribute) digunakan untuk menspesifikasikan karakteristik dari suatu entity yang tidak unik.
C. Logical Record Structure
Menurut Kristanto dalam Mayangky dan Suharyanto (2018) menyatakan Logical Record Structure adalah “representasi dari struktur record-record pada tabel-tabel yang terbentuk dari hasil-hasil antar himpunan entitas, menentukan kardinalitas, jumlah tabel, dan Foreign Key”.
Sedangkan menurut Frieyadie dalam Taufik dan Ermawati (2017) menjelaskan bahwa “Sebelum tabel dibentuk dari field atau atribut entitas secara fisik atau level internal, maka harus dibuatkan suatu bentuk relational model yang dibuat secara logic atau level external dan konsep, dari pernyataan tersebut dibutuhkan yang disebut dengan Logical Record Structure (LRS)”.
Dalam pembuatan Logical Record Structure (LRS) terdapat tiga hal yang dapat mempengaruhi menurut (Taufik dan Ermawati, 2017), 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.
2. Jika tingkat hubungan (cardinality) satu pada banyak (one-to-many), maka hubungan relasi atau digabungkan dengan entitas yang tingkat hubungannya banyak.
3. Jika entitas hubungan (cardinality) banyak pada banyak (many-to-many), maka hubungan relasi tidak akan digabungkan dengan entitas manapun, melainkan menjadi sebuah LRS.
D. Implementasi dan Pengujian Web
Menurut Rizky dalam Sagita dan Sugiarto (2016) “ Black-box testing (pengujian kotak hitam) adalah tipe testing yang memperlakukan perangkat lunak yang tidak diketahui kinerja internalnya, sehingga para tester memandang perangkat lunak seperti layaknya kotak hitam yang tidak penting dilihat isinya, tapi cukup dikenali proses testing di bagian luarnya.
Adapun beberapa teknik testing yang tergolong dalam tipe Black Box Testing menurut Rizky dalam Sagita dan Sugiarto (2016), antara lain :
1. Equivalence partitioning
Pada teknik ini, tiap inputan data dikelompokan kedalam group tertentu, yang kemudian dibandingkan pada output-nya.
2. Boundary value analysis
Pada teknik boundary value analysis, dilakukan input-an yang melebihi batasan sebuat data, contohnya untuk sebuah input-an harga barang, maka dapat dilakukan testing dengan menggunakan angka negatif yang tidak diperbolehkan dalam sebuah harga, jika perangkat lunak berhasil mengatasi input-an yang salah tersebut, maka dapat dikatakan teknik ini telah selesai dilakukan.
3. Cause effect graph
Dalam teknik ini, dapat dilakukan testing yang menghubungkan sebab dari sebuah input-an dan akibatnya pada output yang dihasilkan.