10
BAB II
LANDASAN TEORI
2.1 Sistem Pendukung Keputusan
2.1.1 Pengertian
Sistem Pendukung Keputusan (SPK) merupakan sistem informasi
yang berbasis komputer yang fleksibel, interaktif dan dapat diadaptasi,
yang dikembangkan untuk mendukung solusi untuk masalah
manajemen spesifik yang tidak terstruktur. Sistem Pendukung
Keputusan menggunakan data, memberikan antarmuka pengguna
yang mudah dan dapat menggabungkan pemikiran pengambilan
keputusan (Turban, Sharda & Delen, 2011).
Menurut Kusrini, Sistem Pendukung Keputusan merupakan suatu
sistem informasi yang menyediakan informasi, pemodelan dan
pemanipulasian data (Kusrini, 2009).
Dari beberapa ahli diatas, dapat disimpulkan bahwa sistem
pendukung keputusan merupakan sistem informasi yang mendukung
keputusan semiterstruktur dengan menggunakan menyediakan
informasi, pemodelan dan pemanipulasian data.
2.1.2 Karakteristik dan Kapabilitas SPK
Karakteristik dan Kapabilitas Sistem Pendukung Keputusan
menurut Turban, Sharda & Delen (2011), adalah sebagai berikut :
11
Gambar 2.1 Karakteristik dan Kapabilitas SPK
(Sumber: Turban, Sharda & Delen, 2011)
1. SPK menyediakan dukungan bagi pengambil keputusan terutama
pada situasi terstruktur dan tak terstruktur dengan memadukan
pertimbangan manusia dan informasi terkomputerisasi.
2. Dukungan untuk semua level manajerial, mulai dari eksekutif
puncak sampai manajer lapangan.
3. Dukungan untuk individu dan kelompok. Masalah yang kurang
terstruktur sering memerlukan keterlibatan individu dari
departemen dan tingkat organisasional yang berbeda atau bahkan
dari organisasi lain.
4. Dukungan untuk keputusan independen dan atau sekuensial.
Keputusan dapat dibuat satu kali, beberapa kali atau berulang
(dalam interval yang sama).
5. Dukungan pada semua fase proses pengambilan keputusan :
intelegensi, desain, pilihan dan implementasi.
6. Dukungan diberbagai proses dan gaya pengambilan keputusan.
7. SPK selalu dapat beradaptasi sepanjang waktu. Pengambilan
keputusan harus reaktif, dapat menghadapi perubahan kondisi
12
secara tepat dan dapat mengadaptasikan SPK untuk memenuhi
perubahan tersebut.
8. SPK mudah untuk digunakan. Pengguna harus merasa nyaman
dengan sistem. User-friendly, dukungan grafis yang baik dan
antarmukabahasa yang sesuai dengan bahasa manusia dapat
meningkatkan efektivitas SPK.
9. Peningkatan terhadap efektivitas dari pengambilan keputusan
(akurasi, timeless, kualitas) ketimbang pada efisiensinya (biaya
membuat keputusan, termasuk biaya penggunaan komputer).
10. Pengambil keputusan memiliki kontrol penuh terhadap semua
langkah proses pengmbilan keputusan dalam memecahkan suatu
masalah. SPK ditujukan untuk mendukung bukan menggantikan
pengambil keputusan.
11. Pengguna akhir dapat mengembangkan dan memodifikasi sistem
sendiri. Sistem yang lebih besar dapat dibangun dengan bantuan
ahli sistem informasi. Perangkat lunak OLAP dalam kaitannya
dengan data warehouse membelohkan pengguna untuk
membangun SPK yang cukup besar dan kompleks.
12. Biasanya model-model digunakan untuk menganalisa situasi.
pengambilan keputusan.
13. Akses disediakan untuk berbagai sumber data, format dan tipe
mulai dari sistem informasi geografis (GIS) sampai sistem
berorientasi objek.
14. Dapat dilakukan sebagai stand-alone tool yang digunakan oleh
seorang pengambil keputusan pada satu lokasi atau didistribusikan
pada suatu organisasi keseluruhan dan beberapa organisasi terkait.
2.1.3 Komponen SPK
Menurut Turban, Sharda & Delen (2011), Decision Support System
(Sistem Pendukung Keputusan) terdiri dari empat subsistem yang
saling berhubungan yaitu :
1. Subsistem Manajemen Data
13
Subsistem manajemen data meliputi basis data yang terdiri
dari datadata yang relevan dengan keadaan dan dikelola oleh
software yang disebut Database Management System
(DBMS). Manajemen data dapat diinterkoneksikan dengan
data warehouse perusahaan, suatu repositori untuk data
perusahaan yang relevan untuk mengambil keputusan.
2. Subsistem Manajemen Model
Subsistem manajemen model berupa paket software yang
berisi model-model financial, statistic, ilmu manajemen, atau
model kuantitatif yang menyediakan kemampuan analisa dan
manajemen software yang sesuai. Software ini disebut sistem
manajemen basis model.
3. Subsistem Dialog (User Interface Subsystem)
Subsistem dialog (User Interface Subsystem) merupakan
subsistem yang dapat digunakan oleh user untuk
berkomunikasi dengan sistem dan juga member perintah SPK.
Web browser memberikan struktur antarmuka pengguna grafis
yang familiar dan konsisten. Istilah antarmuka pengguna
mencakup semua aspek komunikasi antara pengguna dengan
sistem.
4. Subsistem Manajemen Berbasis Pengetahuan (Knowledge-
Based Management Subsystem)
Subsistem manajemen berbasis pengetahuan merupakan
subsistem yang dapat mendukung subsistem lain atau berlaku
sebagai komponen yang berdiri sendiri (independent).
Komponen-komponen tersebut membentuk sistem aplikasi
sistem pendukung keputusan yang bisa dikoneksikan ke
intranet perusahaan, ekstranet atau internet. Arsitektur dari
sistem pendukung keputusan.
Komponen-komponen tersebut membentuk sistem aplikasi sistem
pendukung keputusan yang bisa dikoneksikan ke intranet perusahaan,
14
ekstranet atau internet. Arsitektur dari sistem pendukung keputusan
ditunjukkan pada gambar sebagai berikut.
Gambar 2.2 Arsitektur Sistem Pendukung Keputusan
(Sumber : Turban, Sharda & Delen, 2011)
2.1.4 Fase – fase Pengambilan Keputusan
Menurut Turban, Sharda, & Delen (2011), terdapat empat fase
dalam pembangunan sistem pendukung keputusan seperti yang
ditunjukkan pada Gambar 3.
1. Intelligence
Pada fase Intelligence, masalah diidentifikasi,
ditentukan tujuan dan sasarannya, penyebabnya, dan
besarnya. Langkah ini sangat penting karena sebelum suatu
tindakan diambil, persoalan yang dihadapi harus
dirumuskan secara jelas terlebih dahulu. Masalah
dijabarkan secara lebih rinci dan dikategorikan apakah
termasuk programmed atau non-programmed.
15
2. Design
Pada fase Design, dikembangkan tindakan
alternatif, menganalisis solusi yang potensial, membuat
model, membuat uji kelayakan, dan memvalidasi hasilnya.
3. Choice
Pada fase Choice, menjelaskan pendekatan solusi
yang dapat diterima dan memilih alternatif keputusan yang
terbaik. Pemilihan alternatif ini akan mudah dilakukan jika
hasil yang diinginkan memiliki nilai kuantitas tertentu.
4. Implementation
Pada fase Implementation, solusi yang telah
diperoleh pada fase Choice diimplementasikan. Pada
tahap ini perlu disusun serangkaian tindakan yang
terencana, sehingga hasil keputusan dapat dipantau dan
disesuaikan apabila diperlukan perbaikan-perbaikan.
Gambar 2.3 Fase Pengambilan Keputusan
(Sumber : Turban, Sharda & Delen, 2011)
2.2 Multi Objective Optimazion The Basis Of Ratio Analysis (MOORA)
2.2.1 Pengertian Metode MOORA
Multi-Objective Optimization on the basis of Ratio Analysis
(MOORA) adalah multiobjektif sistem mengoptimalkan dua atau
lebih attribut yang saling bertentangan secara bersamaan. Metode ini
16
diterapkan untuk memecahkan masalah dengan perhitungan
matematika yang kompleks. Moora diperkenalkan oleh Brauers dan
Zavadskas pada tahun 2006. Pada awalnya metode ini diperkenalkan
oleh Brauers pada tahun 2004 sebagai “Multi-Objective
Optimization” yang dapat digunakan untuk memecahkan berbagai
masalah pengambilan keputusan yang rumit pada lingkungan pabrik.
Metode moora diterapkan untuk memecahkan banyak permasalahan
ekonomi, manajerial dan konstruksi pada sebuah perusahaan maupun
proyek (Dicky dan Sarjon, 2011).
2.2.2 Algoritma Metode MOORA
Menurut Dicky dan Sarjon (2011) Berikut ini adalah algoritma
penyelesaian metode MOORA yaitu sebagai berikut :
1. Langkah Pertama : Menginputkan Nilai Kriteria
Menginputkan nilai kriteria pada suatu alternatif dimana
nilai tersebut nantinya akan diproses dan hasilnya akan
menjadi sebuah keputusan.
2. Langkah Kedua : Merubah nilai kriteria menjadi matriks
keputusan
Matriks keputusan berfungsi sebagai pengukuran kinerja
dari alternative I th pada atribur J th, M adalah alternatif dan n
adalah jumlah atribut dan kemudian sistem rasio
dikembangkan dimana setiap kinerja dari sebuah alternatif
pada sebuah atribut dibandingkan dengan penyebut yang
merupakan wakil untuk semua alternatif dari atribut tersebut,
Berikut adalah perubahan nilai kriteria menjadi sebuah
matriks keputusan :
17
Keterangan :
X = nilai kriteria masing-masing kriteria yang
direpresentasikan sebagai matriks
3. Langkah Ketiga : Normalisasi pada metode MOORA
Normalisasi bertujuan untuk menyatukan setiap element
matriks sehingga element pada matriks memiliki nilai yang
seragam. Normalisasi pada MOORA dapat dihitung
menggunakan persamaan sebagai berikut :
Keterangan :
Xij = urutan ke i dari alternatif pada kriteria ke j
∑ 𝑚𝑖=1 Xij2 = menunjukkan banyaknya jumlah alternatif
ke-1 sampai ke m yang di kuadratkan
4. Langkah Keempat : Mengurangi nilai maximax dan minmax
Mengurangi nilai maximax dan minmax untuk
menandakan bahwa sebuah atribut lebih penting itu bisa di
kalikan dengan bobot yang sesuai (koefisiensignifikasi)
(Brauers etal.2009 dalam Ozcelik, 2014). saat atribut bobot
dipertimbangkan perhitungan mengunakan persamaan sebagai
berikut.
Keterangan :
Yi = nilai dari penilaian normalisasi alternatif i
terhadap semua atribut.
Xij = urutan ke i dari alternatif pada kriteria ke j
18
Wj = Nilai bobot setiap kriteria
g =nilai kriteria yang akan dimaksimalkan, (n-g)
adalah nilai dari kriteria yang diminimalkan
j = nilai kriteria
Nilai Optimasi dengan menjumlahkan nilai atribut bertipe
benefit j hingga g dan menguranginya dengan nilai atribut cost
g+1 hingga n untuk setiap alternatif i.
5. Langkah Kelima : Menentukan rangking dari hasil perhitungan
MOORA
2.3 Alat Bantu Analisis Sistem
2.3.1 Pengertian UML(Unfied Modelling language)
UML (Unified Modeling Language) adalah salah satu standar bahasa
yang banyak digunakan di dunia industri untuk mendefinisikan
requirement, membuat analisis & desain, serta menggambarkan arsitektur
dalam pemrograman berorientasi objek (Sukamto dan Shalahuddin,
2014).
2.3.2 Tujuan UML
a. Menyediakan Bahasa permodelan visual yang ekspresif dan siap
pakai untuk mengembanggkan dan pertukaran model-model yang
berarti.
b. Menyediakan mekanisme perluasan dan spesialisasi untuk
memperluas konsep-konsep inti.
c. Mendukung spesifikasi independen bahasa pemograman dan proses
pengembangan tertentu.
d. Menyediakan basis formal untuk pemahanaman bahasa
permodelan.
e. Mendorong pertumbuhan pasar kakas berorientasi objek.
19
2.3.3 Macam – Macam UML
a. Use Case Diagram
Use Case Diagram menurut Sukamto dan Shalahuddin (2013),
adalah permodelan untuk kelakuan (behavior) sistem informasi
yang akan dibuat. Use Case Diagram mendeskripsikan sebuah
interaksi antara satu atau lebih aktor dengan sistem informasi
yang dibuat.
Syarat penamaan pada use case diagram adalah nama
didefinisikan sesimpel mungkin dan dapat di pahami. Ada dua hal
utama pada use case diagram yaitu pendefinisian apa yang
disebut aktor dan use case :
1. Aktor merupakan orang, proses atau sistem lain yang
berinteraksi dengan sistem informasi yang akan dibuat
itu sendiri, walaupun biasanyan simbol aktor adalah
orang, tetapi aktor belum tentu orang.
2. Use Case merupakan fungsionalitas yang disediakan
sistem sebagai unit-unit yang saling bertukar pesan antar
unit atau aktor.
Berikut adalah simbol-simbol yang ada pada use case diagram :
Tabel 2.1 Simbol Use Case Diagram
(Sumber : Shalahuddin M dan A. Rossa, 2013)
20
Simbol Nama Keterangan
Actor Simbol ini menunjukkan pengguna
sistem atau yang berinteraksi
langsung dengan sistem, seperti
manusia, aplikasi ataupun objek lain
Dependency Hubungan dimana perubahan yang
terjadi pada suatu elemen mandiri
(independent) akan mempengaruhi
elemen yang bergantung pada
elemen yang tidak mandiri.
Generalization Hubungan dimana objek anak
(descendent) berbagai perilaku dan
struktur data dari objek yang ada di
atasnya objek induk (ancestor).
Include Menspesifikasikan bahwa use case
sumber secara ekslisit.
Extend Menspesifikasikan bahwa use case
target memperkuat perilaku dari Use
Case sumber pada suatu titik di
berikan.
Actor
21
Association Apa yang menghubungkan antara
objek satu dengan objek lainnya.
Package Menspesifikasikan paket yang
menampilkan sistem secara terbatas.
Use Case Simbol yang menunjukkan tindakan
yang dikerjakan suatu objek untuk
bertukar pesan.
Collaboration Interaksi aturan-aturan dan elemen
lain yang bekerja sama untuk
menyediakan perilaku yang lebih
besar dari jumlah dan elemen-elemen
(bersinergi).
Note Mencerminkan suatu sumber.
b. Activity Diagram
Menurut Sukamto dan Shalahuddin(2013), Activity Diagram
menggambarkan aliran fungsionalitas dari mana Workflow (aliran
Package
22
kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau
menu yang ada pada perangkat lunak.
Berikut adalah simbol-simbol yang ada pada Activity diagram
Tabel 2.2 Simbol Activity Diagram
(Sumber : Shalahuddin M dan A. Rossa, 2013)
Simbol Nama Keterangan
Intial Node
(Status Awal)
Status awal aktivitas
sistem, sebauh diagram
aktivitas memiliki
sebuah status.
Activity Aktivitas yang dilakukan
sistem, aktivitas bisanya
diawali dengan kata
kerja
Percabangan
(decision)
Asosiasi percabangan
dimana jika ada pilihan
aktivitas lebih dari satu.
Fork Asosiasi percabangan
satu aktifitas dimana ada
aktifitas lebih dari satu.
NewActivity
23
Penggabungan /Join Asosiasi penggabungan
dimana lebih dari satu
aktivitas digabungkan
menjadi satu.
Activity Final Node
(Status Akhir)
Status akhir yang
dilakukan sistem, sebuah
diagram aktivitas
memiliki sebuah status
akhir.
Swimlane Swimlane memisahkan
organisasi bisnis yang
bertanggung jawab
terhadap aktivitas yang
terjadi.
c. Sequence Diagram
Menurut Sukamto dan Shalahuddin (2013), Sequence
Diagram adalah diagram yang menggambarkan aktivitas objek
pada use case dengan mendeskripsikan objek dan message yang
dikirim dan diterima antar objek.
Sequence Diagram mendeskripsikan komunikasi di antara
objek-objek, meliputi pesan-pesan yang ada dan urutan pesan
tersebut muncul. Sequence diagram dapat berasosiasi dengan
realisasi usecase digunakan untuk menunjukkan flow dari
fungsionalitas di dalam suatu use case.
Berikut adalah simbol-simbol yang ada pada class diagram
24
Tabel 2.3 Simbol Sequence Diagram
(Sumber : Shalahuddin M dan A. Rossa, 2013)
Simbol Nama Keterangan
Actor Orang, proses, atau sistem lain
yang berinteraksi dengan
sistem, aktor belum tentu
orang, biasanya dinyatakan
menggunakan kata benda di
awal frase nama aktor.
LifeLine Objek entity, antar muka yang
saling berinteraksi.
Object Menyatakan objek yang
berinteraksi pesan.
Boundary Menyatakan objek sebagai
tampilan.
Control Menyatakan objek berfungsi
sebagai kontrol.
Actor
Nama Aktor
nama objek :
nama kelas
25
Entity Menyatakan objek sebagai
data.
Object Message Menyatakan suatu objek
membuat objek yang lain, arah
panah mengarah pada objek
yang dibuat.
Message to self Mengambarkan pesan atau
hubungan obyek itu sendiri,
yang menunjukkan urutan
kejadian yang terjadi
Return Message Menyatakan bahwa suatu objek
yang telah menjalankan suatu
operasi atau metode
menghasilkan suatu kembalian
ke objek tertentu, arah panah
mengarah pada objek yang
menerima kembalian
26
d. Class Diagram
Menurut Sukamto dan Shalahuddin(2013), Class Diagram
menggambarkan struktur sistem dari segi pendefinisian kelas-
kelas yang akan dibuat untuk membangun sistem. Class Diagram
memiliki atribut dan metode atau operasi.
a. Atribut merupakan variabel-variabel yang dimiliki oleh
suatu kelas.
b. Operasi atau metode adalah fungsi-fungsi yang dimiliki
oleh suatu kelas.
Susunan struktur kelas yang baik pada diagram kelas
sebaiknya memiliki jenis-jenis kelas berikut:
a. Kelas main, kelas yang memiliki fungsi awal
dieksekusi ketika sistem dijalankan.
b. Kelas yang menangani tampilan sistem (view), kelas
yang mendefinisikan dan mengatur tampilan ke
pemakai.
c. Kelas yang diambil dari pendefinisian use case
(controller), kelas yang menangani fungsi-fungsi yang
harus ada diambil dari pendefinisian use case, kelas ini
biasanya disebut dengan kelas proses yang menangani
proses bisnis pada perangkat lunak.
d. Kelas yang diambil dari pendefinisian data (model),
kelas yang digunakan untuk memegang atau
membungkus data menjadi sebuah kesatuan yang
diambil maupun akan disimpan ke basis data.
27
Tabel 2.4 Simbol Class Diagram
(Sumber : Shalahuddin M dan A. Rossa, 2013)
Simbol Nama Keterangan
Class Kelas pada struktur sistem
Antarmuka atau
interface
Sama dengan konsep interface
dalam pemograman objek.
Association Relasi antarkelas dengan makna
umum, asosiasi biasanya juga
disertai dengan multiplicity.
Directed
Association
Relasi antar kelas dengan makna
kelas yang satu digunakan oleh
kelas yang lain, asosiasi
biasanya juga disertai dengan
multiplicity.
Generaliasi Relasi antarkelas dengan makna
generalisasi-spesialisasi (umum
khusus).
nama_interfa
ce
28
Dependency Relasi antar kelas dengan makna
kebergantungan antarkelas
Aggregation Relasi antar kelas dengan makna
semua bagian (whole-part).
2.4 XAMPP
Menurut Nugroho (2013), “XAMPP adalah paket program web
lengkapyang dapat Anda pakai untuk belajar pemrograman web, khususnya
PHP dan MySQL”.
Menurut Wicaksono (2008) 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 dimodifikasi website tanpa harus online atau terakses dengan
internet.Folder XAMPP
Menurut Nugroho (2013), di dalam folder utama xampp, terdapat beberapa
folder penting yang perlu diketahui. Untuk lebih memahami setiap fungsinya,
Anda dapat melihat penjelasannya sebagai berikut :
Tabel 2.5 folder XAMPP
(Sumber : Nugroho, 2013)
Folder Keterangan
Apache Folder utama dari Apache Webserver
Htdocs Folder utama untuk menyimpan data-data latihan
web, baik PHP maupun HTML biasa.
Manual Berisi subfolder yang di dalamnya terdapat manual
program dan database, termasuk manual PHP dan
29
MySQL.
MySQL Folder utama untuk database MySQL Server.
PHP Folder utama untuk program PHP.
2.5 Hypertext Preprocessor (PHP)
Menurut Agus Saputra (2011) PHP atau yang memiliki kepanjangan
PHP (Hypertext Preprocessor) merupakan suatu bahasa pemrograman yang
difungsikan untuk membangun suatu website dinamis. PHP menyatu dengan
kode HTML, maksudnya adalah beda kondisi. HTML digunakan sebagai
pembangun atau pondasi dari kerangka layout web, sedangkan PHP
difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, web
akan sangat mudah di-maintenance. PHP berjalan pada sisi server sehingga
PHP disebut juga sebagai bahasa Server Side Scripting. Artinya bahwa dalam
setiap/untuk menjalankan PHP, wajib adanya web server. PHP ini bersifat
open source sehingga dapat dipakai secara cuma-cuma dan mampu lintas
platform, yaitu dapat berjalan pada sistem operasi Windows maupun Linux.
PHP juga dibangun sebagai modul pada web server apache dan sebagai
binary yang dapat berjalan sebagai CGI.
2.6 MySQL
Menurut Yenie Kustiyahningsih (2010) Basis data adalah
sekumpulaninformasi yang diatur agar mudah dicari. Dalam arti umum basis
data adalah sekumpulan data yang diproses degan bantuan komputer yang
memungkinkan data dapat diakses dengan mudah dan tepat, yang dapat
digambarkan sebagai aktivitas dariatu atau lebih organisasi yang berelasi.
MySQL merupakan suatu database. MySQL dapat juga dikatakan sebagai
database yang sangat cocok bila dipadukan dengan PHP. Secara umum,
database berfungsi sebagai tempat atau wadah untuk menyimpan,
mengklasifikasikan data secara prefosional. MySQL bekerja menggunakan
SQL Language (Structure Query Language). Itu dapat diartikan bahwa
30
MySQL merupakan standar penggunaan database di dunia untuk pengolahan
data.
MySQL merupakan software RDBMS( atau server database) yang dapat
mengelola database dengan sanagat cepat, dapat menampung data dalam
jumlah besar, dapat di akses oleh banyak user. Raharjo, Budi, Heryanto,
Rosdiana,E., (2014)
2.7 Pengujian Sistem
Menurut Rosa A.S dan M.Shalahudin (2014), pengujian sistem adalah
suatu aktivitas tyang pengujian direncenakan dan sistematis untuk menguji
atau mengevaluasi kebenaran yang diinginkan. Aktivitas pengujian terdiri
dari satu atau sekumpulan langkah dimana dapat menempatkan desain kasus
uji yang spesifik dan metode pengujian. Secara umum, pola pengujian pada
perangkat lunak adalah sebagai berikut :
a. Pengujian dimulai dari level komponen hingga integrasi antar
komponen menjadi sebuah system.
b. Teknik pengujian berbeda beda sesuai dengan berbagai sisi / unit uji
dalam waktu yang berbeda - beda pula bergantung pada pengujian pada
bagian yang dibutuhkan.
c. Pengujian dilakukan oleh pengembang perangkat lunak, dan jika untuk
proyek besar, pengujian bisa dilakukan oleh tim uji yang tidak terikat
dengan tim pengembang perangkat lunak.
d. Pengujian dan penirkutuan (debugging) merupakan aktivitas yang
berbeda tapi penirkutuan (debugging) harus diakomodasi pada berbagai
strategi pengujian.
Pendapat lain tentang pengujian, Menurut Pressman (2012), pengujian
merupakan bagian yang penting dalam siklus pembangunan perangkat lunak.
Pengujian dilakukan untuk menjamin kualitas dari perangkat lunak. Selain
otu, pengujian diharapkan dapat mengetahui keunggulan serta kelemahan
sistem tersebut.Ada beberapa manfaat dengan adanya pengujian sistem,
diantaranya adalah :
31
a. Menilai dan mengevaluasi apakah output sistem sudah sesuai dengan
apa yang diharapkan.
b. Jika sistem tersebut merupakan pengembangan sistem, dapat digunakan
sebagai pembanding apakah lebih baik dari sistem yang sebelumnya
dengan meminimalisir kesalahan.
c. Sistem yang sudah diuji berarti sudah melalui pengujiansistem,
sehingga layak digunakan.
2.7.1 Black-box Testing (Pengujian Kotak Hitam)
Menurut Rosa dan Shalahudin (2014), Black-box Testing yaitu
menguji perangkat lunak dari segi spesifikasi fungsional tanpa
menguji desain dan kotde program. Pengujian dimaksudkan untuk
mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari
perangkat lunak sesuai dengan spesifikasi yang dibutuhkan.Teknik
pengujian Black-box adalah :
a) Equivalence Class Partitioning
Pengujian kelas kesetaraan didasarkan atas asumsi suatu
program yang input dan outputnya dapat dibagi kedalam suatu
jumlah kelas terbatas ( sah dan tidak sah ) seperti pada semua
kasus pada sekat tunggal, berlatih kemampuan yang sama atau
memperlihatkan perilaku yang sama.
b) Boundary Value Analysis
Analisis nilai batas dilakukan dengan membuat tes yang
mengidentifikasi tepi input dan output kelas dalam
spesifikasinya. Biasanya kelasahan program terjadi pada batas-
batas kelas kesetaraan dikenal sebagai “ Batas Analisis Nilai”.
c) Decision Tables
Tabel keputusan digunakan ketika hasil logika dalam
program didasarkan pada suatu keputusan dan aturan yang perlu
diikuti.tabel keputusan terdiri dari empat area yaitu potongan
kondisi, potongan tindakan dan akhirnya tindakan masukan.
32
d) State Transition Diagrams
State Transition Diagrams adalah alat yang sangat baik untuk
menagkap jenis dokumen tertentu dan kebutuhan sistem internal
dalam desain sistem.ketika sistem harus ingat apa yang terjadi
sebelumnya atau ketika pesan yang valid dan tidak valid
e) Orthogonal ArraysOrthogonal Array Testing Stategy (OATS)
Digunakan untuk mengurangi jumlah uji kombinasi dan
menyediakan cakupan maksimum dengan jumlah minimum
kasus yang diuji.
f) All Pairs Technique
Ini adalah teknik yang berlaku memverifikasi jumlah batasan
parameter dengan jumlah batasan nilai serta menjaga jumlah
kasus yang diuji.
Black-box Testing ( Pressman, 2012) merupakan pengujian
software engineer yang mendapatkan serangkaian kondisi input yang
sepenuhnya menggunakan semua persyaratan fungsional untuk suatu
program. Kesalah pada pengujian Black-box :
a) Fungsi – fungsi yang tidak benar atau hilang
b) Kesalahan interface
c) Kesalahan dalam stuktur dan akses database eksternal
d) Kesalahan kinerja
e) Inisialisasi dan kesalahan terminasi
2.7.2 White-Box Testing ( Pengujian Kotak Putih)
Menurut Pressman (2012), pengujian White-box atau Glass-box
adalah metode test-case desain yang menggunakan struktur kontrol
desain procedural untuk memperoleh test-case.
Menurut Ayuliana (2009), whitebox testing pertama kali diusulkan
oleh Tom McCabe (1976). ujicoba whitebox merupakan metode
desain uji kasus yang menggunakan struktur kontrol dari desain
prosedural untuk menghasilkan kasus-kasus uji. Dengan
33
menggunakan metode ujicoba whitebox, para pengembang software
dapat menghasilkan kasus-kasus uji yang :
a. Menjamin bahwa seluruh independent paths dalam modul telah
dilakukan sedikitnya satu kali.
b. Melakukan seluruh keputusan logikal baik dari sisi benar
maupun salah.
c. Melakukan seluruh perulangan sesuai batasannya dan dalam
batasan operasionalnya
d. Menguji struktur data internal untuk memastikan validitasnya
2.7.2.1 Ujicoba Berbasis Alur (Basis Path Testing)
Menurut Ayuliana (2009), metode berbasis alur memungkinkan
perancang kasus uji untuk menghasilkan ukuran kompleksitas logikal
dari desain prosedural dan menggunakan ukuran ini untuk
mendefinisikan himpunan basis dari alur eksekusi. Kasus uji
dihasilkan untuk melakukan sekumpulan basis yang dijamin untuk
mengeksekusi setiap perintah dalam program, sedikitnya satu kali
selama ujicoba.
2.7.2.2 Notasi graf Alur (Path Graph Notation)
Menurut Ayuliana (2009), notasi sederhana untuk
merepresentasikan alur kontrol disebut graf alur (flow graph), seperti
tabel dibawah ini :
notasi
Tabel 2.6 Path Graph Notation
Sumber : Ayuliana (2009)
Skema Notasi
Sequence
34
If
While
Until
Case
Lingkaran (node) menggambarkan satu atau lebih perintah
prosedural. Urutan proses dan keputusan dapat dipetakan dalam satu
node. Tanda panah (edge),menggambarkan aliran kontrol. Setiap node
harus mempunyai tujuan node. Region adalah daerah yang dibatasi
oleh edge dan node. Termasuk daerah diluar grafik alur.
35
2.7.2.3 Cyclomatic Complexity
Cyclomatic Complexity yang dikembangkan oleh Mc Cabe (1976),
yaitu mengukur kompleksitas dari sebuah program dan modul secara
bersamaan yang mendeterminasikan jumlah maksimum dari independent
path yang dibutuhkan untuk mencapai kondisi full line coverage pada
program.pengukuran dilakukan berdasarkan teori graph dan
perhitungannya berdasarkan dari karakteristik program terlihat pada
program flow graph. Cyclomatic Complexity (V(G)) dapat diekspresikan
dengan tiga cara berdasarkan flow graph, yaitu :
1. V(G) = R
2. V(G) = E – N + 2
3. V(G) = P + 1
Dimana : R = jumlah bagian pada program flow graph
E = jumlah edge yang ada program flow graph
N = jumlah node yang ada program flow graph
P = jumlah keputusan yang ada pada graph
Top Related