Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
1
BAB II
LANDASAN TEORI
2.1.Konsep Dasar Web
“Web dapat diartikan sekumpulan halaman yang berupa laman yang berisi
informasi dalam bentuk data digital baik itu berupa text, gambar, animasi,
video, dan audio lainnya yang disediakan melalui jalur koneksi internet”.
Halaman website biasanya berupa dokumen yang ditulis dalam format Hyper
Text Markup Language (HTML), yang bisa diakses melalui HTTP. HTTP
adalah suatu protocol yang menyampaikan berbagai informasi dari server
website untuk ditampilkan kepada user atau pemakai melalui web browser”
(Hidayatullah, 2014).
2.1.1. Website
Website merupakan kumpulan halaman-halaman yang digunakan untuk
menampilkan informasi teks, gambar diam atau gerak, animasi, suara, dan
atau gabungan dari semuanya, baik yang bersifat statis maupun dinamis yang
membentuk satu rangkaian bangunan yang saling terkait, yang masing-
masing dihubungkan dengan jaringan-jaringan halaman (Bekti, 2015).
1. Internet
Hidayatullah (2017) mengungkapkan Internet merupakan “jaringan
komputer luas yang menghubungkan pemakai komputer satu dengan komputer
lainnya dan dapat berhubungan dengan komputer dari suatu negara ke negara
lain di seluruh dunia, dimana didalamnya terdapat berbagai aneka ragam
informasi fasilitas layanan internet browsing. “Internet (Interconnected
2
Network) adalah jaringan komputer yang menghubungkan antar jaringan secara
global, internet dapat juga disebut jaringan dalam suatu jaringan yang luas”
(Sibero, 2014).
2. Web Browser
“Peramban web atau lebih dikenal dengan web browser merupakan
perangkat lunak yang berfungsi untuk menerima dan menyajikan sumber
informasi di internet” Solichin (2016). “Web browser adalah aplikasi perangkat
lunak yang digunakan untuk mengambil dan menyajikan sumber informasi
web” Sibero (2014). Web browser menampilkan halaman-halaman web dengan
cara membaca instruksi-instruksi yang biasa disebut dengan tag-tag HTML
(Hidayatullah, 2014).
Beberapa contoh web browser yang banyak digunakan
a. Mozilla firefox adalah web browser yang cukup populer digunakan
sebagian pengguna internet.
b. Google Chrome adalah web browser yang dirancang oleh Google
INC, yang terkenal dengan mesin pencarinya.
c. Microsoft Internet Explorer adalah sebuah web dan software yang
tidak bebas namun gratis dari microsoft, dan diikutkan dalam setiap
peluncuran sistem operasi Microsoft Windows.
d. Opera adalah browser popular yang mudah digunakan, serta
perangkat lunak untuk membaca dan mengirim surat.
3. Web Server
Merupakan komputer yang digunakan untuk menyimpan dokumen-
dokumen web, komputer ini akan melayani permintaan dokumen web dari
3
kliennya. Web browser seperti explorer atau navigator berkomunikasi melalui
jaringan (termasuk jaringan internet) dengan web server, menggunakan HTTP
Kustiyaningsih (2011). Browser akan mengirimkan request ke server untuk
meminta dokumen tertentu atau layanan lain yang disediakan oleh server.
Server memberikan dokumen satu layanannya jika tersedia juga dengan
menggunakan protocol HTTP”. “Web server adalah sebuah komputer yang
terdiri dari perangkat keras dan perangkat lunak” Sibero (2014). Paket web
server adalah sebuah perangkat lunak server yang berfungsi untuk menerima
permintaan dalam bentuk situs web melalui HTTP atau HTTPS dari klien itu,
yang dikenal sebagai browser web dan mengirimkan kembali (reaksi) hasil
dalam bentuk situs yang biasanya merupakan dokumen HTML (Supono dan
Putratama, 2016).
2.1.2. Bahasa Pemrograman
“Bahasa yang dapat dipahami oleh komputer”. Abdullah (2015) Bahasa
pemrograman adalah instruksi standar untuk memerintahkan komputer. Bahasa
pemrograman ini merupakan suatu himpunan dari aturan sintak dan semantik
yang dipakai untuk mendeskripsikan program komputer. Bahasa pemrograman
memungkinkan seorang programmer dapat menentukan secara persis data
mana yang akan diolah oleh komputer, bagaimana data ini akan disimpan /
diteruskan, dan jenis langkah apa secara persis yang akan diambil dalam
berbagai situasi.
1. Java
“Java adalah bahasa pemrograman objek murni karena semua kode
programnya dibungkus dalam kelas” (Sukamto dan Shalahuddin, 2013). “Java
4
adalah bahasa pemrograman untuk menciptakan isi yang aktif dalam halaman
web, juga dapat dijalankan dalam semua komputer” (Asropudin,
2013). ”Bahasa Pemrograman Java merupakan salah satu dari sekian banyak
bahasa pemograman yang dapat dijalankan di berbagai sistem operasi termasuk
telepon genggam” (Nofriadi, 2015).
2. PHP
”Personal Home Page (PHP) merupakan secara umum dikenal sebagai
bahasa pemrograman script yang membuat dokumen HTML secara on the fly
yang dieksekusi di server web, dokumen HTML yang dihasilkan dari suatu
aplikasi bukan dokumen HTML yang dibuat dengan menggunakan editor teks
atau editor HTML, dikenal juga sebagai bahasa pemrograman server side”
Sidik (2014). “Hypertext Processor (PHP) adalah sebuah bahasa pemrograman
yang umum digunakan untuk scripting server-side yang biasanya terpasang
pada HTML” Bekti (2015). “PHP (Hypertext Preprocessor) adalah suatu
bahasa pemrograman yang digunakan untuk menterjemahkan baris kode
program menjadi kode mesin yang dapat dimengerti oleh komputer yang
berbasis server-side yang dapat ditambahkan ke dalam HTML”( Supono dan
Putratama, 2016). “PHP merupakan salah satu bahasa pemrograman berbasis
web yang ditulis oleh dan untuk pengembang web” (Solichin, 2016).
3. HTML
Enterprise (2016) “HTML merupakan singkatan dari Hypertext Markup
Language. Disebut Hypertext karena didalam script HTML bisa membuat agar
sebuah teks menjadi link yang dapat berpindah dari satu halaman ke halaman
5
lainnya hanya dengan meng-klik teks tersebut. Teks yang ber-link inilah yang
dinamakan hypertext karena hakikat sebuah website adalah dokumen yang
mengandung banyak link untuk menghubungkan satu dokumen dengan
dokumen–dokumen lainnya”. Disebut Markup Language karena script HTML
menggunakan tanda (dalam Bahasa inggris disebut „mark‟) untuk menandai
bagian-bagian dari teks itu memiliki tampilan / fungsi tertentu. “HyperText
Markup Language (HTML) ini adalah bahasa pemrograman yang digunakan
untuk mendesain sebuah halaman web” (Prasetio, 2014). HTML adalah sebuah
bahasa markah yang digunakan untuk membuat sebuah halaman web,
menampilkan berbagai informasi di dalam sebuah penjelajah web internet dan
formating hypertext sederhana yang ditulis kedalam berkas format ASCII agar
apat menghasilkan tampilan wujud yang terintegrasi (Sandi, 2014).
2.1.3. Basis Data
“Basis data merupakan gabungan file data yang dibentuk dengan
hubungan / relasi yang logis dan dapat diungkapkan dengan catatan serta
bersifat independen” (Lubis, 2016). “Basis Data (database) merupakan
kumpulan data yang saling berhubungan satu dengan yang lainnya (Hutahaean,
2015). “Sistem basis data adalah sistem terkomputerisasi yang tujuan
utamanya adalah memelihara data yang sudah diolah atau informasi dan
membuat informasi tersedia saat dibutuhkan (Sukamto dan Shalahuddin, 2015).
1. PHPMyAdmin
Prasetio (2014) “PHPMyAdmin merupakan tools berbasis web yang
berguna untuk mengelola database MySQL”. “PHPMyAdmin adalah aplikasi
web yang dibuat oleh phpmyadmin.net. PhpMyAdmin digunakan untuk
6
administrasi database MySQL”. PHPMyAdmin merupakan aplikasi yang
digunakan untuk mengolah database MySQL (Sibero, 2013:376).
2. MySQL
Sebuah perangkat lunak dan sistem pembuat database yang bersifat
terbuka dan berjalan di semua platform baik di linux maupun windows.
Menurut Sibero (2013) “MySQL atau dibaca ”My Sekuel” adalah suatu
RDBMS (Relation Data Base Management System) yaitu aplikasi sistem yang
menjalankan fungsi pengolahan data”. Menurut Prasetio (2014) menyimpulkan
didalam bukunya “MySQL adalah sebuah server database open source yang
kayaknya paling populer keberadaannya.
3. XAMPP
“XAMPP merupakan sebuah aplikasi perangkat lunak pemrograman
dan database yang didalamnya terdapat berbagai macam aplikasi
pemrograman seperti : Apache HTTP server, MySQL, database , Bahasa
pemrograman PHP dan perl” (Aryanto dalam Kristania et al., 2017). “XAMPP
merupakan paket web server berbasis open source yang dapat dipasang pada
beberapa sistem operasi yang ada (Windows, Linux, dan Mac OS)” (Riyanto dalam
Isty & Afifah, 2018).
4. Netbeans IDE
Merupakan aplikasi Integrated Development Environment (IDE) yang
berbasiskan java. ”Netbeans merupakan sebuah aplikasi Integrated
Development Environment (IDE) yang menggunakan Bahasa pemograman
Java dari Sun Microsystems yang berjalan diatas swing” (Nofriadi ,2015)
“NetBeans IDE adalah sebuah lingkungan pengembangan sebuah kakas untuk
7
pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan
program. Netbeans IDE ditulis dalam Bahasa Pemograman Java, namun dapat
mendukung bahasa pemrograman lain”.
www.netbeans.org/index_id.html(2017). “Netbeans adalah salah satu aplikasi
IDE yang digunakan developer software komputer untuk menulis, meng-
compile, mencari kesalahan, dan untuk menyebarkan program” (Wahana
Komputer, 2015).
5. Adobe Dreamweaver
Sadeli (2014) Adobe Dreamweaver merupakan suatu perangkat lunak
web editor keluaran Adobe System yang digunakan untuk membangun dan
mendesain suatu website dengan fitur-fitur yang menarik dan kemudahan
dalam penggunaanya”. Adobe Dreamweaver adalah aplikasi desain dan
pengembangan web yang menyediakan editor WYSIWYG visual (bahasa
sehari-hari yang disebut sebagai design view) dan kode editor dengan fitur
standar seperti syntax highlighting, kode completion, dan kode collapsing
(Bintu, 2015).
6. Cascading Style Sheets (CSS)
Merupakan kumpulan kode untuk mendefinisikan desain dari Bahasa
markup”. Karena ada kata Bahasa markup pada CSS, maka relasi antara CSS
dan HTML sangatlah dekat. Dengan CSS-lah, sebuah desain website yang
dibangun menggunakan HTML akan menjadi lebih menarik dan variatif. CSS
jika diartikan secara bebas adalah kumpulan kode untuk mendesain atau
mempercantik tampilan halaman website. Dengan arti lain, dengan
memanfaatkan CSS bisa mengubah desain standar yang dihasilkan oleh HTML
8
menjadi variasi–variasi yang lebih kompleks (Enterprise, 2016) “CSS adalah
suatu teknologi yang digunakan untuk memperindah tampilan halaman
website” (Prasetio, 2014). “CSS (Cascading Style Sheet) merupakan salah satu
bahasa pemrograman web yang digunakan untuk mempercantik halaman web
dan mengendalikan beberapa komponen dalam sebuah web sehingga akan
lebih terstruktur dan seragam” (Bekti, 2015).
2.1.4. Model Pengembangan Perangkat Lunak
Metode pengembangan perangkat lunak digunakan untuk merancang
sebuah sistem informasi atau aplikasi. Model dari pengembangan perangkat
lunak yang sering digunakan yaitu air terjun (waterfall). Menurut Rosa dan
Shalahuddin (2015) “Model air terjun menyediakan pendekatan alur hidup
perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain,
pengodean, pengujian dan tahap pendukung (support)”. Model waterfall
merupakan model pengembangan perangkat lunak yang menurun ke bawah
terdiri dari planning, analysis, design, implementation, dan use serta identik
dengan SDLC (Mulyani, 2016).
9
Sumber : Rossa dan Shalahuddin (2015)
Gambar II.1. Model Waterfall
Adapun tahapan dari model waterfall menurut Rosa dan Shalahuddin
(2015)
1. Analisis kebutuhan perangkat lunak proses pengumpulan kebutuhan
dilakukan secara insentif 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 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
pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari
tahap analisis kebutuhan ke system / rekayasa informasi analisis desain
pengkodean pengujian representasi desain agar dapat diimplementasikan
menjadi program pada tahap selanjutnya. Desain perangkat lunak yang
dihasilkan pada tahap ini juga perlu didokumentasikan.
3. Pembuatan kode program 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 fokus pada perangkat lunak secara dari segi logic dan
fungsional serta memastikan bahwa semua bagian sudah diuji. Hal ini
dilakukan untuk meminimalisir kesalahan (error) dan memastikan
keluaran yang dihasilkan sesuai dengan yang diinginkan.
10
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.
2.2. Teori Pendukung
2.2.1. Struktur Navigasi
“Struktur navigasi adalah gabungan dari struktur referensi informasi
situs web dan mekanisme link yang mendukung pengunjung untuk melakukan
penjelajahan situs” (Binanto, 2010).
1. Struktur Navigasi Linier
Struktur navigasi linier hanya mempunyai satu rangkaian cerita yang
berurut yang menampilkan satu demi satu tampilan layer secara berurut
menurut urutannya. 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. Pengguna
akan melakukan navigasi secara berurutan, dalam frame atau byte
informasi satu ke yang lainnya (Binanto, 2010).
2. Struktur Navigasi Hirarki
11
Struktur dasar ini disebut juga struktur linier dengan percabangan karena
pengguna melakukan navigasi disepanjang cabang pohon struktur yang
terbentuk oleh logikaisi (Binanto ,2010).
3. Struktur Navigasi Tidak Berurut (Non-Linier)
Struktur navigasi non-linier merupakan pengembangan dari struktur
navigasi linier. Pada struktur ini diperkenankan membuat navigasi
bercabang. Percabangan yang dibuat pada struktur non-linier ini berbeda
dengan percabangan pada struktur hirarki, karena pada percabangan non-
linear ini walaupun terdapat percabangan tetapi tiap-tiap tampilan
mempunyai kedudukan yang sama yaitu tidak ada Master Page dan Slave
Page, pengguna akan melakukan navigasi dengan bebas melalui isi
proyek dengan tidak terikat dengan jalur yang sudah ditentukan
sebelumnya (Binanto, 2010).
4. Struktur Navigasi Campuran (Composite)
Struktur navigasi pengguna akan melakukan navigasi dengan bebas
(secara non-linier), tetapi terkadang dibatasi presentasi linier film atau
informasi penting dan pada data yang paling terorganisasi secara logis
pada suatu hirarki (Binanto, 2010).
2.2.2. ERD/LRS
1. Entity Relationship Diagram (ERD)
Fatta dalam Taufik (2017) Entity Relationship Diagram (ERD) adalah
gambar atau diagram yang menunjukan informasi dibuat, disimpan, dan
12
digunakan dalam sistem bisnis. “ERD digunakan untuk pemodelan basis data
relasional sehingga jika penyimpanan basis data menggunakan
OODBMS maka perancangan basis data tidak perlu menggunakan ERD. Rosa
dan Shalahuddin (2015:50). “ERD menjadi salah satu pemodelan data
konseptual yang paling sering digunakan dalam proses pengembangan basis
data bertipe relasional” Lubis (2016). Sedangkan menurut Sinarmata (2016)
“Alat pemodelan data utama dan akan membantu mengorganisasi data dalam
suatu proyek kedalam entitas–entitas dan menentukan hubungan antar
entitas. Proses memungkinkan analisis menghasilkan strukur basis data yang
baik sehingga data dapat disimpan dan diambil secara efisien”. Entity
Relationship Diagram (ERD) data model didasarkan pada persepsi terhadap
dunia nyata yang tersusun atas kumpulan objek–objek dasar yang disebut
entitas dan hubungan antar objek. Entitas adalah sesuatu atau objek dalam
dunia nyata yang dapat dibedakan dari objek lain. Entitas digambarkan dalam
basis data dengan kumpulan atribut. Relasi adalah hubungan antara beberapa
entitas. Kumpulan semua entitas bertipe sama disebut kumpulan entitas
(Entity Set), sedangkan kumpulan semua relasi bertipe sama disebut
kumpulan relasi (Relationship Set). Struktur logis (skema database) dapat
ditunjukkan secara grafis dengan ERD yang dibentuk dalam komponen–
komponen sebagai berikut
a. Entity (Entitas)
Suatu yang nyata atau abstrak dimana kita akan menyimpan data.
b. Relationship (Relasi)
13
Hubungan alamiah yang terjadi antara satu atau lebih entitas.
Kardinalitas menentukan kejadian suatu entitas untuk satu kejadian
pada entitas yang berhubungan.
c. Atribute (Atribut)
Ciri umum semua atau sebagian besar instansi pada entitas tertentu.
Sebutan lain atribut adalah property, elemen data, data field. Sebuah
atribut atau kombinasi atribut yang mengindentifikasikan satu dan
hanya satu instansi suatu entitas disebut kunci utama atau pengenal.
14
Sumber : Rossa dan Shalahuddin (2015)
Gambar II.2. ERD
2. Logical Record Structure (LRS)
Merupakan sebuah diagram-ER akan mengikuti pola / aturan pemodelan
tertentu dalam kaitannya dengan konversi ke LRS” (Septi handayani, 2016).
“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)” (Friyadie dalam Taufik, 2017).
Pentransformasian ERD ke LRS ini memiliki aturan-aturan tertentu yang
mempengaruhi langkah pentransformasian yaitu kardinalitas. Adapun
kardinalitas tersebut (Ladjamudin, 2013).
15
a. 1.1:1 (one to one) Relasi yang terjadi antara suatu entity dengan entity
lainnya yang memiliki hubungan.
b. 1:1.2.1:M (one to many) Relasi yang terjadi antara suatu entity dengan
entity lainnya yang memiliki hubungan.
c. 1:M.3.M:N (many to many) Relasi yang terjadi antara suatu entity dengan
entity lainnya yang memiliki hubungan.
d. M:N. Pada relasi ini biasa digunakan tabel bantuan untuk memecahkan
relasi tersebut menjadi 1:1 atau 1:M.
2.2.3. Pengkodean
Perancangan kode unik sangat diperlukan agar setiap data yang masuk
memiliki identifikasi masing-masing dan mencegah terjadinya redudansi data
dimana kode yang yang dibuat tersusun dari aturan-aturan yang dirancang
berdasarkan elemen-elemen tertentu yang digunakan oleh perancang kode.
Tujuan dari pengkodean menjadikan setiap karakter data dalam sebuah
informasi digital ke dalam bentuk biner agar dapat ditransmisikan dan bisa
melakukan data. “Kode memudahkan proses pengolahan data karena dengan
kode, data akan lebih mudah diidentifikasi” (Shatu, 2016). Sedangkan menurut
Sutabri Puspitawati dan Anggadini (2011) “Sistem pengkodean terdiri dari
himpunan karakter, simbol-simbol yang dapat diterima dan telah dinyatakan
digunakan untuk mengidentifikasikan objek tertentu”. Dalam pembuatan
sebuah kode-kode yang baik memiliki persyaratan-persyaratan tertentu atau
faktor-faktor yang perlu dipertimbangkan. Adapun faktor-faktor pertimbangan
(Shatu, 2016) dalam pembuatan kode
1. Kode yang disusun perlu disesuaikan dengan metode proses data.
16
2. Setiap kode harus mewakili hanya satu item sehingga tidak
membingungkan..
3. Kode yang disusun harus memudahkan pemakai untuk mengingatnya.
4. Kode yang disusun harus fleksibel, dalam arti memungkinkan dilakukan
perluasan tanpa perubahan menyeluruh.
5. Setiap kode harus menggunakan jumlah angka dan huruf yang sama.
6. Kode yang panjang perlu dipotong-potong (chunking) untuk memudahkan
mengingat. Dalam kode yang panjang perlu diberi kode yang merupakan
check digit, yaitu untuk mengecek kebenaran kode.
2.2.4. Implementasi dan Pengujian Web
Testing perangkat lunak adalah elemen kritis dari jaminan kualitas
perangkat lunak dan mempresentasikan spesifiksi, desain, dan pengkodeannya.
Dalam testing perangkat lunak ada pendekatan test yaitu Black Box Testing dan
White Box Testing. Black box testing bertujuan untuk menunjukan fungsi
perangkat lunak tentang cara beroperasinya, apakah pemasukan data dan
keluaran telah berjalan sebagaimana yang diharapkan dan apakah informasi
yang disimpan secara eksternal selalu dijaga kemutakhirannya.
1. Black Box Testing
Dilakukan tanpa pengetahuan detil struktur internal dari sistem atau
komponen yang dites. Juga disebut sebagai behavioral testing, specification-
based testing, input/output testing atau functional testing. Black box testing
berfokus pada kebutuhan fungsional pada software, berdasarkan pada
spesifikasi kebutuhan dari software. Black box testing bukan teknik alternatif
daripada white box testing. Lebih daripada itu, ia merupakan pendekatan
17
pelengkap dalam mencakup error dengan kelas yang berbeda dari metode
white box testing. “Blackbox testing adalah tipe testing yang memperlakukan
perangkat lunak yang tidak diketahui kinerja internalnya” (Rizky ,2011). Rosa
dan Shalahuddin (2014) mengemukakan bahwa 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 dulakukan
dengan membuat kasus uji yang bersifat mencoba semua fungsi dengan
memakai perangkat lunak apakah sesuai dengan spesifikasi yang dibutuhkan.
Kasus uji 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
a. Jika user memasukkan nama pemakai (username) dan kata sandi
(password) yang benar.
b. 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.
Mustaqbal, dkk (2015) mengemukakan bahwa, “Black Box Testing
lebih merupakan pelengkap untuk menguji hal-hal yang tidak dicakup oleh
White Box Testing. Black Box Testing lebih berfokus pada spesifikasi
fungsional dari perangkat lunak”.
Kategori error yang akan diketahui melalui black box testing
1) Fungsi yang hilang atau tak benar
18
2) Error dari antar-muka
3) Error dari struktur data atau akses eksternal database
4) Error dari kinerja atau tingkah laku
5) Error dari inisialisasi dan terminasi
2. Metode Graph Based Testing
Langkah pertama pada black box testing adalah memahami obyek yang
dimodelkan dalam software dan hubungan koneksi antar obyek, kemudian
definisikan serangkaian tes yang merupakan verifikasi bahwa semua obyek
telah mempunyai hubungan dengan yang lainnya sesuai yang diharapkan.
Langkah ini dapat dicapai dengan membuat grafik, dimana berisi kumpulan
node yang mewakili obyek, penghubung / link yang mewakili hubungan antar
obyek, bobot node yang menjelaskan properti dari suatu obyek, dan bobot
penghubung yang menjelaskan beberapa karakteristik dari penghubung / link.
Testing berbasis grafik (graph based testing) dimulai dengan
mendefinisikan semua nodes dan bobot nodes. Dalam hal ini dapat diartikan
bahwa obyek dan atribut didefinisikan terlebih dahulu. Data model dapat
digunakan sebagai titik awal untuk memulai, namun perlu diingat bahwa
kebanyakan nodes merupakan obyek dari program (yang tidak secara eksplisit
direpresentasikan dalam data model). Agar dapat mengetahui indikasi dari
titik mulai dan akhir grafik, akan sangat berguna bila dilakukan pendefinisian
dari masukan dan keluaran nodes. Bila nodes telah diidentifikasi, hubungan
dan bobot hubungan akan dapat ditetapkan. Hubungan harus diberi nama,
walaupun hubungan yang merepresentasikan alur kendali antar obyek program
sebenarnya tidak butuh diberi nama. Pada banyak kasus, model grafik
19
mungkin mempunyai loops (yaitu, jalur pada grafik yang terdiri dari satu atau
lebih nodes, dan diakses lebih dari satu kali iterasi). Loop testing dapat
diterapkan pada tingkat black box. Grafik akan menuntun dalam
mengidentifikasi loops yang perlu dites.
Sumber: (Smirnov, 2002 & Laurie, 2006)
Gambar II.3 Notasi pengujian berbasis graph
Terdapat tiga pola link weight
a. Transitivitas yaitu hubungan antara tiga objek atau lebih yang
menentukan bagaimana pengaruh hubungan tersebut menyebar pada objek
yang ditentukan.
20
b. Simetris, yaitu hubungan antara dua objek secara dua arah.
c. Refleksif yaitu hubungan yang mengarah pada node itu sendiri atau loop
null.
Beberapa metode pengujian black box yang menggunakan graf
1) Transaction Flow Modeling
Metode ini menggunakan node sebagai representasi langkah pada
transaksi, dan link sebagai representasi hubungan logika antara
langkah-langkah tersebut.
2) Finite state modeling
Metode ini menggunakan node sebagai representasi status dan link
sebagai representasi transisi. State chart atau state transition diagram
dapat digunakan untuk membuat graf.
3) Data flow modeling
Metode ini mengunakan node sebagai representasi objek data dan link
sebagai transformasi dari satu objek data ke objek data yang lain.
4) Timing modeling
Metode ini menggunakan node sebagai representasi objek program dan
link sebagai hubungan sekuensial antara objek. (Smirnov, 2002 &
Laurie, 2006)
3. Equivalence Partitioning
Metode black box testing yang membagi domain masukan dari suatu
program kedalam kelas-kelas data, dimana test cases dapat diturunkan.
Equivalence partitioning berdasarkan pada premis masukan dan keluaran dari
suatu komponen yang dipartisi ke dalam kelas-kelas, menurut spesifikasi dari
21
komponen tersebut, yang akan diperlakukan sama (ekuivalen) oleh komponen
tersebut. Dapat juga diasumsikan bahwa masukan yang sama akan
menghasilkan respon yang sama pula. Nilai tunggal pada suatu
partisi ekuivalensi diasumsikan sebagai representasi dari semua nilai dalam
partisi. Hal ini digunakan untuk mengurangi masalah yang tidak mungkin
untuk testing terhadap tiap nilai masukan. Kombinasi yang mungkin dalam
partisi ekuivalensi
a. Nilai masukan yang valid atau tak valid.
b. Nilai numerik yang negatif, positif atau nol.
c. String yang kosong atau tidak kosong.
d. Daftar (list ) yang kosong atau tidak kosong.
e. File data yang ada dan tidak, yang dapat dibaca / ditulis atau tidak.
f. Tanggal yang berada setelah tahun 2000 atau sebelum tahun 2000,
tahun kabisat atau bukan tahun kabisat (terutama tanggal 29 Februari
2000 yang mempunyai proses tersendiri).
g. Tanggal yang berada di bulan yang berjumlah 28, 29, 30, atau 31 hari.
h. Hari pada hari kerja atau liburan akhir pekan.
i. Waktu di dalam atau di luar jam kerja kantor.
j. Tipe file data, seperti: teks, data berformat, grafik, video, atau suara.
k. Sumber atau tujuan file, seperti hard drive, floppy drive, CD-ROM,
jaringan.
22
4. Boundary Value Analysis (Analisis Nilai Batas)
Analisis nilai batas adalah teknik desain proses yang melengkapi partisi
ekuivalensi, dengan berfokus pada domain output. Pedoman untuk menentukan
analisis nilai batas
a. Bila suatu kondisi input mengkhususkan suatu range dibatasi oleh
nilai a dan b, maka pengujian harus di desain dengan nilai a dan b,
persis di atas dan di bawah a dan b secara bersesuaian.
b. Bila suatu kondisi input mengkhususkan sejumlah nilai, maka
pengujian harus dikembangkan dengan menggunakan jumlah
minimum dan maksimum. Nilai tepat di atas dan di bawah minimum
dan maksimum juga diuji.
c. Pedoman a dan b juga diaplikasikan ke kondisi output.
d. Bila struktur data program telah memesan suatu batasan, maka
pengujian akan dilakukan sesuai dengan batasan struktur data
tersebut. (Smirnov, 2002 & Laurie, 2006).