bab ii landasan teori - repository.bsi.ac.id · 7 bab ii landasan teori 2.1. konsep dasar web...
TRANSCRIPT
7
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Web
2.1.1. Website
Menurut Arief (2011:8) Pengertian website adalah ”kumpulan dari halaman
web yang sudah dipublikasikan di jaringan internet dan memiliki domain/URL
(Uniform Resource Locator) yang dapat di akses semua pengguna internet dengan
cara mengetikan alamatnya”. Hal ini dimungkinkan dengan adanya teknologi
World Wide Web (WWW) fasilitas hypertext guna menampilkan data berupa teks,
gambar, animasi, suara dan multimedia lainnya data tersebut dapat saling
berhubungan pada web server untuk dapat di akses melalui jaringan internet.
Agar data pada web dapat di baca kita harus menggunakan web server terlebih
dahulu seperti Mozilla Firefox, Internet Explorer, Opera Mini atau yang lainnya.
Situs website di kategorikan menjadi 2 yaitu website statis dan website dinamis,
website statis adalah website yang berisi atau menampilkan informasi – informasi
yang sifatnya tetap (statis), sedangkan website dinamis adalah website yang
menampilkan informasi serta dapat berinteraksi dengan user.
2.1.2. Internet
Menurut Sukamto dan Shalahuddin (2008:3) internet atau internetwork
adalah “sekumpulan jaringan berbeda yang saling terhubung bersama sebagai satu
kesatuan dengan menggunakan berbagai macam protocol, salah saatunya adalah
protocol TCP/IP (Transmission Control Protokol / Internet Protokol”.
8
TCP/IP adalah protocol yang paling banyak digunakan di internet. Protokol
TCP/IP merupakan cara standar untuk memaketkan dan mengalmatkan data
komputer (sinyal elektronik) sehingga data tersebut dapat dikirim ke komputer
terdekat atau keliling dunia dan tiba dalam waktu yang cepat tanpa rusak atau
hilang.
Internet memiliki layanan-layanan (service) yang telah banyak digunakan
pada saat ini antara lain :
a. Layanan Informasi dengan menggunakan World Wide Web/WWW
menggunakan protocol HTTP (Hypertext Transfer Protocol).
b. Layanan e-mail menggunakan protocol POP (Post Office Protocol), SMTP
(Simple Mail Transfer Protocol), dan IMAP (Internet Message Acces
Protocol).
c. Layanan chatting dengan menggunakan IRC (Internet Relay Chat).
d. Layanan pertukaran file dengan menggunakan FTP (File Transfer
Protocol).
e. Layanan akses komputer jarak jauh (telnet).
f. Layanan akses direktori dengan menggunakan LDAP (Lightweight
Directory Acces Protocol).
g. Layanan monitoring jaringan dengan menggunakan NMAP (National
Maternity Action Plan).
h. Layanan pengiriman modul aplikasi dengan menggunakan SOAP (Simple
Object Acces Protocol).
i. Layanan pengiriman suara dengan menggunakan VoIP (Voice over IP).
9
2.1.3. Bahasa Pemrograman
Dalam pembangunan sebuah aplikasi berbasis web digunakan berbagai
macam bahasa pemrograman. Program dibuat untuk menangani sesuatu yang
secara terus-menerus dan berulang kali. Beberapa contoh bahasa pemrograman
yang biasa digunakan dalam pembuatan sebuah website, antara lain:
1. HTML (Hypertext Markup Language)
Menurut Sutisna (2007:28), mengemukakan: “HTML atau Hypertext
Markup Language adalah suatu format data yang digunakan untuk membuat
dokumen hypertext (teks pada komputer yang memungkinkan user saling
mengirimkan informasi), Dokumen HTML harus disimpan dengan ekstensi
.htm atau .html. HTML memiliki tag-tag yang telah didefinisikan untuk
membuat halaman web”.
2. PHP (Perl Hypertext Preprocessor)
Menurut Andi (2011:11) PHP (Protocol Hypertext Preprocessor) adalah
“bahasa pemrograman yang berjalan dalam sebuah web server dan berfungsi
sebagai pengolah data pada sebuah server”. Dengan menggunakan program
PHP, sebuah website akan lebih interaktif dan dinamis.
3. CSS (Cascading Style Sheets)
Menurut Sulistyawan dkk (2008:32), “cascading style sheet (CSS) adalah
suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu
dokumen yang ditulis dala bahasa markup”.
4. Javascript
Menurut Simarmata (2010:67) “JavaScript adalah bahasa yang berbentuk
kumpulan skrip yang pada fungsinya berjalan pada suatu dokumen HTML”.
10
Javascript mempunyai kemampuan grafis yang lebih lemah (hanya dapat
mengendalikan penempatan dan penampilan unsur-unsur halaman), tetapi
menjadi lebih secara terintegrasi dengan browser dan mempunyai
kemampuan integritas pengguna yang lebih luas daripada applets.
5. XAMPP
Menurut Aditya (2011:16) XAMPP adalah “perangkat lunak bebas, yang
mendukung banyak sistem operasi, merupakan kompilasi dari beberapa
program”. Fungsinya adalah sebagai server yang berdiri sendiri (localhost),
yang terdiri atas program Apache HTTP Server, MySQL Database, dan
penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl.
Nama XAMPP merupakan singkatan dari X (empat sistem operasi apapun).
Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General
Public Licence dan bebas, merupakan web server yang mudah digunakan
yang dapat melayani tampilan halaman web yang dinamis.
6. MYSQL
Menurut Andi (2011:140) MYSQL adalah “salah satu program yang dapat
digunakan sebagai database, dan merupakan salah satu software untuk
database server yang banyak digunakan”. MYSQL bersifat Open Source dan
menggunakan SQL.
2.1.4. Basis Data
Menurut Kustiyahningsih dan Anamisa (2011:145) “Basis data adalah
sekumpulan informasi yang diatur agar mudah dicari. Dalam arti umum
basis data adalah sekumpulan data yang diproses dengan bantuan komputer
yang memungkinkan data dapat diakses dengan mudah dan tepat, yang
dapat digambarkan sebagai aktivitas dari satu atau lebih organisasi yang
berelasi”.
11
Menurut Kustiyahningsih dan Anamisa (2011:146) “MYSQL dapat
didefinisikan sebagai sistem manajemen database. Database sendiri
merupakan struktur penyimpanan data. Untuk menambah, mengakses dan
memproses data yang disimpan dalam sebuah database komputer,
diperlukan sistem manajemen database seperti MYSQL Server”.
MYSQL termasuk jenis RDBMS (Relational Database Management
System). Sedangkan RDBMS sendiri akan lebih banyak mengenal istilah seperti
tabel, baris dan kolom digunakan dalam perintah-perintah di MYSQL. MYSQL
merupakan sebuah basis data yang mengandung satu atau sejumlah tabel. Tabel
terdiri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom.
Di dalam PHP telah menyediakan fungsi untuk koneksi ke basis data dengan
sejumlah fungsi untuk pengaturan baik menghubungkan maupun memutuskan
koneksi dengan server database MYSQL sebagai sarana untuk mengumpulkan
informasi (Kustiyahningsih dan Anamisa, 2011:46).
Xampp merupakan paket tool yang berisi konfigurasi web server Apache,
PHP dan MySQL. Dengan menginstall Xampp, kita tidak perlu lagi untuk
mengkonfigurasi Apache, PHP dan MySQL secara manual karena Xampp telah
mengkonfigurasikannya secara otomatis.
PhpMyAdmin merupakan aplikasi yang dibuat khusus untuk mengelola
database MySQL. PhpMyAdmin juga merupakan salah satu bagian terpenting
dari Xampp.
12
Sumber: Kustiyahningsih dan Anamisa (2011:145)
Gambar II.I
Tampilan PhpMyAdmin
Untuk membuka aplikasi PhpMyAdmin, kita harus menjalankan web server
Apache dan server database MySQL melalui Xampp Control Panel.
Sumber : Kustiyahningsih dan Anamisa (2011:145)
Gambar II.2
Tampilan Xampp Control Panel
13
2.1.5. Model Pengembangan Perangkat Lunak
Menurut Sukamto dan Shalahuddin (2013:28) menyimpulkan bahwa
“Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier
(sequential linear) atau hidup klasik (classic life cycle)”. Model air terjun
menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau
berurutan dimulai dari analisis, desain, pengkodean, pengujian dan tahap
pendukung (support). Berikut adalah gambar model air terjun :
Analisis Desain Pengkodean Pengujian
Sistem/Rekayasa Informasi
Sumber : Sukamto dan shalahudin (2013 :27)
Gambar II.3
Ilustrasi model waterfall
1. Analisa kebutuhan perangkat lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk
menspesifikasikan kebutuhan perangkat lunak agar dapat dipahami, seperti:
data barang, data customer, data transaksi, keranjang, testimonial
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 produser pengkodean. Tahap
14
analisa ini menstranslasi ke representasi desain agar dapat
diimplementasikan menjadi program pada tahap selanjutnya. Desain
perangkat lunak yang dihasilkan ada tahap ini juga perlu didokumentasikan.
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 lojik dan fungsional
dan 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 pengembangn mulai dari analisis
spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak
untuk membuat perangkat lunak baru.
Dari kenyataan yang terjadi sangat jarang model air terjun dapat dilakukan
sesuai alurnya karena sebab berikut:
1. Perubahan spesifikasi perangkat lunak terjadi di tengah alur
pengembangan.
15
2. Sangat sulit bagi pelanggan untuk mendefinisikan semua spesifikasi di
alur awal pengembangan. Pelanggan sering kali butuh contoh
(prototype) untuk menjabarkan spesifikasi kebutuhan sistem lebih
lanjut.
3. Pelanggan tidak mungkin bersabar mengakomodasi perubahan
perubahan yang diperlukan di akhir alur pengembangan.
Dengan berbagai kelemahan yang dimiliki model air terjun tapi model ini
telah menjadi dasar dari model-model yang lain dalam melakukan perbaikan
model pengembangan perangkat lunak. Hal positif dari model air terjun adalah
struktur tahap pengembangan, dan sebuah tahap dijalankan setiap tahap
sebelumnya selesai dijalankan (tidak ada tumpang tindih pelaksanaan tahap).
2.2 Teori Pendukung
2.2.1. Struktur Navigasi
Menurut Yuhefizar (2008:67), menyimpulkan bahwa: struktur navigasi
adalah “struktur alur cerita dari sebuah program”. Sebelumnya menyatukan
elemen-elemen yang digunakan dalam aplikasi multimedia, sebaiknya kita
mendefinisikan objek-objek dan merancang tampilan. Agar semua objek yang
termasuk didalam aplikasi tidak mengalami kekacauan informasi, dengan kata
lain semua tampilan harus dapat memberikan informasi yang bulat dan utuh,
sehingga dapat tercapai suatu pembentukan aplikasi multimedia. Dalam
pembuatan aplikasi multimedia ada empat macam struktur navigasi yang bisa
digunakan, antara lain:
16
1. Struktur Navigasi Linear
Struktur Navigasi Linear merupakan struktur yang hanya mempunyai suatu
rangkaian cerita yang berurutan. Struktur ini menampilkan satu demi satu
tampilan layer secara berurutan menurut aturannya. Tampilan yang dapat
ditampilkan pada struktur jenis ini adalah satu halaman sebelumnya atau
satu halaman sesudahnya tidak dapat dua halaman sebelumnya atau dua
halaman sesudahnya. Pada struktur navigasai ini tidak diperkenankan
adanya percabangan. Biasanya struktur ini digunakan untuk membuat
multimedia persentasi karena tidak terlalu menurut keinteraksian tetapi
hanya memerlukan keindahan dan kemudahan menampilkan data sebagai
informasi. Berikut ini gambar struktuer navigasi linear:
Sumber : Yuhefizar (2008:69)
Gambar II.4
Struktur Navigasi Linear
2. Struktur Navigasi Non Linear
Struktur navigasi Non Linear (tidak berurut) merupakan pengembangan dari
struktur navigasi linear. Pada struktur ini diperkenankan membuat navigasi
bercabarng. Percabangan yang dibuat pada struktur Non Linear ini
walaupun terdapat percabangan tetapi tiap-tiap tampilan mempunyai
kedudukan yang sama, tidak ada master page dan slave page.
17
Sumber : Yuhefizar (2008:70)
Gambar II.5
Struktur Navigasi Non Linear
3. Navigasi Hierarki
Struktur Navigasi Hierarki (bercabang) merupakan suatu struktur yang
mengandalkan percabangan untuk menampilkan data berdasarkan kriteria
tertentu. Tampilan pada menu pertama akan disebut sebagai master page
(halaman utama kesatu), halaman utama ini akan mempunyai halaman
percabangan yang dikatakan slave page (halaman pendukung). Jika salah
satu halaman pendukung dipilih atau diaktifkan, maka tampilan tersebut
akan bernama master page (halaman utama kedua), dan seterusnya. Pada
struktur navigasi ini tidak dapat diperkenankan adanya tampilan secara
linear.
Sumber : Yuhefizar (2008:69)
Gambar II.6
Struktur Navigasi Hierarki
4. Struktur Navigasi Composite
18
Struktur Navigasi Composite (campuran) merupakan gabungan dari ketiga
struktur sebelumnya yaitu Linear, Nonlinear, dan Hierarchy. Struktur
navigasi ini juga biasa disebut struktur navigasi bebas. Jika suatu tampilan
membutuhkan percabangan, maka dapat dibuat percabangan. Dan bila
dalam percabangan tersebut terdapat suatu tampilan yang sama
kedudukannya maka dapat dibuat struktur linear dalam percabangan
tersebut. Struktur navigasi ini banyak digunakan dalam pembuatan Website
sebab struktur ini dapat memberikan keinteraksian yang lebih tinggi. Setiap
struktur navigasi seperti yang baru dibahas mempunyai fungsi dan tujuan
masing-masing. Tidak ada yang lebih baik atau lebih buruk. Penggunaan
navigasi tergantung kepada kebutuhan dan tujuan dari aplikasi Website yang
hendak dibuat. Semakin kompleks navigasi yang digunakan, maka makin
sulit pada pembuatan aplikasi Website dari navigasi tersebut.
Sumber : Yuhefizar (2008:70)
Gambar II.7
Struktur Navigasi Composite
2.2.2. Entity Relationship Diagram
Menurut Ladjamudin (2008:189), “Entity Relationship Diagram (ERD)
Adalah suatu model jaringan yang menggunakan susunan data yang disimpan
dalam sistem secara abstrak”. Jadi jelaslah bahwa ERD ini berbeda dengan DFD
yang suatu model jaringan fungsi yang akan dilaksanakan oleh sistem, sedangkan
19
ERD merupakan model jaringan data yang menekankan pada struktur-struktur dan
relationship data.
Diagram hubungan entitas yang biasa lebih dikenal sebutan ER diagram,
adalah notasi grafik dari sebuah model yang data atau sebuah model jaringan yang
menjelaskan tentang data yang tersimpan (storage data) dalam sistem secara
abstrak. Diagram hubungan entitas tidak menyatakan bagaimana memanfaatkan
data, membuat data, mengubah data dan menghapus data. Adapun elemen-elemen
diagram hubungan entitas antara lain:
1. Entitas (entity)
Pada E-R diagram, entity digambarkan dalam sebuah bentuk persegi
panjang. Entity adalah sesuatu apa saja yang ada didalam sistem, nyata
maupun abstrak dimana data tersimpan atau dimana terdapat data. Entitas
diberi nama dengan kata benda dan dapat dikelompokan dalam empat jenis
nama yaitu: orang, benda, lokasi, kejadian (terdapat unsur waktu di
dalamnya).
2. Atribut Value
Atribut Value atau nilai attribute adalah suatu occurrence tertentu dari
sebuah attribute didalam suatu entity atau relationship. Ada dua jenis
attribute yaitu identifier (key) digunakan untuk menentukan suatu entity
secara unik (primary key) dan Descriptor (nonkey attribute) digunakan
untuk menspesifikasikan karakteristik dari suatu entity yang tidak unik.
3. Kardinalitas (Cardinality)
Kardinalitas relasi menunjukan jumlah maksimum tupel yang dapat berelasi
dengan entitas yang lain. Pada contoh sebelumnya dapat kita lihat bahwa
20
tupel-tupel pada entitas mahasiswa dapat berelasi dengan satu tupel, banyak
tupel atau bahkan tidak satupun tupel dari entitas kuliah. Begitu juga
sebaliknya, entitas-entitas pada entitas kuliah ada yang berelasi dengan
beberapa tupel pada entitas mahasiswa dan ada pula yang berelasi dengan
satu tupel pada entitas mahasiswa.
4. Relasi
Relasi adalah hubungan antara beberapa entitas sebagai contoh relasi antar
mahasiswa dengan mata kuliah dimana setiap mahasiswa bisa mengambil
beberapa mata kuliah dan setiap mata kuliah bisa diambil oleh lebih dari 1
mahasiswa. Relasi tersebut memiliki hubungan banyak ke banyak. Macam-
macam relasi antara lain:
a. One-to-one:
Sebuah entitas pada A berhubungan dengan entitas B paling banyak 1
contoh diatas relasi pegawai dan departemen dimana setiap pegawai
hanya bekerja pada 1 departemen.
b. One-to-many:
Sebuah entitas pada A berhubungan dengan entitas B lebih dari satu
contoh diatas adalah 1 departemen memiliki banyak pegawai.
c. Many-to-many:
Sebuah entitas pada A berhubungan dengan entitas B lebih dari satu dan
B berhubungan dengan A lebih dari satu juga contoh diatas adalah relasi
mahasiswa dengan mata kuliah.
21
2.2.3. Logical Relational Structure (LRS)
Membentuk skema database atau LRS (Logical Record Structure)
berdasarkan diagram ERD (Simarmarta, 2007:115).
1. Jika relasinya satu-ke-satu, maka foreign key diletakkan pada salah satu dari
dua entitas yang ada atau menyatukan kedua entitas tersebut.
2. Jika relasinya satu ke banyak, maka foreign key diletakkan pada entitas
many.
3. Jika relasinya banyak-ke-banyak, maka dibuat “file konektor” yang berisi
dua foreign key yang berasal dari kedua entitas.
Membentuk beberapa tabel berdasarkan primary key yang terpilih dengan
syarat sudah mencapai aturan normalisasi sekurang-kurangnya 3NF dari skema
DB atau LRS yang ada.
2.2.4. Pengujian Web
Proses yang harus dilakukan setelah selesai membangun sebuah website
ataupun perangkat lunak adalah proses pengujian (testing). Pengujian website
adalah suatu teknik yang digunakan menguji apakah sebuah website yang
dibangun telah memenuhi kebutuhan proses bisnis pengguna atau masih belum.
Salah satu metode pengujian website adalah Black-Bos Testing.
Menurut Rizky (2011:264), “Black Box Testing adalah tipe testing yang
memperlakukan perangkat lunak yang tidak diketahui kinerja internalnya”.
Sehingga para tester memandang perangkat lunak seperti layaknya sebuah “kotak
hitam” yang tidak penting dilihat isinya, tapi cukup dikenai proses testing
dibagian luar. Jenis testing ini hanya memandang perangkat lunak dari sisi
22
spesifikasi dan kebutuhan yang telah didefinisikan pada saat awal perancangan.
Sebagai contoh, jika terdapat sebuah perangkat lunak yang merupakan sebuah
sistem informasi inventory di sebuah perusahaan. Maka pada jenis white box
testing, perangkat lunak tersebut akan berusaha dibongkar listing programnya
untuk kemudian dites menggunakan teknik-teknik yang telah dijelas sebelumnya.
Sedangkan pada jenis black box testing, perangkat lunak tersebut akan dieksekusi
kemudian berusaha dites apakah telah memenuhi kebutuhan pengguna yang
didefinisikan pada saat awal tanpa harus membongkar listing programnya.
Beberapa keuntungan yang diperoleh dari jenis testing ini antara lain:
1. Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan
teknis dibidang pemrograman.
2. Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh
komponen tester yang berasal dari pengguna.
3. Hasil dari black box testing dapat memperjelas kontradiksi ataupun
kerancuan yang mungkin timbul dari eksekusi sebuah perangkat lunak.
4. Proses testing dapat dilakukan lebih cepat dibandingkan white box testing.