BAB II. LANDASAN TEORI -...
Transcript of BAB II. LANDASAN TEORI -...
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,
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
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.
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)
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)
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).
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)
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)
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.
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
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
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)
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.
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
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
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