BAB II. LANDASAN TEORI -...

16
7 BAB II. LANDASAN TEORI 2.1. Web Application Development 2.1.1. Software Development Life Cycle (SDLC) Software Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Metode pengembangan perangkat lunak dikenal dengan istilah SDLC (Software Development Life Cycle). Metodologi ini menjadi perhatian sangat istimewa pada proses rekayasa perangkat lunak. Karena dengan metodologi SDLC yang digunakan akan sangat menentukan sukses tidaknya proyek software. Perbandingan tentang kelebihan dan kekurangan model Waterfall dan Prototype pada Software Development Life Cycle (SDLC) 1. Waterfall Gambar 2.1 Waterfall model (Bassil, 2012). Waterfall, merupakan SDLC tertua karena sifatnya yang natural. Urutan SDLC waterfall ini bersifat serial dari proses perencanaan, analisa, desain,

Transcript of BAB II. LANDASAN TEORI -...

Page 1: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

7

BAB II. LANDASAN TEORI

2.1. Web Application Development

2.1.1. Software Development Life Cycle (SDLC)

Software Development Lyfe Cycle (SDLC) adalah keseluruhan proses

dalam membangun sistem melalui beberapa langkah. Metode pengembangan

perangkat lunak dikenal dengan istilah SDLC (Software Development Life

Cycle). Metodologi ini menjadi perhatian sangat istimewa pada proses

rekayasa perangkat lunak. Karena dengan metodologi SDLC yang digunakan

akan sangat menentukan sukses tidaknya proyek software.

Perbandingan tentang kelebihan dan kekurangan model Waterfall dan

Prototype pada Software Development Life Cycle (SDLC)

1. Waterfall

Gambar 2.1 Waterfall model (Bassil, 2012).

Waterfall, merupakan SDLC tertua karena sifatnya yang natural. Urutan

SDLC waterfall ini bersifat serial dari proses perencanaan, analisa, desain,

Page 2: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

8

dan implementasi pada sistem. Model ini adalah model yang muncul pertama

kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi

merupakan model yang paling banyak dipakai didalam Software Engineering

(SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari

level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing /

verification, dan maintenance. Disebut dengan waterfall karena tahap demi

tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan

berurutan. (Bassil, 2012).

Kelebihan :

Merupakan model pengembangan paling handal dan paling lama

digunakan.

Cocok untuk system software berskala besar.

Cocok untuk system software yang bersifat generic.

Pengerjaan project system akan terjadwal dengan baik dan mudah

dikontrol.

Kekurangan :

Persyaratan system harus digambarkan dengan jelas.

Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.

Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu

tahapan pengembangan

Page 3: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

9

2. Model prototyping

Gambar 2.2 Prototyping Model (Sabale & Dani, 2012).

Metode prototyping ini membutuhkan keterlibatan dan interaksi antara

developer dan user selama proses pembuatan sistem (Sabale & Dani, 2012).

Prototyping, dimulai dengan pengumpulan kebutuhan, mendefinisikan

objektif keseluruhan dari software, mengidentifikasikan segala kebutuhan,

kemudian dilakukan “perancangan kilat” yang difokuskan pada penyajian

aspek yang diperlukan.

Kelebihan :

Prototype melibatkan user dalam analisa dan desain.

Punya kemampuan menangkap requirement secara konkret daripada

secara abstrak.

Untuk digunakan secara standalone.

Digunakan untuk memperluas SDLC.

Mempersingkat waktu pengembangan Sistem Informasi

Kekurangan :

Proses analisis dan perancangan terlalu singkat.

Mengesampingkan alternatif pemecahan masalah.

Page 4: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

10

Bisanya kurang fleksible dalam mengahdapi perubahan.

Protitype yang dihasilkan tidak selamanya mudah dirubah

Protype terlalu cepat selesai

2.1.2. Programming Language

Bahasa pemrograman yang digunakan PHP5, CSS, HTML5 dan

Javascript. Bahasa pemrograman tersebut masing masing berjalan pada

sisi client dan server, dimana kedua sisi tersebut sama sama memiliki

factor penting dalam proses request dan response data.

Gambar 2.3 Client – Server side scripting (Heninger & Rasmussen,

2002)

Server-side Scripting (PHP, CSS, HTML5)

Server-side scripting adalah teknik yang digunakan dalam desain

website yang melibatkan script embedding dalam kode sumber

HTML yang menghasilkan permintaan klien ke server situs web

yang sedang ditangani oleh script server-side yang sedang

dijalankan sebelum server merespon permintaan client. (Heninger

& Rasmussen, 2002)

Page 5: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

11

Gambar 2.4 Server side scripting (Heninger & Rasmussen, 2002)

Client-side Scripting (Javascript,AJAX)

Jenis script yang pengolahannya dilakukan di sisi client, web server

mengeksekusi document object model ("DOM") simulator untuk

menghasilkan DOM. Server kemudian ekstrak dari DOM script yang

bertanggung jawab untuk rendering konten halaman Web. (Kothari &

Le Roy, 2010). Salah satu contohnya adalah saat server mengirimkan

data berupa JSON. Maka client menerjemahkan data JSON itu

menggunakan JSON.parse salah satu function dari jquery. AJAX

adalah termasuk model web development yang penting untuk aplikasi

berbasis web yang membantu proses request dan response antara

client dan server tersebut. (Chen, Zhang & Chi, 2007)

Page 6: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

12

Gambar 2.5 Client side scripting (Heninger & Rasmussen, 2002)

2.1.3. Database

Database atau basis data adalah kumpulan data yang disimpan

secara sistematis di dalam komputer yang dapat diolah atau dimanipulasi

menggunakan perangkat lunak atau aplikasi untuk menghasilkan

informasi (Sayers & et al, 2011). Pendefinisian basis data meliputi

spesifikasi berupa tipe data, struktur data dan juga batasan-batasan data

yang akan disimpan.

Gambar 2.6 Database Schema (Kaula, 2012).

Page 7: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

13

Diatas merupakan contoh schema database yang dirancang untuk

mendukung aplikasi. Basis data merupakan aspek yang sangat penting

dalam sistem informasi dimana basis data merupakan gudang

penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi

penting karena dapat mengorganisasi data, menghidari duplikasi data,

hubungan antar data yang tidak jelas dan juga update yang rumit.

Database yang digunakan pada thesis ini adalah MySQL. MySQL

adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa

Inggris: database management system) atau DBMS yang multithread,

multi-user.

Adapun tools untuk management database yang digunakan pada

project ini adalah HeidiSQL. Untuk mempermudah perancangan dan

management database.

2.1.4. Apache Web Server

Apache adalah web server yang dapat dijalankan di banyak sistem

operasi (Unix,BSD, Linux, Microsoft Windows dan Novell Netware serta

platform lainnya) yang berguna untuk melayani dan memfungsikan situs

web. Protokol yang digunakan untuk melayani fasilitas web/www ini

menggunakan HTTP. Ketika HTTP request masuk, maka akan diproses

oleh Apache dengean melakukan URL parsing. Mencari nama file,

membuka file, membaca content dan mengirim content kepada client atau

user. (Hu, Nanda& Yang, 1999)

Page 8: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

14

2.1.5. Model-View-Controller Pattern (MVC pattern)

MVC architecture adalah sebuah software pattern yang terdiri dari

3 nama component utama yaitu models, views dan controller

(Supaartgorn, 2011). Pembagian 3 component ini bertujuan untuk

memudahkan dalam pembacaan, maintenance dan struktur directory yang

lebih terorganisir.

Controller menerima request dari user, controller berinterkasi

dengan Models mengenai data yang dibutuhkan atau request yang

dilakukan user. Models pada MVC menyediakan logic, data dan

knowledge pada aplikasi yang bertindak sebagai core. Models

memberikan data yang dibutuhkan user yang telah diambil dari databases.

Controller menerima data tersebut dan ditampilkan melalui layer View

dan dapat dilihat oleh user. (Supaartgorn, 2011). Seperti yang dijelaskan

pada gambar 2.7.

Gambar 2.7. MVC pattern (Supaartgorn, 2011)

Page 9: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

15

2.1.6. Object Relational Mapping (ORM)

ORM adalah sebuah software development technique yang

