BAB II LANDASAN TEORI 2.1. Konsep Dasar Sistem Menurut

advertisement
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Sistem
Menurut [Sutabri Tata, 2012] kegiatan yang dilaksanakan oleh suatu
organisasi didasarkan pada suatu ketentuan atau aturan tertentu. Pendefinisian
suatu aturan digambarkan sebagai suatu sistem dalam organisasi tersebut.
Terdapat beberapa pendekatan dalam mendefinisikan suatu sistem.
Pendekatan sistem yang lebih menekankan pada prosedur, mendefinisikan sistem
sebagai berikut :
“Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling
berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau
menyelesaikan suatu sasaran tertentu“.
Pendekatan lain yang lebih menekankan pada elemen atau komponennya
mendefinisikan sebagai berikut :
“Sistem bagian-bagian yang saling berkaitan yang beroperasi bersama untuk
mencapai beberapa sasaran atau maksud”.
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 system 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
8
http://digilib.mercubuana.ac.id/
9
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.
2.2.3.1. 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.2. 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) selalu diperlukan oleh use
Use case ekstensi tidak selalu
dibutuhkan oleh use case dasar
case dasar
Yang memutuskan kapan
dipanggilnya use case included
Yang memutuskan kapan
dipanggilnya use case extend adalah
adalah use case dasar
use case extend itu sendiri
Panah hubungan dari use case dasar
Panah hubungan dari use case
ke use case include
extend 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 case Description 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 nama use case.
Gambar 2.3. Contoh Use Case (Alan Dennis, 2012 : 519)
http://digilib.mercubuana.ac.id/
12
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.4. Contoh Activity Diagram (Alan Dennis, 2008 : 167)
http://digilib.mercubuana.ac.id/
13
Tabel 2.3. Komponen Activity Diagram (Alan Dennis, 2008 : 166)
Actor

Actor
Digunakan untuk melakukan tindakan
Activity

Activity
Digunakan untuk mewakili serangkaian
tindakan
Object Node

Class Diagram
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)
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 keputusannode
http://digilib.mercubuana.ac.id/
----------------->
14
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
15
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 )
http://digilib.mercubuana.ac.id/
16
Gambar 2.5. Komponen Sequence Diagram (Alan Dennis, 2010 : 531)
2.2.3.4 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.6. Contoh Class Diagram (Alan Dennis, 2010 : 530)
http://digilib.mercubuana.ac.id/
17
Tabel 2.5. Komponen Class Diagram ( Alan Dennis, 2010 )
2.3.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
didefinisikan dalam sejumlah sudut pandang seperti
http://digilib.mercubuana.ac.id/
data
(Database)
dapat
18
Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi

sedemikian rupa agar kelak data dimanfaatkan kembali dengan cepat dan
mudah.
Kumpulan data yang saling berhubungan yang disimpan secara bersama

sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk
memenuhi berbagai kebutuhan.
Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam

