BAB II LANDASAN TEORI 2.1. Konsep Dasar Sistem 2.2. Definisi UML

advertisement
BAB II
LANDASAN TEORI
2.1.
Konsep Dasar Sistem
Menurut Laudon (2012:16) sistem informasi adalah komponen-komponen yang
saling berkaitan yang bekerja bersama-sama untuk mengumpulkan, mengolah,
menyimpan, dan menampilkan informasi untuk mendukung pengambilan keputusan,
koordinasi, pengaturan, analisa, dan visualisasi pada sebuah organisasi.
Sistem Informasi dapat terdiri dari komponen-komponen yang disebut dengan
istilah blok bangunan (building block), yaitu blok masukan (input block), blok model
(model block), blok keluaran (output block), blok teknologi (technology block), blok dasar
data (database block), dan blok kendali (control block). Sebagai suatu sistem, keenam
blok tersebut masing-masing saling berinteraksi satu dengan yang lainnya membentuk
satu kesatuan untuk mencapai sasarannya.
2.2.
Definisi UML (Unified Modelling Language)
2.2.1. Pengertian UML
UML singkatan dari Unified Modeling Language, UML adalah kosakata umum
berbasis objek dan diagram teknik yang cukup efektif untuk memodelkan setiap proyek
pengembangan sistem mulai tahap analisis sampai tahap perancangan dan tahap
implementasi. (Alan Dennis, 2012 : 513)
2.2.2. Diagram – Diagram UML
Beberapa literature menyebutkan bahwa UML menyediakan Sembilan jenis
diagram. Namun kesembilan diagram ini tidak mutlak harus digunakan dalam
pengembangan perangkat lunak, semuanya dibuat sesuai dengan kebutuhan. Diagram
yang sering digunakan adalah Diagram Use case, Diagram Aktivitas (Activity Diagram),
Diagram Sequence, Diagram Class.
8
http://digilib.mercubuana.ac.id/
9
2.2.3. Use Case Diagram
Use Case Diagram merupakan suatu diagram yang menangkap kebutuhan bisnis
untuk sistem dan untuk menggambarkan interaksi antara sistem dan lingkungannya. (Alan
Dennis, 2012 : 513).
Tabel 2. 1. Use Case Diagram (Alan Dennis, 2012 : 518)
Komponen pembentuk diagram use case adalah, sebagai berikut :
1.
Aktor (An actor), menggambarkan pihak-pihak yang berperan dalam sistem.
2.
A Use case, aktifitas / sarana yang disiapkan oleh bisnis / sistem.
3.
A System boundary, sebuah kotak yang mewakili sebuah sistem.
4.
Hubungan (An association relationship), aktor mana saja yang terlibat dalam use
case, dan bagaimana hubungan use case dengan use case lain. ada hubungan antar
use case. Digolongkan menjadi 2 : yaitu extend digambarkan dengan keterangan
<<extend>>, dan include digambarkan dengan keterangan <<include>>.
http://digilib.mercubuana.ac.id/
10
Gambar 2.1. Perbedaan include dan extend pada use case(Alan Dennis, 2012 : 520)
Tabel 2.2. Perbedaan include dan extend pada use case
Include
Extend
Use case terpanggil (included use case)
Use case ekstensi tidak selalu
selalu diperlukan oleh use case dasar
dibutuhkan oleh use case dasar
Yang memutuskan kapan dipanggilnya
Yang memutuskan kapan dipanggilnya
use case included adalah use case dasar
use case extend adalah use case extend
itu sendiri
Panah hubungan dari use case dasar ke
Panah hubungan dari use case extend
use case include
ke use case dasar
http://digilib.mercubuana.ac.id/
11
Use case biasanya disertai dengan penjelesan narasi yang dirangkum dalam tabel
yaitu disebut Use case Description. Use caseDescription merupakan tabel yang
digunakan untuk membuat dan menjelaskan keterangan terperinci mengenai tiap tiap use
case. Terdapat istilah pre condition dan post condition, fungsinya adalah memberikan
informasi penting mengenai keadaan sistem sebelum dan sesudah use case. Hal ini dapat
dilakukan dengan memberikan penjelasan singkat atau dapat pula berupa namause case.
Gambar 2.2.Contoh Use Case (Alan Dennis, 2012 : 519)
2.2.3.2 Activity Diagram
Diagram aktivitas atau Activity Diagram yang menggambarkan alur kerja
bisnis independen dari kelas, aliran kegiatan dalam use case atau desain rinci sebuah
metode. (Alan Dennis, 2012 : 513)
Gambar 2.3 Contoh Activity Diagram (Alan Dennis, 2012 : 167)
http://digilib.mercubuana.ac.id/
12
Tabel 2.3. Komponen Activity Diagram (Alan Dennis, 2008 : 166)
Actor
 Digunakan untuk melakukan tindakan