memanfaatkan hubungan antara table pada database. Dimana struktur

database dapat di masukan kedalam relational object yang dapat diakses

melalui bahasa pemrograman. (O'connor & Balasubramanian, 2013)

ORM pada laravel dikenal dengan nama Eloquent, The Eloquent

ORM menyediakan Active record yang simple dan baik untuk digunakan

dengan database. Dimana setiap table pada database memiliki 1 class

Model yang digunakan untuk berinteraksi dengan table tersebut.

2.1.7. Integrated Development Environment (IDE)

IDE (Integrated Development Environment) adalah aplikasi

pengembang perangkat lunak dengan fungsi-fungsi terintegrasi yang

dibutuhkan untuk membangun sebuah perangkat lunak sperti code editor,

debugger, compiler, dan sebagainya.

Adapun IDE yang biasa digunakan dalam proses development

diantaranya:

1. PHP Storm

2. NetBeans

3. Adobe Dreamweaver

4. SublimeText

IDE yang digunakan dalam thesis ini adalah sublime-text, karena sangat

ringan dan openSource.

Page 10: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

16

2.2. Decision Support System (DSS)

Decision Support System adalah bagian dari sistem informasi berbasis

komputer atau termasuk sistem berbasis pengetahuan yang dipakai untuk

mendukung pengambilan keputusan dalam suatu organisasi atau perusahaan.

Decision support system adalah sebagai tambahan atau bantuan untuk decision

maker pada sebuah organisasi, tetapi DSS tidak dapat menggantikan keputusan

decision maker di organisasi tertentu. (Turban, Aronso & Liang, 2005). DSS

dapat juga dikatakan sebagai sistem komputer yang mengolah data menjadi

informasi untuk mengambil keputusan dari masalah semi-terstruktur yang

spesifik.

(Moore & Chang, 1980), DSS dapat digambarkan sebagai sistem yang

berkemampuan mendukung analisis ad hoc data, dan pemodelan keputusan,

berorientasi keputusan, orientasi perencanaan masa depan, dan digunakan pada

saat-saat tidak biasa.

Tahapan DSS:

Definisi masalah

Pengumpulan data atau elemen informasi yang relevan

pengolahan data menjadi informasi baik dalam bentuk laporan grafik maupun

tulisan

menentukan alternatif-alternatif solusi (bisa dalam persentase)

Tujuan dari DSS:

Membantu menyelesaikan masalah semi-terstruktur

Mendukung manajer dalam mengambil keputusan suatu masalah

Meningkatkan efektifitas bukan efisiensi pengambilan keputusan

Page 11: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

17

Dalam pemrosesannya, DSS dapat menggunakan bantuan dari sistem lain seperti

Artificial Intelligence, Expert Systems, Fuzzy Logic.

2.2.1. Fuzzy Logic

Fuzzy mungkin merupakan suatu kata yang agak asing bagi kita. Dalam

terjemahan menurut kosa katanya fuzzy berari kabur. Logika fuzzy adalah suatu

cara yang tepat untuk memetakan suatu ruang input ke dalam suatu ruang

output. (Kusumadewi & Purnomo, 2010).

Fuzzy logic umumnya diterapkan pada masalahmasalah yang mengandung

unsur ketidakpastian (uncertainty), ketidaktepatan (imprecise), noisy, dan

sebagainya.

Fuzzy logic menjembatani bahasa mesin yang presisi dengan bahasa

manusia yang menekankan pada makna atau arti (significance).

Fuzzy logic dikembangkan berdasarkan cara berfikir manusia.

Ada tiga proses utama jika ingin mengimplementasikan fuzzy logic pada suatu

perangkat, yaitu fuzzifikasi, evaluasi rule, dan defuzzifikasi.

1. Fuzzification, merupakan suatu proses untuk mengubah suatu masukan

dari bentuk tegas (crisp) menjadi fuzzy yang biasanya disajikan dalam

bentuk himpunan-himpunan fuzzydengan suatu fungsi kenggotaannya

masing-masing.

2. Interference System (Evaluasi Rule), merupakan sebagai acuan untuk

menjelaskan hubungan antara variable-variabel masukan dan

keluaran yang mana variabel yang diproses dan yang dihasilkan

Page 12: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

18

berbentuk fuzzy. Untuk menjelaskan hubungan antara masukan dan

keluaran biasanya menggunakan “IF-THEN”.

3. Defuzzification, merupakan proses pengubahan variabel berbentuk fuzzy

tersebut menjadi data-data pasti (crisp) yang dapat dikirimkan ke peralatan

pengendalian.

2.3. GIS (Geographic Information System)

GIS mengintegrasikan hardware, software dan data, untuk melakukan

metode analisis yang dilakukan oleh user.(Terefe, 2010) Oleh karena itu GIS

memiliki 5 component utama yaitu seperti digambarkan pada gambar 2.8

Gambar 2.8 Five part of GIS (Terefe, 2010)

Page 13: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

19

Ada 5 komponen pada GIS yaitu :

1. Hardware

Hardware adalah Computer atau server dimana GIS di operasikan. Saat

ini GIS software beroperasi diberbagai macam tipe hardware, mulai dari

centralized computer server hingga desktop computer yang digunakan

dengan konfigurasi jaringan ataupun stand-alone

2. Software

GIS software menyediakan fungsi dan tools yang dibutuhkan untuk

menyimpan, menganalisis dan menampilkan informasi geografis.

Software components tersebut adalah :

Alat untuk input dan manipulasi geographic information

Database management system (DBMS)

Alat yang mendukung geographic query, analysis dan visualization.

Graphical user interface (GUI) untuk memudahkan user dalam

menggunakannya.

3. Data

Komponen Gis yang paling penting adalah data. Data geografis dan

related tabular data dapat diperoleh dengan mencari atau membayar dari

commercial data provider. GIS akan mengintegrasikan spatial data

dengan sumber data dan juga dapat menggunakan Database (DBMS),

digunakan oleh perusahaan atau organisasi untuk memantain data

informasi.

Page 14: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

20

4. People

GIS techonolgy membutuhkan orang yang memanage system dan

mendevelop rencana untuk mengaplikasikan nya ke permasalahan

dilapangan. GIS user meliputi technical specialist yang merancang dan

memantain system hingga user yang menggunakannya untuk

pekerjaannya sehari-hari.

5. Methods

GIS yang dapat beroperasi sesuai dengan kebutuhan organisasi dan bisnis

yang unique adalah termasuk GIS yang sukses dalam perancangan dan

implementasinya.

2.4. Tinjauan Pustaka

Dibawah ini table yang menunjukan beberapa tinjauan pustaka yang

digunakan penulis untuk membantu dalam case study ini :

Tabel 1. Tinjauan Pustaka

Tinjauan Pustaka Metode Hasil

O'connor & Balasubramanian,

2013

MVC Architecture -

ORM

Implementasi Sistem

Pendukung

Keputusan (SPK)

melalui Integrasi

Remote Sensing

Komersial

Page 15: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

21

(CRS), Model-View-

Controller (MVC)

Arsitektur dan

Object-Relational

Mapping (ORM)

Supaartagorn, 2011 PHP Framework Kemudahan yang

didapatkan dari PHP

framework untuk

mengambil data dari

pada menggunakan

SQL syntax.

Svennerberg, 2010 Google Maps API Panduan

menggunakan API

Google Maps

Zimmermann, 1996

Fuzzy Logic Fuzzy set theory -

and its applications

Klir & Folger, 1992 Fuzzy Logic Fuzzy sets,

uncertainty, and

information,

Warren, Beliakov & Van Der

Zwaag, 2000

Fuzzy Logic Fuzzy logic in

clinical practice

decision support

systems

Page 16: BAB II. LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/BOL-S2-2017-0013 BAB II.pdf · Perbandingan tentang kelebihan dan kekurangan model Waterfall

22

Kusumadewi & Purnomo,

2010

Fuzzy Logic

(DSS method)

Aplikasi DSS dengan

menggunakan Fuzzy

Logic

Sabale & Dani, 2012 Prototype Model

(SDLC)

Studi perbandingan

dari prototype model

untuk software

engineering

Bassil, 2012 Waterfall Model

(SDLC)

Simulasi model untuk

Waterfall Software

Development Life

Cycle