media penyimanan elektronis.
2.4.
Adobe Dreamweaver CS3
Adobe Dreamweaver adalah aplikasi desain dan pengembangan web
yang menyediakan editor WYSIWYG ( What You See Is What You Get ) visual
(lebih dikenal sebagai Design view) dan kode editor dengan fitur standar sepeti
syntax highlighting, code completion, dan code collapsing.. Versi Dreamweaver
ini adalah Dreamweaver CS3 Versi ini memiliki performa lebih baik dan memiliki
tampilan yang memudahkan anda untuk membuat dan mengelola halaman web,
termasuk diantaranya dalam hubungannya dengan bahasa pemrograman PHP dan
database MySQL.
Gambar 2.7. AdobeDreamweaver CS3
http://digilib.mercubuana.ac.id/
19
2.5.
PHP (Hypertext Preprocessor)
menurut Nugroho (2006b:61) “PHP atau singkatan dari Personal Home
Page merupakan bahasa skrip yang tertanam dalam HTML untuk dieksekusi
bersifat server side”. PHP termasuk dalam open source product, sehingga source
code PHP dapat diubah dan didistribusikan secara bebas. Versi terbaru PHP dapat
diunduh secara gratis melalui situs resmi PHP : http://www.php.net.
PHP juga dapat berjalan pada berbagai web server seperti IIS (Internet
Information Server), PWS (Personal Web Server), Apache, Xitami. PHP juga
mampu berjalan di banyak sistem operasi yang beredar saat ini, diantaranya :
Sistem
Operasi
Microsoft
Windows
(semua
versi),
Linux,
Mac
Os,
Solaris. PHP dapat dibangun sebagai modul web server Apache dan sebagai
binary yang dapat berjalan sebagai CGI (Common Gateway Interface). PHP dapat
mengirim HTTP header, dapat mengatur cookies , mengatur authentication dan
redirect user.
Salah satu keunggulan yang dimiliki PHP adalah kemampuannya untuk
melakukan koneksi ke berbagai macam software sistem manajemen basis data
atau Database Management Sistem (DBMS), sehingga dapat menciptakan suatu
halaman web dinamis. PHP mempunyai koneksitas yang baik dengan beberapa
DBMS seperti Oracle, Sybase, mSQL, MySQL, Microsoft SQL Server, Solid,
PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm, dan tidak terkecuali
semua database ber-interface ODBC.
Hampir seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun
kekuatan utama adalah konektivitas basis data dengan web. Dengan kemampuan
ini kita akan mempunyai suatu sistem basis data yang dapat diakses.
http://digilib.mercubuana.ac.id/
20
2.6.
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.
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.
http://digilib.mercubuana.ac.id/
21
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP
lain,

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.

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.

Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan
kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi
terbaru.

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.7. MySql
Menurut Arief (2011d:152) MySQL termasuk jenis RDBMS (Relational
Database Management System). Sehingga istilah seperti tabel, baris, dan kolom
tetap digunakan dalam MySQL. Pada MySQL sebuah database mengandung satu
beberapa tabel, tabel terdiri dari sejumlah baris dan kolom.
mysql dikembangkan oleh sebuah perusahaan Swedia bernama mysql AB,. dapat
dilihat dan gratis, serta server mysql dapat dipakai tanpa biaya tapi hanya untuk
kebutuhan nonkomersial.
Sementara distribusi Windows mysql sendiri dirilis secara shareware.
Barulah pada Juni 2000 mysql AB mengumumkan bahwa sejak versi 3.23.19,
mysql adalahSoftware bebas berlisensi GPL. Artinya, “Source code mysql dapat
http://digilib.mercubuana.ac.id/
22
dilihat dan gratis, serta server mysql dapat dipakai tanpa biaya untuk kebutuhan
apa pun.
Perangkat lunak ini bermanfaat untuk mengelola data dengan cara yang
sangat flexibel dan cepat. Berikut adalah sejumlah aktivitas yang terkait dengan
data yang didukung oleh perangkat lunak tersebut :
1. Menyimpan data ke dalam tabel
2. Menghapus data dalam tabel
3. Mengubah data dalam tabel
4. Mengambil data yang tersimpa dalam tabel
5. Memungkinan untuk memilih data tertentu yang diambil
6. Memungkinkan untuk melakukan pengaturan hak akses terhadap
data.
Dan pada penggunaannya dalam MySql ini bisa menggunakan banyak tools, salah
satunya phpMyAdmin.
Gambar 2.8. phpMyAdmin Localhost
http://digilib.mercubuana.ac.id/
23
2.8.
XAMPP
Menurut
Riyanto
(2010:1)
XAMPP
Adalah
perangkat
yang
menggabungkan tiga aplikasi ke dalam satu paket, yaitu Apache, MySQL, Dan
PHP MyAdmin. Dengan XAMPP pekerjaan Anda akan sangat dimudahkan,
karena dapat menginstalasi dan mengkonfigurasi ketiga aplikasi tadi secara
sekaligus dan otomatis.
XAMPP telah mengalami perkembangan dari waktu ke waktu. Versi yang
terbaru adalah revisi dari edisi sebelumnya, sehingga lebih baik dan lebih lengkap.
Aplikasi utama dalam paket Xampp setidaknya terdiri atas web server Apache,
MySQL, FileZilla, Mercury, Tomcat.
Gambar 2.9. Control Panel XAMPP
http://digilib.mercubuana.ac.id/
24
2.9.
Testing Perangkat Lunak
“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.9.1. 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.
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.
http://digilib.mercubuana.ac.id/
25
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