BAB 2
LANDASAN TEORI
2.1.
Rekayasa Perangkat Lunak Pengertian dari rekayasa perangkat lunak menurut Ian Sommerville (2011), “Software engineering is an engineering discipline that is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use.” Sedangkan menurut Roger S Pressman “Software engineering encompasses a process, a collection of methods (practice) and an array of tools that allow professionals to build high-quality computer software. “ (Roger S. Pressman, 2010). Sedangkan arti dari perangkat lunak (software) sendiri menurut Roger S Pressman adalah sebagai berikut, “Software is: (1) instructions (computer programs) that when executed provide desired features, function, and performance; (2) data structures that enable the programs to ad-equately manipulate information, and (3) descriptive information in both hard copy and virtual forms that describes the operation and use of the programs. “.(Roger S. Pressman, 2010). Dapat disimpulkan bahwa rekayasa perangkat lunak adalah suatu rangkaian proses dari awal sampai akhir dengan menggunakan metodemetode atau teknik-teknik tertentu dalam rangka menghasilkan sebuah perangkat lunak yang sesuai dengan spesifikasi dan kebutuhan pengguna.
2.2.
Waterfall Waterfall merupakan model pengembangan perangkat lunak secara sistematis dan berurutan dari tahap satu ke tahap berikutnya, model ini pertama kali dikenalkan oleh Winston Royce pada sekitar tahun 1970. Menurut Ian Sommerville, “The waterfall model This takes the
7
http://digilib.mercubuana.ac.id/
8
fundamental process activities of specification, development, validation, and evolution and represents them as separate process phases such as requirements specification, software design, implementation, testing, and so on.”. (Ian Sommervile, 2011). Model ini diilustrasikan oleh Ian Sommerville sebagai berikut.
Gambar 2.1 The waterfall model (Ian Sommerville, 2011) -
Requirements Definition Requirements Definition atau definisi kebutuhan adalah analisa terhadap kebutuhan dari pengguna.Kebutuhan pengguna ini didefinisikan secara detail dan didokumentasikan.
-
System and Software Design System and Software Design atau rancangan system dan perangkat lunak adalah proses merancang arsitektur sistem secara keseluruhan dan menentukan perangkat lunak dan perangkat keras yang dibutuhkan. Proses ini menggambarkan sistem secara keseluruhan.
-
Implementation and unit testing Implementation and unit testing atau implementasi dan pengetesan adalah proses merealisasikan serangkaian program-
http://digilib.mercubuana.ac.id/
9
program yang telah dirancang pada tahap System and Software
Design.
-
Integration and system testing Integration and system testing atau proses integrasi dan testing adalah proses integrasi dari unit-unit program membentuk suatu sistem yang lengkap dan memastikan bahwa sistem perangkat lunak sudah sesuai dengan spesifikasi dan kebutuhan yang ada pada
tahap
Requirements
Definition.
Setelah
memastikan
keseluruhan sistem bekerja sesuai dengan spesifikasi dan kebutuhan kemudian sistem perangkat lunak di serahterimakan ke pengguna.
-
Operation and maintenance Operation and maintenance atau tahap operasional dan pemeliharaan
adalah
tahap
dimana
sistem
sudah
diimplementasikan dan berjalan sesuai dengan spesifikasi dan kebutuhan pengguna. Apabila terdapat anomali atau error pada tahap ini maka dilakukan tindakan perbaikan pada sistem. Apabila pada saat tindakan dalam rangka perbaikan anomali atau error diketemukan kebutuhan baru, maka akan kembali ke proses tahap sebelumnya.
Berdasarkan uraian yang telah dipaparkan diatas, model waterfall adalah model yang paling cocok dalam pengembangan Aplikasi Monitoring Proyek (OSP) Kabel Serat Optik di PT Indosat. 2.2.1. Blackbox Testing
Blackbox testing atau metode pengujian Blackbox disebut juga dengan behavioral testing yaitu pengujian perilaku atau fungsi dari perangkat lunak yang sedang dikembangkan. Poin-poin pengujian yang digunakan pada metode black box menurut Roger S.
http://digilib.mercubuana.ac.id/
10
Pressman, “Black-box testing attempts to find errors in the
following categories: (1) incorrect or missing functions, (2) interface errors, (3) errors in data structures or external database access, (4) behavior or performance errors, and (5) initialization and termination errors.” (Roger S. Pressman, 2010). Dapat diterjemahkan definisi dari blackbox testing adalah sebagai berikut :
Menemukan fungsi-fungsi yang tidak sesuai dengan spesifikasi dan menemukan fungsi-fungsi yang tidak ada pada sistem perangkat lunak tapi terdapat pada spesifikasi.
Menemukan kesalahan pada antar muka (interface).
Menemukan kesalahan pada struktur data atau akses ke basis data eksternal.
Menemukan kesalahan pada perilaku dan kinerja dari sistem perangkat lunak.
Menemukan kesalahan pada proses inisialisasi dan proses terminasi.
2.2.2. Unified Modeling Language (UML) Pengertian UML menurut Roger S Presman,“The Unified
Modeling Language (UML) is a standard language for writing software blueprints UML may be used to visualize, specify, construct, and document the artifacts of a software-intensive system” (Roger S. Pressman, 2010). Dapat diterjemahkan bahwa UML
adalah
standar
memvisualisasikan,
bahasa
yang
memspesifikasikan,
digunakan cara
membuat,
dalam dan
mendokumentasikan rancangan sistem perangkat lunak. UML adalah cetak biru dari sistem perangkat lunak yang dibuat seorang arsitek perangkat lunak. Dapat dianalogikan seperti seorang arsitek bangunan membuat cetak biru untuk digunakan oleh kontraktor bangunan dalam membangun sebuah gedung. Sedangkan menurut Dennis, “UML is a standard set of
diagramming techniques that provide a graphical representation
http://digilib.mercubuana.ac.id/
11
rich enough to model any systems development project,from analysis through implementation.”(Dennis et al,2010) . Dapat diterjemahkan bahwa UML adalah serangkaian gambar atau diagram teknik yang menyediakan gambaran representasi yang lengkap model pengembangan sistem perangkat lunak dari mulai analisa sampai dengan implementasi. Dari uraian diatas dapat disimpulkan bahwa UML merupakan standar bahasa yang terdiri dari serangkaian gambar-gambar diagram yang merepresentasikan suatu rancangan pengembangan sistem perangkat lunak yang dapat digunakan oleh pengembang dalam membangun sistem perangkat lunak.
2.2.2.1. Use Case Diagram
Use Case Diagram adalah poros penggerak utama dari diagram-diagram teknik UML. Use case adalah komunikasi tingkat tinggi mengenai apa yang harus dilakukan oleh sebuah sistem, dan setiap diagram teknik UML dibangun berdasarkan use case diagram dengan menggambarkan fungsionalitas dalam berbagai cara yang berbeda, setiap diagram UML mempunyai peruntukan nya sendiri. (Dennis et al, 2010) Dapat kita katakan bahwa dalam use case terdapat gambaran mengenai fungsi sistem dari sudut pandang pengguna yang berbeda, serta menunjukan gambaran besar fungsionalitas sistem secara keseluruhan.
http://digilib.mercubuana.ac.id/
12
Tabel 2.1 Simbol-simbol pemodelan Use Case Diagram ( Dennis et al, 2010) No 1.
Simbol
Keterangan Aktor : Adalah orang atau sistem eksternal yang memperoleh manfaat dari sistem. Dilabeli sesuai dengan perannya. Dapat dikaitkan dengan aktor-aktor lain olehspesialisasi / asosiasi superclass,dilambangkan dengan panah dengan panah berongga. Ditempatkan di luar batas sistem.
Use case : Merupakan bagian utama dari fungsionalitas sistem. Dapat di extend use case lainnya. Dapat menggunakan use case lainnya. Ditempatkan di dalam batas sistem. Diberi keterangan kata kerja. Batas sistem Termasuk nama sistem di dalam atau di atas. Merupakan ruang lingkup sistem. Hubungan asosiasi
Menghubungkan actor dan use case yang saling interaksi
Hubungan asosiasi include : Merupakan dimasukkannya fungsi use case dalam yang lain. Memiliki panah yang diambil dariuse case dasar untuk use case kasus penggunaan digunakan.
http://digilib.mercubuana.ac.id/
13
Gambar 2.2 Contoh Use Case Diagram (Dennis et al, 2010)
2.2.2.2. Use Case Description Use case description menyediakan informasi yang lebih rinci dari sebuah use case. Berikut adalah contoh dari sebuah use case description:
http://digilib.mercubuana.ac.id/
14
Gambar 2.3 Contoh use case description casual format(Dennis et al, 2010)
2.2.2.3. Activity Diagram Activity diagram adalah sebuah alur kerja yang menggambarkan berbagai aktivitas yang dilakukan oleh orang (atau sistem), orang yang melakukan aktivitas serta urutan aktifitas yang dilakukannya. (Satzinger, 2010). Untuk aktifitas yang dilakukan oleh satu orang dapat digambarkan dengan activity diagram yang mirip dengan flow chart .Sedangkan untuk aktifitas yang dilakukan oleh lebih dari satu orang, dapat menggunakan format swimlane diagram activity.
http://digilib.mercubuana.ac.id/
15
Tabel 2.2 Simbol-simbol Activity Diagram (Wiley, 2010) No
Simbol
Definisi
Status Awal
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.
1.
2. Aktivitas
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja.
Swimlane
Swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi
3.
Percabangan /decision
Asosiasi percabangan dimana jika ada pilihan aktifitas lebih dari satu.
4. Penggabungan/join
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu.
5. Status akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir.
http://digilib.mercubuana.ac.id/
16
Gambar 2.4 Contoh Activity Diagram (Satzinger, 2010)
http://digilib.mercubuana.ac.id/
17
Gambar 2.5 Contoh Swimlane Activity Diagram (Satzinger, 2010)
2.2.2.4. Class Diagram Fungsi dan pengertian dari class diagram “The class diagram is a static model that supports the static view of the evolving system. It shows the classes and the relationships among the classes that remain constant in the system.” (Dennis et al, 2010).
Dapat disimpulkan bahwa class
diagram menggambarkan class dan relasi dari class-class yang ada. Adapun elemen-elemen dari sebuah class diagram adalah :
http://digilib.mercubuana.ac.id/
18
Class
Bagian utama dari sebuah class diagram adalah class. Pada tahapan analisa, class menggambarkan orang, tempat atau sesuatu pada sistem yang perlu menyimpan suatu informasi atau memberi informasi. Kemudian, selama desain dan implementasi, kelas dapat merujuk artefak-implementasi khusus seperti jendela, bentuk, dan
benda-benda
lain
yang
digunakan
untuk
membangun sistem. Setiap kelas diambil dengan menggunakan tiga bagian-persegi panjang dengan kelas dunia nama di atas, atribut di tengah, dan metode (juga disebut
operasi)
di
bagian bawah.
Atributes
Atribut adalah sifat dari class tentang informasi apa yang ingin kita perolehi. Sebagai contoh, nama, alamat, umur adalah atribut dari class anggota. Visibilitas dari atribut dapat public (+), protected(#), atau private (-).
Method
Operasi adalah tindakan atau fungsi yang kelas dapat lakukan. Fungsi-fungsi yang tersedia untuk semua kelas. Misalnya, menambah, mengubah, menghapus. Sama seperti dengan atribut, visibilitas dari operation dapat public (+), protected(#), atau private (-). Visibiltas bawaan untuk operation biasanya public (+).
Associations
Tujuan utama dari class diagram adalah untuk menunjukkan asosiasi atau hubungan antar class. Ini digambarkan pada diagram dengan garis yang ditarik
http://digilib.mercubuana.ac.id/
19
antara class. Asosiasi atau hubungan antar class ini dikelola oleh foreign key dan primary key.
Adapun keterangan dari sifat atribute dan method adalah sebagai berikut: a. Private, tidak dapat dipanggil dari luar class yang bersangkutan. b. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya. c. Public, dapat dipanggil oleh siapa saja. Tabel 2.3 Simbol-simbol Class Diagram (Dennis et al,) No.
Simbol
1.
Definisi Class :
2.
Atribute name
Menggambarkan orang, tempat atau sesuatu pada sistem yang perlu menyimpan suatu informasi atau memberi informasi. Penulisan nama di kotak paling atas dengan huruf ditebalkan. Pada bagian kotak kedua berisi daftar atribut yang dimiliki class tersebut. Pada bagian kotak ketiga berisi daftar nama operasi yang dimiliki class tersebut. Atribute:
Merupakan
gambaran
keadaan dari sebuah objek
Dapat berupa turunan dari atribut lainnya, ditunjukkan dengan menempatkan garis miring
http://digilib.mercubuana.ac.id/
sebelum
nama
20
atribut ini 3.
Operation name()
Method :
Menggambar fungsi yang class dapat lakukan.
Dapat
diklasifikasikan
sebagai konstruktor, query, atau operasi update.
Termasuk
kurung
yang
mungkin berisi parameter khusus atau informasi yang dibutuhkan
untuk
melakukan operasi 4.
Association :
Menggambarkan hubungan antara beberapa class ataupun class dengan dirinya sendiri. Diberi label dengan menggunakan kata kerja atau nama perannya yang dapat menggambarkan relasinya. Mengandung symbol multiplicity untuk menggambarkan nilai minimum dan maksimum suatu class dapat diasosiasikan dengan class yang terkait.
http://digilib.mercubuana.ac.id/
21
Gambar 2.6 Contoh Class Diagram (Dennis et al, 2010)
2.2.2.5. Sequence Diagram Diagram berikutnya dalam teknik diagram UML adalah sequence diagram. Sequence diagram menunjukan urutan interaksi pesan antar object yang berpartisipasi. Tabel 2.4 Simbol-simbol pada Sequence Diagram (Dennis et al, 2010) Simbol
Deskripsi
Aktor: Adalah orang atau sistem dari eksternal sistem yang memperoleh manfaat dari sistem. Berpartisipasi secara berurutan dengan mengirimkan dan / atau menerima pesan. Ditempatkan di bagian atas diagram. Obyek: Berpartisipasi secara berurutan dengan mengirimkan dan / atau menerima pesan. Ditempatkan di bagian atas diagram.
http://digilib.mercubuana.ac.id/
22
Sebuah garis hidupatau lifeline: Menunjukkan kehidupan obyek dalam proses urutan pesan. Berisi X pada titik di mana kelas tidak lagi berinteraksi.
Fokus kontrol:
Adalah persegi panjang yang sempit ditempatkan di atas sebuah garis hidup. Menunjukkan ketika sebuah objek mengirim atau menerima pesan. Sebuah pesan: Menyampaikan informasi dari satu objek ke yang lainnya.
Peniadaan objek: X ditempatkan pada akhir obyek Lifeline untuk menunjukkan bahwa itu akan keluar dari keberadaan.
http://digilib.mercubuana.ac.id/
23
Gambar 2.7 Contoh Sequence Diagram (Dennis et al, 2010)
2.3.
Bahasa Pemrograman PHP PHP adalah singkatan dari Personal Homepage, akan tetapi sekarang lebih dikenal dengan Hypertext Preprocessor. PHP, pertama kali dikembangkan oleh Rasmus Lerdorf pada tahun 1994 dan dikembangkan secara open source. Dapat didefinisikan bahwa PHP adalah sebuah bahasa pemrograman
sisi server atau server-side scripting language. PHP
dirancang dan digunakan umumnya untuk mengembangkan sebuah website terutama website yang bersifat dinamis dan juga digunakan sebagai interface untuk menghubungkan antara web dengan basis data. Halaman-halaman website yang menggunakan bahasa pemrograman PHP dapat dikatakan merupakan sebuah file yang berektensi .php, file ini
http://digilib.mercubuana.ac.id/
24
memuat label-label dan script-script HTML yang berjalan dalam sebuah web server. Sebagai contoh sederhana, proses login pada sebuah website PHP ; Pengguna memasukan username dan password dihalaman website pada kotak yang telah disediakan. Kemudian pada saat pengguna meng-klik login, program mengecek validitas username dan password dengan membandingkan username dan password
yang dimasukan pengguna
dengan username dan password yang ada di basis data. Apabila username dan password cocok dengan dengan yang ada di basis data maka program akan membuka halaman website yang dituju, apabila username dan password yang dimasukan tidak ada yang cocok dengan daftar yang ada di basis data maka program akan memberikan notifikasi bahwa username dan password salah atau tidak valid. Terdapat beberapa media penulisan script PHP, diantaranya adalah Notepad, Dreamweaver, atau PHP Expert Editor. 2.4.
Pengertian Basis Data Database atau basis data adalah kumpulan informasi atau data yang tersusun secara sistematis. Sedangkan beberapa pengertian basis data menurut Indrajani (2011) yaitu:
Kumpulan
terpadu
dari
elemen
data
logis
yang
saling
berhubungan. Basis data mengonsolidasi banyak catatan yang sebelumnya disimpan dan file terpisah.
Merupakan suatu kumpulan data yang berhubungan secara logis dan deskripsi data tersebut, yang dirancang untuk memenuhi informasi yang dibutuhkan oleh suatu organisasi. Artinya, basis data merupakan tempat penyimpanan data yang besar, di mana dapat digunakan oleh banyak pengguna. Seluruh item basis data tidak lagi dimiliki oleh satu departemen melainkan menjadi sumber daya perusahaan yang dapat digunakan bersama.
http://digilib.mercubuana.ac.id/
25
Informasi-informasi yang disimpan dalam basis data dapat dikelola dengan mudah menggunakan sistem pengelolaan data dalam basis data atau biasa disebut dengan Database Management System (DBMS).
2.4.1. Pengertian Database Management System (DBMS) Database Management System (DBMS) adalah serangkaian program piranti lunak yang memungkinkan penggunanya untuk mengakses basis data, memanipulasi data yang ada dalam basis data, dan juga dapat mengatur dan mengontrol akses masuk pengguna ke basis data. Terdapat beberapa tipe DBMS, setiap tipe dari DBMS mempunyai beberapa cara untuk menyimpan data pada alat penyimpanannya, seperti bagaimana cara mengaksesnya. Beberapa tipe DBMS tersebut adalah :
2.5.
-
Network DBMS
-
Relational DBMS
-
Object Oriented Relational Database
Pengertian MySQL SQL atau Structured Query Language adalah standar bahasa yang digunakan dalam database relational. Database relational adalah salah satu tipe database management system (DBMS) yang mendefinisikan hubungan atau relasi basis data dalam bentuk tabel. SQL dapat digunakan untuk operasi insert, search, update, dan delete sebuah rekaman dari basis data. Salah satu contoh program relational DBMS adalah MySQL. MySQL adalah salah satu piranti lunak relational DBMS yang berjalan dalam sebuah server dan memberi akses pada program lain kepada informasi atau data yang MySQL kelola. Informasi atau data disimpan dalam basis data MySQL yang terdiri dari satu atau beberapa tabel. MySQL bersifat Open Source sehingga memungkinkan pengguna untuk melakukan modifikasi pada source code-nya sehingga sesuai dengan kebutuhan-kebutuhan mereka sendiri.
http://digilib.mercubuana.ac.id/
26
Pada umumnya perintah-perintah yang sering digunakan dalam MySQL
adalah
select
(mengambil),
insert
(menambah),
update
(mengubah), dan delete (menghapus). Disamping itu, MySQL juga menyediakan perintah-perintah untuk membuat database, field, dan lain sebagainya. 2.6.
Pengertian XAMPP XAMPP
merupakan
sebuah
perangkat
lunal
yang
termasuk
didalamnya paket PHP dan MySQL. XAMPP ini berbasis open source, yang dapat digunakan sebagai tool pembantu pengembangan aplikasi berbasis PHP. XAMPP mengkombinasikan beberapa paket perangkat lunak berbeda ke dalam satu paket. XAMPP merupakan singkatan dari : X : (baca:cross) merupakan arti dari cross-platform A : Apache M : MySQL P : PHP P : Perl XAMPP merupakan perangkat lunak gratis dan mudah dalam penggunaannya yang memuat distribusi paket Apache seperti MySQL, PHP, dan Perl. XAMPP merupakan open source yang telah dibuat dengan sangat mudah dalam instalasi dan penggunaan
http://digilib.mercubuana.ac.id/