Activity
 Digunakan untuk mewakili serangkaian
tindakan
Object Node
 Digunakan untuk mewakili suatu objek yang
terhubung ke satu set Arus Obyek
Control Flow
 Menunjukkan urutan eksekusi
Object Flow
 Menunjukkan arus dari sebuah objek dari
satu kegiatan (atau tindakan) untuk kegiatan
lain (atau tindakan)
Actor
Activity
Class Diagram
----------------->
Initial Node
 Menggambarkan awal dari serangkaian
tindakan atau kegiatan
Initial activity Node
 Digunakan untuk menghentikan semua arus
kontrol dan arus objek dalam suatu kegiatan
(atau tindakan)
Final activity Node
 Digunakan untuk menghentikan aliran
kontrol tertentu atau aliran objek
Decision Node
 Digunakan untuk mewakili kondisi tes untuk
memastikan bahwa aliran kontrol atau aliran
objek hanya turun satu jalur
Marge Node
 Digunakan untuk membawa kembali jalur
keputusan bersama yang berbeda yang
dibuat menggunakan keputusan-node
Fork Node
 Adalah node kontrol yang memiliki satu dan
dua atau lebih aliaran keluar
Join Node
 Adalah gabungan dari satu atau lebih activity
aliran masuk
Swimline
 Digunakan untuk memecah sebuah diagram
