8
BAB II LANDASAN TEORI
2.1
Rekayasa Perangkat Lunak Perangkat lunak adalah program komputer, prosedur, aturan, dan
dokumentasi yang berkaitan serta data, yang bertalian dengan operasi suatu sistem komputer [ Pressman : 2010 ] . Rekayasa perangkat lunak adalah Pembentukan dan penggunaan prinsip rekayasa ( engineering ) untuk mendapatkan perangkat lunak secara ekonomis namun andal dan dapat bekerja secara efesien pada computer. 2.1.1 Aplikasi Menurut Pressman (2010, p7), “Application Software is stand-alone programs that solve a spesific business need. Application in this area process business or technical data in a way that facilities business operations or management/technical decision making. In addition to conventional data processing application, application software is used to control business functions in real time (e.g., point-of-sale transaction processing, real-time manufacturing process control)”. Aplikasi merupakan program yang berdiri sendiri untuk menyelesaikan proses bisnis yang dibutuhkan Aplikasi yang dimaksud merupakan aplikasi yang memfasilitasi kegiatan operasional atau pun pengambilan keputusan. Sebagai tambahan untuk aplikasi pemrosesan data maka aplikasi ini digunakan untuk kontrol proses real time. 2.1.2
Layanan Berbasis Web Layanan berbasis web atau disebut juga dengan nama web services, adalah
layanan khusus yang dapat digunakan melalui Unified Resource Identifier (URI). URI melayani fitur-fitur pemrograman internet, menggunakan bahasa standar internet dan protokol-protokol berbasis internet. Web services dapat dipasang pada antarmuka self-describing berbasis standar open internet, contohnya adalah XML interface, yang dibuat melalui repositories berbasis jaringan. “A Web
8 http://digilib.mercubuana.ac.id/
9
service is specific kind of service that is identified by a URI that exposes its features programmatically over the Internet using standard Internetlanguages and protocols, and can be implemented via a self-describing interfacebased on open Internet standards (e.g., XML interfaces which are published in network-based repositories).“ [Bouguettaya, A., Sheng Q.Z., Daniel F, 2014]
2.1.3 Agile Unified Processing Metodologi pengembangan sistem yang digunakan adalah Agile Unified Process (AUP) yang merupakan versi lebih sederhana dari Rational Unified Process oleh Scott Ambler. AUP terdiri dari 4 fase utama dan 7 disiplin, berikut uraian fase-fase tersebut :
Gambar 2.1 : Agile Unified Processing
1. Inception (Permulaan) Tujuan dari fase ini ialah untuk mengidentifikasi cakupan utama proyek, potensi arsitektur, dan untuk mendapatkan pendanaan dan persetujuan dari para stakeholder. 2. Elaboration (Elaborasi / peleburan) Tujuan dari fase ini adalah untuk mendefinisikan arsitektur sistem. 3. Construction (Konstruksi / pembangunan)
http://digilib.mercubuana.ac.id/
10
Dalam fase ini pengerjaan sistem dimulai. 4. Transition (Peralihan) Di tahap ini, pengujian dan integrasi sistem dilakukan. Seperti Testing & Deployment di environment Production. 7 Disiplin (tata tertib) dari AUP adalah : 1. Model Tujuan utama dari disipin ini adalah untuk memahami bisnis organisasi / perusahaan, mendefinisikan masalah dan apa yang user butuhkan lalu , mengidentifikasi solusi terbaiknya. 2. Implementation Dalam proses disiplin ini, model diubah menjadi Loc (Lines of Code), lalu melakukan testing pada tingkat dasar seperti unit testing. 3. Test Tujuan dari disiplin ini adalah untuk menemukan celah dalam sistem, dan memvalidasi apakah aplikasi berjalan sesuai desain sistem dan kebutuhan user. 4. Deployment Pada tahap ini, tujuannya adalah untuk mengintegrasi sistem menuju organisasi pengguna. 5. Configuration Management Tujuan dari tahap ini adalah untuk mengatur akses ke struktur project. Contohnya seperti versi aplikasi dalam jangka waktu berjalan, lalu mengontrol dan mengatur perubahan bila ada (Versioning). 6. Project Management Tahap ini bertujuan untuk mengalihkan aktivitas yang terkait dalam proyek. Diantaranya seperti risk management, assign task, tracking progress,dll. Dan mengkoordinasikan orang-orang dan sistem yang diluar proyek untuk memastikan bahwa proyek berjalan sesuai timeline dan budget.
7. Environment Tahap ini berguna untuk menyuplai proyek yang berjalan dengan proses, panduan, dan tools / peralatan yang dibutuhkan.
http://digilib.mercubuana.ac.id/
11
2.1.4 Definisi Unified Modeling Language Unified modeling language adalah bahasa standar untuk menulis rancangan software. UML dapat digunakan untuk membangun dan mendokumentasikan kerangka software. Di sisi lain, dengan membangun rancangan arsitektur untuk digunakan para konstruksi perusahaan, pembangun software membuat UML diagram untuk membantu pengembang software untuk membangun software Sehingga lebih mudah untuk dipahami, mudah untuk menentukan sistem
dan
mudah untuk menjelaskan desain system [Pressman, 2010]. Diagram-diagram pada Unified Modeling Language (UML) dibagi menjadi 2 jenis yaitu structure diagrams dan behavior diagrams. Structure Diagrams yaitu diagram yang digunakan untuk menggambarkan data dan relasi paten yang terdapat pada sistem informasi. Sedangkan Behavior Diagrams adalah diagram yang menyediakan analisa dengan cara menggambarkan relasi yang dinamis antar objek yang mewakili sistem informasi yang akan dibangun. Dalam perancangan aplikasi ini digunakan beberapa step Diagram UML yang digunakan yaitu : 1.
Usecase Diagram ( Analisa sistem )
2.
Activity Diagram ( Analisa dan Design sistem )
3.
Sequence Diagram (Analisa dan Design sistem)
4.
Class Diagram ( Analisa dan Design sistem )
2.1.5 Definisi Use Case Diagram Use case diagram adalah gambar dari beberapa atau seluruh aktor dan use case dengan tujuan mengenali interaksi mereka dalam suatu sistem. Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem, yang ditekankan adalah “apa” yang diperbuat sistem, buka “bagaimana”. Sebuah use case mempresentasikan sebuah interaksi antara aktor dengan sistem. Use case menggambarkan kata kerja seperti login ke sistem, maintenance user, dan
http://digilib.mercubuana.ac.id/
12
sebagainya. Oleh karena itu, use case diagaram dapat membantu menganalisa kebutuhan suatu sistem. (Verdi Yasin, 2012:269) Use case diagram digunakan oleh para analis untuk mengetahui lebih baik lagi mengenai fungsionalitas sistem dari tingkatan yang sangat tinggi. (Dennis, Alan. 2012).
Gambar 2.2 Contoh Use Case Diagram (Dennis, Allan. 2012)
Di bawah ini merupakan elemen-elemen dari use case diagram:
http://digilib.mercubuana.ac.id/
13
Tabel 2.1 Elemen-Elemen Use Case Diagram
No.
Nama Elemen
Simbol
Definisi Batasan sistem terdiri dari nama sistem yang
Batasan 1 Sistem
terdapat di dalam atau di atas simbol Batasan sistem merupakan ruang lingkup system
Relasi 2 Asosiasi
Relasi asosiasi menghubungkan aktor dengan use case yang berinteraksi Aktor
adalah
orang
atau
sistem
yang
memperoleh manfaat dari dan /atau di luar sistem. Aktor harus diberikan label sesuai dengan
Aktor 3
peranannya Aktor dapat dikaitkan dengan aktor-aktor lain oleh spesialisasi atau asosiasi superclass yang dilambangkan dengan anak panah dengan panah berongga Aktor ditempatkan di luar batas sistem Use case merupakan bagian utama dari fungsionalitas sistem Use case dapat memperpanjang use case lain (extend)
Use 4 Case
Use case dapat menggunakan use case lain
Use case ditempatkan di dalam batas sistem Use case diberi label dengan penjelasan kata kerja atau kata benda
http://digilib.mercubuana.ac.id/
14
2.1.6 Definisi Class Diagram Class diagram merupakan model statis yang mendukung static view pada pengembangan sistem. Class diagram menampilkan kelas-kelas dan relasi kelas yang terdapat dalam sebuah sistem dalam waktu ke waktu, secara konstan. (Dennis, Alan. 2012). Berikut ini adalah contoh class diagram:
Gambar 2.3 Contoh Class Diagram
http://digilib.mercubuana.ac.id/
15
Berikut ini adalah elemen-elemen dari class diagram: Tabel 2.3 Elemen-Elemen Class Diagram
No.
Nama Elemen
Simbol
Definisi Class dapat berupa jenis orang, tempat atau mengenai suatu hal yang harus didapatkan sistem dan disimpan informasinya. Class mempunyai nama class yang ditulis
class
1
Class
+Attribute1 +Operation1()
dengan huruf tebal dan berada di atas bagiannya (kompartemen). Class mempunyai daftar atribut di tengah bagiannya Class mempunyai daftar operasi di bagian paling bawah Class tidak secara eksplisit menunjukkan operasi yang tersedia untuk semua class Atribut menggambarkan properties yang
2
Atribut
Nama Atribut
menggambarkan kondisi dari suatu objek. Atribut dapat berasal dari atribut lain, ditunjukkan dengan menempatkan garis miring sebelum nama atribut itu Metode menggambarkan tindakan atau fungsi yang dapat dilakukan sebuah class Metode dapat diklasifikasikan sebagai
3
Metode
Operation name ()
konstruktor, query atau operasi update Metode terdiri dari tanda kurung yang dapat mengandung informasi
parameter yang
melakukan operasi
http://digilib.mercubuana.ac.id/
khusus
dibutuhkan
atau untuk
16
No.
Nama Elemen
Simbol
Definisi Asosiasi menggambarkan hubungan antara beberapa class, atau class dengan dirinya sendiri. Asosiasi diberi label kata kerja atau nama peran, tergantung yang mana yang lebih
4
Asosiasi
baik yang menggambarkan relasi Asosiasi terdapat di antara satu class atau lebih Asosiasi berisi simbol multiplicity, yang mewakili jumlah minimum dan maksimum suatu class instance dapat dikaitkan dengan class intance yang lain
http://digilib.mercubuana.ac.id/
17
2.1.7 Definisi Activity Diagram Diagram aktivitas lebih memfokuskan diri pada eksekusi dan alur sistem dari pada bagaimana sistem itu dirakit. Diagram aktivitas menunjukkan aktivitas sistem dalam bentuk kumpulan aksi-aksi. (Prabowo Pudjo Widodo Herlawati, 2011 : 143)
Gambar 2.4 : Contoh Activity Diagram
Berikut elemen-elemen dari activity diagram: Tabel 2.4 Elemen-Elemen Activity Diagram
No.
Nama Elemen 1
Percabangan atau Decision
Simbol
Definisi Asosiasi percabangan dimana
jika
ada
pilihan
aktivitas lebih dari satu Status awal aktivitas
2 Status Awal
sistem,
sebuah
aktivitas
memiliki
status awal
http://digilib.mercubuana.ac.id/
diagram sebuah
18
No.
Nama Elemen
Simbol
Definisi Aktivitas
yang
dilakukan sistem, aktivitas
3 Aktivitas
biasanya diawali dengan kata kerja Asosiasi
4
Penggabungan
penggabungan dimana lebih
atau Join
dari
satu
aktivitas
yang
digabungkan menjadi satu Status dilakukan
5 Status Akhir
akhir
sistem,
yang sebuah
diagram aktivitas memiliki sebuah status akhir
Atau 6 Swimlane
Memisahkan organisasi bisnis yang
bertanggung
jawab
terhadap aktivitas yang terjadi
2.1.8
Definisi Sequence Diagram Sequence diagram digunakan untuk menunjukkan komunikasi yang
dinamis antara objek selama eksekusi perintah sebuah tugas. (Pressman, Roger, 2010). Hal tersebut menunjukkan urutan sementara di mana pesan yang dikirim antar objek untuk menyelesaikan tugas itu. salah satu kekuatan menggunakan sequence diagram untuk menunjukkan interaksi dalam satu kasus penggunaan atau
http://digilib.mercubuana.ac.id/
19
dalam satu skenario dari sistem perangkat lunak.. Berikut ini adalah contoh sequence diagram:
Gambar 2.5 Contoh Sequence Diagram
http://digilib.mercubuana.ac.id/
20
Berikut ini adalah elemen-elemen dari sequence diagram: Tabel 2.6 Elemen-Elemen Sequence Diagram
No.
Nama Elemen
Simbol
Definisi Objek
berpartisipasi
secara berurutan dengan mengirimkan
atau
menerima message Objek ditempatkan di Object 1
Object
bagian atas diagram Objek
dapat
berupa
pelaku pengguna sistem (Aktor) maupun elemen dari sistem itu sendiri (ex:
Model,
DB,
Controller, dsb). Lifeline
menunjukkan
masa dari sebuah objek dalam Lifeline 2
sebuah
urutan
Lifeline berisi X pada suatu poin dimana kelas atau
objek
berinteraksi
http://digilib.mercubuana.ac.id/
tidak
lagi
21
No.
Nama
Simbol
Elemen
Definisi Focus of control berupa persegi panjang yang tipis
Focus of 3 control
ditempatkan
di
atas lifeline Focus
of
control
ditunjuk ketika sebuah objek sedang mengirim atau menerima message
Message menyampaikan Message 4
informasi dari satu object ke object lain
Object destruction berupa simbol Object 6 destruction
X
X
ditempatkan
pada akhir dari suatu object’s
lifeline
menunjukkan
untuk bahwa
lifeline akan berakhir
2.2
Studi Pustaka Penelitian
2.2.1
Angket Angket adalah suatu alat pengumpul data yang berupa serangkaian
pertanyaan
yang
diajukan
pada
responden
untuk
mendapat
jawaban
(Depdikbud:1975) Angket adalah suatu daftar atau kumpulan pertanyaan tertulis
http://digilib.mercubuana.ac.id/
22
yang harus dijawab secara tertulis juga ( WS. Winkel, 1987) Angket merupakan teknik pengumpulan data yang dilakukan dengan mengadakan komunikasi dengan sumber data ( I. Djumhur, 1985 ) Kuesioner atau angket merupakan teknik pengumpulan data yang tidak memerlukan kedatangan langsung dari sumber data ( Dewa Ktut Sukardi, 1983 ). Kuesioner adalah suatu daftar yang berisi pertanyaan yang harus dijawab atau dikerjakan oleh orang/anak yang ingin diselidiki atau responden ( Bimo Walgito, 1987 ). Dari beberapa pengertian diatas dapat disimpulkan pengertian angket adalah suatu alat pengumpul data yang berupa serangkaian pertanyaan tertulis yang diajukan kepada subyek untuk mendapatkan jawaban secara tertulis juga. 2.2.2 Helpdesk Menurut Wooten (2001, p5), ”Helpdesk is a formal organization that provides support function to users of the companies product, services, or technology”. Jadihelpdesk merupakan bagian dari perusahaan yang menyediakan dokumen fungsi produk, servis atau teknologi dari perusahaan tersebut. Helpdesk adalah sebuah departemen atau bagian dalam perusahaan yang melayani atau menanggapi pertanyaan teknis pengguna. Helpdesk digunakan untuk menjawab pertanyaan client. Pertanyaan dan jawaban dapat disampaikan melalui telepon,email, web atau fax. Umumnya, sistem helpdesk memanfaatkan sistem penomoran (request ticket) untuk memudahkan penelusuran terhadap tindakan penyelesaian yang dikoordinasi oleh suatu team.
Gambar 2.6 : Helpdesk Flow
http://digilib.mercubuana.ac.id/
23
2.3
Server Side Programming Menurut Hardjono (2006;2) Web merupakan fasilitas hiperteks untuk
menampilkan data berupa teks, gambar, suara, animasi, dan data multimedia lainnya. Ada 2 kategori dalam pemrograman web, yaitu pemrograman Server web dan Client web. Pada pemrograman Server Side, perintah-perintah program (script) dijalankan di server web, kemudian hasil dikirimkan ke browser dalam bentuk HTML biasa. 2.3.1
Apache Menurut Kurniawan (2008b:2) ”Apache adalah web server yang dapat
dijalankan
dibanyak
sistem
operasi
(Unix,
BSD,
Linux,
Microsoft
windows dan Novell Netware serta Platfrom lainnya) yang berguna untuk memfungsikan
situs
web”.
Protokol
yang
digunakan
untuk
melayani
fasilitas web ini menggunakan HTTP. 2.3.2 PHP (Hyertext Preprocessor) PHP adalah salah satu bahasa pemograman skrip yang dirancang untuk membangun aplikasi web. Ketika dipanggil dari web browser, program yang ditulis dengan PHP akan di-parsing di dalam web server oleh interpreter PHP dan diterjemahkan ke dalam dokumen HTML, yang selanjutnya akan di tampilkan kembali ke web browser, karena pemprosesan program PHP dilakukan di lingkungan web server, PHP dikatakan sebagai bahasa sisi server (server-side). (Taryana Suryana & Koesheryatin, 2014 : 47) PHP juga dapat diintegrasikan dengan HTML, JavaScript, JQuery, Ajax. Namun, pada umumnya PHP lebih banyak digunakan bersamaan dengan file bertipe HTML. Dengan menggunakan PHP bisa membuat website powerfull yang dinamis dengan disertai manajemen basis datanya. Selain itu juga penggunaan PHP yang sebagian besar dapat berjalan dibanyak platform, menjadi salah satu alasan pembangunan aplikasi menggunakan PHP. (Hidayatullah, Priyanto. 2015).
http://digilib.mercubuana.ac.id/
24
2.3.3 HTML (Hypertext Markup Language) HTML (Hypertext Markup Language) adalah bahasa standard yang digunakan untuk menampilkan halaman web. (Hidayatullah, Priyanto & Kawistara, Jauhari Khairul. 2014). Suatu dokomen HTLM disusun oleh beberapa elemen atau lebih dikenal dengan komponen-komponen dasar. Dokumen dapat berupa text murni, atau bukan teks, atau keduanya. Elemen atau komponen tersebut misal head, body, paragraph, list, dll. (M. Rudyanto Arief, 2011 : 24) Berikut ini adalah elemen-elemen yang digunakan pada HTML: Tabel 2.8 Elemen-Elemen HTML
Elemen
Keterangan Mendefinisikan sebuah anchor, tetapi lebih tepat jika
diartikan sebagai tautan dikarenakan tautan ini digunakan untuk saling menautkan antara satu dokumen HTML ke dokumen HTML yang lain Mendefinisikan body/isi dokumen HTML, berfungsi
untuk menentukan bagaimana isi suatu dokumen ditampilkan di web browsernya. Isi dokumen tersebut dapat berupa teks, gambar, animas, link dan seterusnya
Memberi baris baru/pindah baris Mendefinisikan nilai atribut dari satu kolom atau lebih dalam sebuah tabel Menentukan kelompok dari satu kolom atau lebih dalam sebuah tabel untuk performatan
Mendefinisikan sebuah section dalam dokumen
Mendefinisikan jenis font, warna dan ukuran untuk teks