aktivitas dalam baris dan kolom untuk
menetapkan
aktivitas individu (atau
tindakan) kepada individu atau benda yang
bertanggung jawab untuk melaksanakan
kegiatan (atau tindakan)
http://digilib.mercubuana.ac.id/
Name
13
2.2.3.3
Sequence Diagram
Sequence Diagram merupakan urutan model dinamis yang menggambarkan
contoh kelas yang berpartisipasi dalam use case dan pesan yang lewat di antara mereka
dari waktu ke waktu. (Alan Dennis, 2012 : 540)
Berikut merupakan komponen utama dalam sequence diagram :
Tabel 2.4. Komponen Sequence Diagram( Alan Dennis dkk, 2012 : 532 )
Gambar 2.4.Komponen Sequence Diagram (Alan Dennis, 2010 : 531)
http://digilib.mercubuana.ac.id/
14
2.2.3.3 Class Diagram
Diagram kelas atau Class Diagram adalah model statis yang mendukung
pandangan statis dari sistem berkembang.Ini menunjukkan kelas dan hubungan antar
kelas yang tetap konstan dalam sistem dari waktu ke waktu.Diagram kelas sangat mirip
dengan diagram hubungan entitas (ERD).(Alan Dennis, 2012 : 521)
Gambar 2.5.Contoh Class Diagram (Alan Dennis, 2010 : 530)
Tabel 2.5. KomponenClass Diagram ( Alan Dennis, 2010 )
http://digilib.mercubuana.ac.id/
15
2.3
Pemrograman
2.3.1
Bahasa Pemrograman
Menurut Dipraja (2013:26), programming language (bahasa pemrograman)
merupakan suatu sintak untuk mendefinisikan program komputer, bahasa ini
memungkinkan seorang programmer dapat membuat suatu program aplikasi
2.3.2
PHP (Perl Hypertext Preprocessor)
Menurut Sibero (2011d:49) “PHP adalah pemrograman interpreter yaitu proses
penerjemahan baris kode sumber menjadi kode mesin yang dimengerti komputer secara
langsung pada saat baris kode dijalankan”. Php disebut juga pemrograman Server Side
Programming, hal ini dikarenakan seluruh prosesnya dijalankan pada server. PHP adalah
suatu bahasa dengan hak cipta terbuka atau yang juga dikenal dengan open source yaitu
pengguna data mengembangkan kode-kode fungsi sesuai kebutuhannya.
PHP (Perl Hypertext Preprocessor) bisa di sebut juga sebagai
bahasa server-side-
scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis”.
Dengan menggunakan program PHP, sebuah website akan lebih interaktif dan dinamis.
2.4
Basis Data
2.4.1
Definisi Basis Data
Menurut Raharjo (2011:3), basis data (database) yaitu kumpulan data yang
terintegrasi dan diatur sedemikian rupa sehingga data tersebut dapat dimanipulasi,
diambil, dan dicari secara cepat.
2.4.2
Definisi Database Management Systems (DBMS)
Database Management System (DBMS) adalah suatu sistem perangkat lunak
yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan
mengatur akses ke basis data (Connoly dan Beg, 2010:15).
Biasanya basis data memiliki fasilitas-fasilitas sebagai berikut :
1. Fasilitas mendefinisikan basis data, biasanya menggunakan Data Definition
Language (DDL). DDL mengizinkan pengguna untuk memspesifikasikan tipe,
struktur, dan batasan aturan mengenai data yang bisa disimpan ke dalam basis
data.
2. Fasilitas untuk mengizinkan pengguna untuk menambah, mengedit, menghapus
dan mendapatkan kembali data dari basis data, biasanya menggunakan Data
Manipulation Language (DML). Ada pula suatu fasilitas yang melayani
http://digilib.mercubuana.ac.id/
16
pengaksesan data yang disebut query language. Bahasa yang diakui adalah
Structured Query Language (SQL), yang merupakan standar dari DBMS.
3. Fasilitas untuk mengontrol ke basis data (DCL). Contoh :
a. Sistem keamanan yang mencegah user yang tidak punya autoritas untuk akses
data.
b. Suatu sistem terintegrasi yang memelihara konsistensi penyimpanan data.
c. Suatu sistem control pengembalian data yang mana dapat mengembalikan data ke
keadaan sebenarnya apabila terjadi kegagalan perangkat keras atau perangakat
lunak.
d. Terdapat suatu catalog yang dapat diakses oleh pengguna, yang menjelaskan data
didalam basis data tersebut.
Komponen DBMS terbagi menjadi lima yaitu:
1.
Hardware (Perangkat Keras)
Hardware dapat berkisar dari komputer tunggal, mainframe tunggal, hingga
jaringan computer. Hardware yang dipakai tergantung pada kebutuhan organisasi
dan Database Management System DBMS memerlukan jumlah minimum
memori dan hardisk untuk bekerja, tetapi konfigurasi yang minimum tidak
memberikan performa yang handal.
2.
Software (Perangkat Lunak)
Komponen perangkat lunak terdiri dari perangkat lunak DBMSdan program
aplikasi beserta sistem operasi (OS), termasuk jaringan perangkat lunak jika
DBMS digunakan melalui jaringan.
3.
Data
Data merupakan data terpenting dalam DBMS khususnya sudut pandang dari end
user mengenai data, dimana data berfungsi sebagai jembatan antara komponen
mesin dengan komponen manusia.
4.
Procedures
Prosedur merupakan panduan dan aturan dalam membuat dan menggunakan basis
data berupa: login ke dalam basis data, penggunaan fasilitas DBMS atau aplikasi
program, cara menjalankan atau menghentikan DBMS, membuat backup
database, menangani kerusakan software atau hardware, mengubah struktur tabel,
mengumpulkan basis data dari beberapa disk, meningkatkan kinerja atau
membuat arsip data pada secondary storage.
http://digilib.mercubuana.ac.id/
17
5.
People (manusia)
Komponen terakhir yaitu manusia yang terlibat dengan sistem tersebut.
2.5
Pengertian SDLC (Software Development Life Cycle)
Pengertian SDLC adalah suatu proses berkelanjutan dari planning analisis, desain
dan implementasi. Yang pada prosesnya dilakukan perbaikan secara bertahap (Dennis et
al 2012:39).
2.5.1
Metode Waterfall
Model perancangan SDLC adalah dengan model waterfall. Terdapat 5 langkah
dalam metode waterfall, adalah:
Gambar 2.6 Metode Waterfall (Alan Dennis 2012)
1. Perencanaan (Planning)
Dalam tahapan ini, menjelaskan dan mengargumentasikan untuk melanjutkan
proyek yang telah dipilih, Rencana kerja yang matang juga disusun untuk menjalankan
tahapan-tahapan lainnya. Pada tahap ini ditentukan secara detail rencana kerja yang harus
dikerjakan, durasi yang diperlukan masing-masing tahap, sumber daya manusia,
perangkat lunak, dokumentasi, perangkat keras, maupun financial diestimasi. Pembuatan
perencanaan ini bukan langkah mudah karena untuk mengestimasi beban kerja dan durasi
dari masing-masing tahap dibutuhkan pengalaman yang cukup banyak. Kesalahan pada
tahap ini akan mengakibatkan keuntungan yang diperolah tidak maksimal, bahkan bias
rugi. Pada tahapan ini peran manajemen sistem informasi berpengalaman sangat
dibutuhkan.
2. Analisis (Analysis)
Tahap kedua, adalah tahap analisis, yaitu tahap dimana kita berusaha mengenali
segenap permasalahan yang muncul pada pengguna dengan mendekomposisi dan
http://digilib.mercubuana.ac.id/
18
merealisasikan komponen-komponen sistem. Tujuan utama dari tahap analisis adalah
untuk memahami dan mendokumentasikan kebutuhan bisnis dan persyaratan proses dari
sistem baru. Menganalisa kebutuhan sebagai bahan dalam membuat spesifikasi di tahapan
selanjutnya.
3. Perancangan (Design)
Tahap Perancangan (design) dimana kita mencoba mencari solusi permasalahan
yang didapat dari tahap analisis. Tahapan mengubah kebutuhan yang masih berupa
konsep menjadi spesifikasi sistem yang nyata untuk diimplementasikan. Jika pada
tahapan analisis ( form requirement to specification), maka tahapan desain adalah (form
specification to implementation). Jadi, bagaimana pembuatan spesifikasi yang detail
untuk bisa diimplementasikan.
4. Implementasi (Implementation)
Tahap implementasi, dimana kita mengimplementasikan perancangan sistem ke
situasi nyata atau desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca.
Disini kita mulai berurusan dengan pemilihan perangkat keras dan penyusunan perangkat
lunak aplikasi (coding ).
5. Sistem
Pada tahapan sistem dilakukan pengujian (testing) dan pemeliharaan, yang dapat
digunakan untuk menentukan apakah sistem / perangkat lunak yang kita buat sudah
sesuai dengan kebutuhan pengguna atau belum. Jika belum, proses selanjutnya adalah
bersifat iterative, yaitu kembali ke tahap sebelumnya. Tahap pemeliharaan dan perawatan
dimana kita mulai melakukan pengoperasian sistem dan jika diperlukan melakukan
perbaikan-perbaikan kecil.
2.4.3
SQL (Structured Query Language)
Menurut Raharjo (2011:55), SQL yaitu kependekan dari Structured Query
Language, yang merupakan bahasa atau kumpulan perintah standar yang digunakan untuk
berkomunikasi dengan database.
Menurut Raharjo (2011:21), mysql mengimplementasikan model database
relasional maka disebut sebagai Relational Database Management System/RDBMS.
Mysql merupakan software RDBMS atau server database yang dapat mengelola database
dengan sangat cepat, dapat menampung data dalam jumlah sangat besar, dapat diakses
oleh banyak user/multi-user, dan dapat melakukan suatu proses secara sinkron atau
berbarengan/multi-threaded. Mysql banyak digunakan di berbagai kalangan untuk
http://digilib.mercubuana.ac.id/
19
melakukan penyimpanan dan pengolahan data, mulai dari kalangan akademis sampai ke
industri, baik industri kecil, menengah, maupun besar.
2.5.
Database
Basis data (Database) adalah kumpulan informasi yang disimpan di dalam
komputer secara sistematik, sehingga data digunakan oleh suatu program komupter untuk
memperoleh informasi dari basis data tersebut. Basis data adalah sekumpulan data yang
terhubung satu sama lain secara logika dan suatu deskripsi data yang dirancang untuk
memenuhi kebutuhan informasi suatu organisasi. [Verdi Yasin, 2012:274]
Menurut Fathansyah [2012:2-3] basis data (Database) dapat didefinisikan dalam
sejumlah sudut pandang seperti:
1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi
sedemikian rupa agar kelak data dimanfaatkan kembali dengan cepat dan mudah.
2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian
rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai
kebutuhan.
3. Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media
penyimanan elektronis.
2.6
Dreamweaver
Adobe Dreamweaver CS6 merupakan versi terbaru dari Adobe Dreamweaver
yang sebelumnya adalah Adobe Dreamweaver CS5”. Aplikasi Adobe Dreamweaver
CS6memberikan tampilan lebih baik dan tentu saja semakin mudah dalam
penggunaannya. Aplikasi ini mengintegrasikan beragam fitur untuk memenuhi kebutuhan
pengembangan website, termasuk pembuatan halaman web dan pengelolaannya.
Adobe Dreamweaver CS6 menyertakan banyak tool yang berkaitan dengan
pengkodean seperti HTML, CSS, XML,dan pemrograman Client Side, yaitu JavaScript
dengan penggunaan yang sangat mudah dan user friendly. Aplikasi ini juga mendukung
pemrograman Script Server Side seperti PHP, Active Server Page (ASP), ASP.NET, ASP
Java Script, ASP VB Script, Cold Fusion, dan Java Server Page (JSP).
Fasilitas yang ada pada Adobe Dreamweaver CS6memberikan kemudahan
kepada user untuk melakukan pengeditan karena ditampilkan secara visual. Penambahan
desain fungsi pada halaman web tidak harus dituliskan dalam baris kode. Selain itu,
Adobe Dreamweaver CS6 juga dapat meng-import dan menyisipkan image atau movie
yang dibuat dari aplikasi lainnya seperti file flash (.SWF)ataupun FLV [Komputer, 2013].
http://digilib.mercubuana.ac.id/
20
Gambar 2.7. AdobeDreamweaver CS6
2.7. Framework CodeIgniter
Menurut [Betha Sidik, 2012] Framework CodeIgniter adalah aplikasi open
source yang berupa framework dengan model MVC (Model, View, Controller) untuk
membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan
developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan
membuatnya dari awal.
Model View Controller merupakan suatu konsep yang cukup populer dalam
pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC
memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun
sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol
aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu
aplikasi yaitu :
1.
View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi
web bagian ini biasanya berupa file template HTML, yang diatur oleh controller.
View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini
tidak memiliki akses langsung terhadap bagian model.
2.
Model, biasanya berhubungan langsung dengan database untuk memanipulasi data
(insert, update, delete, search), menangani validasi dari bagian controller, namun
tidak dapat berhubungan langsung dengan bagian view.
http://digilib.mercubuana.ac.id/
21
3.
Controller, merupakan bagian yang mengatur hubungan antara bagian model dan
bagian view, controller berfungsi untuk menerima request dan data dari user
kemudian menentukan apa yang akan diproses oleh aplikasi.
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai
dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan
controller, sedangkan designer yang menangani bagian view, sehingga penggunaan
arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun
demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam
menangani variabel-variabel yang akan ditampilkan.
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP
lain,
1.
Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah
karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi
Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan
framework yang paling cepat dibanding framework yang lain.
2.
Konfigurasi yang sangat minim (nearly zero configuration) : tentu saja untuk
menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan
konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau
autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda
hanya perlu mengubah sedikit saja file pada folder config.
3.
Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk
berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
4.
Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai
user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya
pun mudah dipahami.
2.8.
Pengertian XAMPP
XAMPP merupakan bundel paket instan yang terdiri dari Apache (server),
MySql (database) dan PHP. Paket instan ini banyak digunakan oleh para programmer
web karena kemudahannya sehingga programmer tidak perlu mengonfigurasi dari awal
melainkan tinggal pakai (Eko Priyo Utomo 2013:7). Kata XAMPP merupakan singkatan
dari :
X : Berarti program ini dapat dijalankan di banyak sistem operasi, misalnya (Windows,
Linux, Mac OS, dan solaris).
http://digilib.mercubuana.ac.id/
22
A:
Apache, merupakan aplikasi web server, dan bertugas untuk menghasilkan halaman
web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat
halaman web. Jika diperlukan juga 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. Perkembangannya disebut sql yang
merupakan kepanjangan dari Structured Query Language.Sql merupakan bahasa
terstruktur yang digunakan untuk mengolah database.MySQL dapat digunakan
untuk membuat dan mengelola database beserta isinya. Kita dapat memanfaatkan
MySQL untuk menambahkan, mengubah, dan menghapus data yang berada dalam
database.
P:
PHP, bahasa pemrograman web. Bahasa pemrograman PHP merupakan bahasa
pemrograman untuk membuat web yang bersifat server-side scripting. PHP
memungkinkan kita untuk membuat halaman web yang bersifat dinamis. Sistem
manajemen basis data yang sering digunakan bersama PHP adalah MySQl.namun
PHP juga mendukung system manajement database Oracle, Microsoft Access,
Interbase, d-base, PostgreSQL, dan sebagainya.
P:
2.8.1
Perl, bahasa pemrograman.
MySQL
Menurut Matthews (2015:363) MySQL (My Structure Query Language)adalah
sistem manajemen database relasional yang menggunakan Query TerstrukturLanguage
(SQL) untuk menyimpan, bekerja dengan, dan mengambil informasi melalui
Internet.MySQL disebut "paling populer database open source di dunia," dengan
jutaanwebsite menggunakannya sebagai sumber daya web yang berjalan pada server web,
seperti halnya PHP. Dan MySQL juga dapat dijalankan pada server yang berdiri sendiri
tidak terhubung ke Web. MySQL dibangun untuk menangani volume besar, akses
database multiuser. mysql.com mengatakan "Banyak organisasi yang tumbuh paling
cepat terbesar dan dunia termasuk Facebook, Google, Alcatel Lucent, dan Zappos
mengandalkan MySQL. "MySQL rendah atau tidak ada biaya, kemudahan penggunaan,
kecepatan, kehandalan, dan kegunaan untuk kecil untuk situs besar membuatnya mudah
untuk melihat mengapa ia memiliki digunakan secara luas.
http://digilib.mercubuana.ac.id/
23
2.9.
Testing Perangkat Lunak
Pengujian perangkat lunak merupakan elemen kritis dari jaminan kualitas
perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan
pengkodean. Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada
kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas
produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena
ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka
pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas.
Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen
sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi
dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya,
pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat
dianggap sebagai hal yang merusak daripada membangun.
Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian
yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat
lunak. Untuk mencapai sasaran tersebut, digunakan 4 kategori yang berbeda dari tehnik
desain test case: Pengujian white-box, pengujian black-box, Integrasi Bottom-Up dan
Integrasi Top-Down.
“Testing adalah sebuah proses yang dijelaskan sebagai siklus hidup dan merupakan
bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas
dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal”
Soetam Rizky ( 2011:237)
2.10. Metode Black Box
“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 di bagian luar” Soetam Rizky (2011:264).
Beberapa keuntungan yang diperoleh dari jenis testing ini antara lain :
1. Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan teknis di
bidang pemrograan.
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 keracunan yang
mungkin timbul dari eksekusi sebuah perangkat lunak.
http://digilib.mercubuana.ac.id/
24
4. Proses testing dapat dilakukan lebih cepat dibandingkan white box testing.
Beberapa teknik testing yang tergolong dalam tipe ini antara lain :
1.
Equivalence Partitioning
Pada teknik ini, tiap inputan data dikelompokkan ke dalam grup tertentu, yang
kemudian dibandingkan outputnya.
2.
Boundary Value Analysis
Merupakan teknik yang sangat umum digunakan pada saat awal sebuah perangkat
lunak selesai dikerjakan.Pada teknik ini, dilakukan inputan yang melebihi dari
batasan sebuah data, jika perangkat lunak berhasil mengatasi inputan yang salah
maka dapat dikatakan teknik ini telah selesai dilakukan.
3.
Cause Effect Graph
Dalam teknik ini, dilakukan proses testing yang dapat menghubungkan sebab dari
sebuah inputan dan akibatnya pada output yang dihasilkan.
4.
Random Data Selection
Teknik berusaha melakukan proses inputan data yang menggunakan nilai acak. Dari
hasil inputan tersebut kemudian dibuat sebuah tabel yang menyatakan validitas dari
output yang dihasilkan.
5.
Feature Test
Pada teknik ini dilakukan proses testing terhadap spesifikasi dari perangkat lunak
yang telah selesai dikerjakan.
http://digilib.mercubuana.ac.id/
Download