BAB 2 LANDASAN TEORI 2.1 HAVERSINE FORMULA Haversine

advertisement
BAB 2 LANDASAN TEORI
2.1
HAVERSINE FORMULA
Haversine formula adalah persamaan penting pada navigasi, memberikan
jarak lingkaran besar antara dua titik pada permukaan bola (bumi) berdasarkan
bujur dan lintang. Haversine digunakan untuk menghitung jarak antara titik di
permukaan bumi menggunakan garis lintang (longitude) dan garis bujur (lattitude)
sebagai variabel inputan.
Dengan mengasumsikan bahwa bumi berbentuk bulat sempurna dengan jarijari R 6.367, 45 km, dan lokasi dari 2 titik di koordinant bola (lintang dan bujur)
masing-masing adalah lon1, lat1, dan lon2, lat2, maka rumus Haversine dapat
ditulis dengan persamaan sebagai berikut: [1]
x = (lon2-lon1) * cos ((lat1+lat2)/2);
y = (lat2-lat1);
d = sqrt(x*x+y*y)*R
Keterangan :
x = Longitude (Lintang)
y = Latitude (Bujur)
d = Jarak
R = Radius Bumi = 6371 km
1 derajat = 0.0174532925 radian
Contoh perhitungan Haversine Fromula
Lokasi 1: lon1= 119.800801, lat1= -0.790175
Lokasi 2: lon2= 119.8428 , lat2= -0.8989
lat1 = -0.790175 * 0.0174532925 radian = -0.013791155 radian
lon1 = 119.800801 * 0.0174532925 radian = 2.090918422 radian
lat2 = -0.8989 * 0.0174532925 radian = -0.01569 radian
lon2 = 119.8428 * 0.0174532925 radian= 2.091651 radian
x = (lon2-lon1) * cos ((lat1+lat2)/2)
= (2.091651-2.090918422) * cos ((-0.013791155 + -0.01569)/2)
= 0.0007329412
y = (lat2-lat1)
2- 1
http://digilib.mercubuana.ac.id/
= (-0.01569- (-0.013791155))
= -0.001897609
d = sqrt (x*x + y*y) * R
= sqrt((0.0007329412*0.0007329412)+( -0.001897609*0.001897609))*6371
= sqrt (0.0000041381) * 6371
= 12.96012927 km [1]
2.2
WEBSITE
Website adalah keseluruhan halaman-halaman web yang terdapat dalam
sebuah domain yang mengandung informasi. Sebuah website biasanya dibangun
atas banyak halaman web yang saling berhubungan. Hubungan antara satu halaman
web dengan halaman web lainnya disebut dengan hyperlink, sedangkan teks yang
dijadikan media penghubung disebut hypertext.
Domain adalah nama unik yang dimiliki oleh sebuah institusi sehingga bisa
diakses melalui internet, misalnya lintau.com, yahoo.com, google.com, ephi.web.id
dan lain-lain. Untuk mendapat sebuah domain kita harus melakukan register pada
registar-registar yang ditentukan.
Istilah lain yang sering ditemui sehubungan dengan website adalah
homepage. Homepage adalah halaman awal sebuah domain. Misalnya, anda
membuka website www.lintau.com, halaman pertama yang muncul disebut dengan
homepage, jika anda meng-klik menu-menu yang ada dan meloncat ke lokasi yang
lainnya, disebut web page, sedangkan keseluruhan isi/conten domain disebut
website.[2]
2.2.1
JENIS-JENIS WEBSITE
Seiringan dengan perkembangan teknologi informasi yang begitu cepat,
website
juga
mengalami
perkembangan
yang
sangat
ber-arti.
Dalam
pengelompokan jenis web, lebih diarahkan bedasar-kan pada fungsi, sifat dan
bahasa pemrograman yang digunakan
Jenis-jenis web berdasarkan sifatnya adalah;
2- 2
http://digilib.mercubuana.ac.id/

Website dinamis, merupakan sebuah website yang menyedi-kan content
atau isi yang selalu berubah-ubah setiap saat. Misalnya website berita,
seperti, www.kompas.com, www.detik.com, www.polinpdg.ac.id, dan
lain-lain.

Website statis, merupakan website yang contentnya sangat jarang
diubah. Misalnya, web profile organisasi, dan lain-lain.
Berdasarkan tujuannya, website dibagi atas;

Personal web, website yang berisi informasi pribadi seseorang,

Corporate web, website yang dimiliki oleh sebuah perusahaan,

Portal web, website yang mempunyai banyak layanan, mulai dari layanan
berita, email, dan jasa-jasa lainnya.

Forum web, sebuah web yang bertujuan sebagai media diskusi.

Di samping itu juga ada website e-Government, e-Banking, e-Payment,
e-Procurement, dan sebagainya.
Ditinjau dari segi bahasa pemrograman yang digunakan, website terbagi atas

Server
Side,
merupakan
website
yang
menggunakan
bahasa
pemrograman yang tergantung kepada tersedianya server. Seperti PHP,
ASP dan lain sebagainya. Jika tidak ada server, website yang dibangun
menggunakan bahasa pemrograman di atas tidak dapat berfungsi
sebagaimana mestinya.

Client Side, adalah website yangtidak membutuhkan server dalam
menjalankannya, cukup diakses melalui browser saja. Misalnya, html.[2]
2.2.2
PERALATAN DALAM PERCANCANGAN WEBSITE
Dalam merancang dan membangun sebuah website yang baik diperlukan
beberapa skill. Oleh karena itu biasanya dalam pengerjaan sebuah website
dibutuhkan tim, agar tujuan pembuatan web yang baik tercapai. Berikut ini
beberapa skill yang sebaiknya dimiliki seorang webmaster.

Skill
dalam
bidang
bahasa
pemrograman.
Misalnya,
bahasa
pemrograman PHP, ASP, JSP, Javascript, HTML dan lain-lain.

Skill dalam bidang desain. Misalnya menguasai software Photoshop,
Illustrator, Paintshop Pro, dan lain-lain.
2- 3
http://digilib.mercubuana.ac.id/

Skill dalam bidang animasi. Misalnya, menguasai Flash, Swish, Image
Eeady, Swift, Gif Animator, dan lain-lain.[2]
2.3
WEB SERVER
Web Server atau Server web merupakan sebuah perangkat lunak server yang
berfungsi menerima permintaan dari klien yang dikenal dengan browser web dan
mengirimkan kembali hasilnya dalam bentuk halaman-halaman web melalui
protokol HTTP atau HTTPS. Web server bertugas mengelola halaman-halaman
web dan dokumen-dokumen lainnya. Jadi, pada dasarnya web server hanyalah
sebuah perangkat lunak yang bisa saja berada di komputer apapun dengan
spesifikasi apapun. PC biasapun dapat berfungsi sebagai web server.
Karena web server hanyalah suatu perangkat lunak, saat ini banyak pilihan
yang dapat kita pilih. Mulai dari yang gratis (free) sampai yang berbayar, mulai dari
yang kompleks sampai yang bisa berjalan di CD. Tabel 1.1 di bawah ini
menunjukan daftar beberapa web server yang tersedia saat ini beserta spesifikasi
singkatnya.
Tabel 2- 1 Daftar Web Server
NO
NAMA
PENGEMBANG
OSS
LISENSI
VERSI
TANGGAL
RILIS
1
AOLserver
NaviSoft
2
Apache
Apache
3
HTTP
Software
Server
Foundation
Apache Tomcat
Apache
Software
Yes
Mozilla
4.5.1
2009-02-02
Yes
Apache
2.4.2
2012-04-17
Yes
Apache
7.0.27
2012-04-05
Foundation
4
Boa
Paul Philips
Yes
GPL
0.94.13
2002-07-30
5
Caudium
The
Caudium
Yes
GPL
1.4.18
2012-02-24
Lopez
Yes
GPL
1.2.101
2011-10-18
Group
6
7
Cherokee HTTP
Alvaro
Server
Ortega
Hiawatha HTTP
Hugo Leisink
Yes
GPL
8.3.2
2012-05-29
Rejetto
Yes
GPL
2.2f
2009-02-17
IBM
No
Non-free
7.0
2009-03-15
Server
8
HFS
9
IBM
Server
HTTP
proprietary
2- 4
http://digilib.mercubuana.ac.id/
NO
NAMA
PENGEMBANG
OSS
LISENSI
VERSI
TANGGAL
RILIS
10
Internet
Microsoft
No
Information
Non-free
7.5
2009-10-22
proprietary
Service (IIS)
11
Jetty
Eclipse Foundation
Yes
Apache
7.3.1
2011-03-04
12
KLone
KoanLogic Srl
Yes
BSD
3.1.0
2012-09-05
13
Lighttpd
Jan
Yes
BSD
1.4.30
2011-12-18
4.1.8
2011-11-18
Kneschke
(Incremental)
14
Variant
LiteSpeed Web
LiteSpeed
No
Non-free
Server
Technologies
15
NaviServer
Various
Yes
Mozilla 1.1
4.99.3
2009-03-11
16
NCSA HTTPd
Robert McCool
Yes
Free non-
1.5.2a
1996
1.2.0
2012-04-23
0.8.9
2012-07-11
6.1.5
2012-03-16
Non-free
11g
2009
proprietary
releas 1
proprietary
commercia
l use
17
Nginx
NGINX, Inc.
Yes
BSD
Variant
18
Nodejs
Ryan Dahl
Yes
MIT
19
OpenLink
OpenLink Software
Yes
GPL
Virtuoso
and
commercia
l versions
20
Oracle
HTTP
Oracle Corporation
No
Server
21
Oracle
iPlanet
Oracle Corporation
Yes
BSD
7.0u8
2010-01-20
Oracle
Oracle Corporation
No
Non-free
11gR1
2011-05-16
WebLogic
(formerly
proprietary
(10.3.5)
Server
Systems)
Web Server
22
23
Resin
Open
BEA
Caucho Technology
Yes
GPL
4.25
2012-01-15
Caucho Technology
No
Non-free
Same
Same
proprietary
as OSS
OSS version
Source
24
Resin
Professional
as
version
25
Thttpd
Jef Poskanzer for
Yes
ACME Laboratories
26
Tornado
FriendFeed,
BSD
2.25b
2003-12-29
1.2.1
2011-03-03
variant
Yes
Apache
Yes
GPL
Facebook
27
TUX web server
Ingo Molnar
2- 5
http://digilib.mercubuana.ac.id/
NO
NAMA
PENGEMBANG
OSS
LISENSI
VERSI
TANGGAL
RILIS
28
WEBrick
Ruby Community
Yes
Ruby
1.9.3
2012-10-12
29
Xitami
iMatix Corporation
Yes
GPL
5.0a0
2009-02-19
30
Yaws
Claes Wikstrom
Yes
BSD
1.89
2010-09-25
4.3r5
2010-01-13
variant
31
Zeus
Web
Zeus Technology
No
Server
32
Zope
Non-free
proprietary
Zope Corporation
Yes
Zope
Dari keseluruhan perangkat webserver yang tersedia, salah satu yang paling
populer dan paling banyak digunakan saat ini adalah Apache Web Server. Apache
termasuk generasi awal yang mengembangkan perangkat server web berlisensi
terbuka (open source) dan didistribusikan secara gratis.[3]
2.4
PERAMBAN WEB (WEB BROWSER)
Peramban web atau lebih dikenal dengan web browser merupakan perangkat
lunak yang berfungsi untuk menerima dan menyajikan sumber informasi di
internet. Mudahnya, browser digunakan untuk menampilkan halaman-halaman
web. Seluruh komponen web termasuk teks, gambar, dan komponen lain yang
dibangun dengan teknologi client-side scripting dapat ditampilkan di web
browser.[3]
2.5
HTML, CSS DAN JAVASCRIPT
HTML merupakan singkatan dari Hypertext Markup Language. HTML
dikembangkan pertama kali oleh Tim Berners-Lee bersamaan dengan protokol
HTTP (Hypertext Transfer Protocol) pada tahun 1989. Tujuan utama
pengembangan HTML adalah untuk menghubungkan satu halaman web dengan
halaman web lainnya. Tentunya pada awal perkembangannya, halaman web hanya
berupa teks, tidak seperti sekarang.
Pada dasarnya, setiap halaman web ditulis dalam bentuk HTML. HTML
merupakan bahasa pemrograman web yang memberitahukan peramban web (web
browser) bagaimana menyusun dan menyajikan konten di halaman web. Dengan
kata lain, HTML adalah pondasi web. HTML disusun dengan bahasa yang
2- 6
http://digilib.mercubuana.ac.id/
sederhana, sehingga sangat mudah diimplementasikan. Saat ini, HTML dapat
menampilkan obyek-obyek seperti teks, label, tautan, gambar, audio dan video.
HTML sendiri berkembang dari waktu ke waktu. Untuk menetapkan standar
perintah HTML dan mengembangkannya, didirikan sebuah konsorsium W3C
(World Wide Web Consortium) yang diprakarsai oleh Tim Berners-Lee. Pada
perkembangannya, W3C tidak hanya menetapkan standar HTML, namun beberapa
teknologi lainnya seperti XML, XHTML dan SOAP. Beberapa standar versi HTML
yang pernah dikeluarkan oleh W3C antara lain HTML 2.0 pada tahun 1995, HTML
3.2 pada Januari 1997, HTML 4.0 pada Desember 1997 dan direvisi menjadi
HTML 4.01 pada bulan Desember 1999. Pada bulan Mei 2000, W3C
mengumumkan standar baru HTML dengan nama XHTML yang sebenarnya
berupa standar HTML 4.01 dengan beberapa penyesuaian. Dan saat ini, standar
HTML yang terakhir dirilis oleh W3C adalah HTML5. Banyak fitur (perintah) baru
yang dikenalkan pada HTML5 seperti penanganan audio, video dan penyimpanan
lokal.
HTML merupakan bahasa dasar web yang berfungsi untuk menampilkan
berbagai komponen web. Sementara itu, untuk mempercantik tampilan web,
dikembangkanlah CSS atau Cascading Style Sheet. CSS pertama kali disusulkan
oleh Hakom Wium Lie pada tahun 1994 dan selanjutnya distandarisasi oleh W3C.
CSS memberikan cara yang mudah dan efisien bagi pemrogram untuk menentukan
tata letak halaman web dan mempercantik halaman dengan elemen desain seperti
warna, sudut bulat, gradien, dan animasi.
Seperti halnya HTML, versi CSS juga berkembang. Versi pertama yang
ditetapkan oleh W3C adalah CSS 1 (dibaca CSS level 1) pada bulan Desember
1996. Selanjutnya berkembang menjadi CSS 2 (ditetapkan bulan Mei 1998), CSS
2.1 (tahun 2011) dan CSS 3 yang diusulkan pada tahun 2012. Versi yang sedang
populer saat ini adalah CSS 3 yang memiliki banyak kelebihan dibanding versi
sebelumnya seperti penambahan fitur media-queries dan penanganan font web.
Selain HTML dan CSS, sebuah aplikasi berbasis web tidak dapat dilepaskan
dari teknologi Javascript. Pertama kali Javascript dikembangankan oleh Netscape
dengan nama awal LiveScript. Fungsi utama dari javascript adalah untuk
menambah fungsionalitas dan kenyamanan halaman web. Javascript lebih fokus
2- 7
http://digilib.mercubuana.ac.id/
pada proses pengolahan data di sisi client serta menyajikan komponen web yang
lebih interaktif. Javascript makin populer sejak kemunculan konsep AJAX
(Asynchronous Javascript and XML) yang memungkinkan interaksi antara client
dan server lebih elegan dan fleksibel.
Secara sederhana yang menggambarkan bagaimana peran HTML, CSS dan
Javascript dalam pembuatan web dapat dianalogikan sebagaimana pembuatan baju
kemeja. Bahan dasar dari pembuatan baju adalah bahan atau kain. Baju tidak akan
bisa dibuat tanpa keberadaan kain. Demikian juga halaman web, tidak akan
terbentuk tanpa keberadaan perintah HTML. Selanjutnya kain diolah sedemikian
rupa menjadi sebuah baju kemeja. Untuk melengkapi baju kemeja, biasanya
ditambahkan satu atau beberapa saku yang berfungsi utnuk menaruh sesuatu.
Fungsionalitas baju bertambah tidak sekedar melindungi tubuh, namun dapat untuk
menaruh dompet, handphone, catatan, dan sebagainya. Kantong saku inilah
Javascript dalam pembuatan web. Bagaimana dengan CSS? CSS pada proses
pembuatan baju kemeja adalah tata letak, pengaturan warna serta hiasan-hiasan
tertentu seperti renda, bros dan asesoris lainnya.[3]
2.6
PHP
Apa itu PHP? PHP merupakan salah satu bahasa pemrograman berbasis web
yang ditulis oleh dan untuk pengembang web. PHP pertama kali dikembangkan
oleh Rasmus Lerdorf, seorang pengembang software dan anggota tim Apache, dan
dirilis pada akhir tahun 1994. PHP dikembangkan dengan tujuan awal hanya untuk
mencatat pengunjung pada website pribadi Rasmus Lerdorf. Pada rilis keduanya,
ditambahkan Form Intepreter, sebuah tools untuk melakukan penerjemahan
perintah SQL. Rilis kedua disebut dengan PHP/FI. Sejak itu, PHP mulai diterima
sebagai sebuah bahasa pemrograman baru yang sangat diminati. Terbukti pada
pertengahan tahun 1997, tercatat sekitar 50.000 situs di seluruh dunia telah
menggunakan PHP.
Dengan bertambah banyaknya pengguna PHP di seluruh dunia, maka PHP
tidak memungkinkan lagi untuk dikelola oleh satu orang saja. Sehingga dibentuk
sebuah tim pengembagan yang mengorganisir kontributor dari seluruh dunia
dengan model pengembangan proyek open source “benevolent junta”. Tim tersebut
2- 8
http://digilib.mercubuana.ac.id/
dipimpin oleh dua orang programmer, Zeev Suraski dan Andi Gutmans. Keduanya
lalu mendirikan sebuah perusahaan PHP dengan nama Zend (akronim dari nama
Zeev Suraski dan Andi Gutmans). Selanjutnya Zend merilis versi PHP3 dan PHP4.
Seiring dengan waktu, PHP terus dikembangkan baik dari sisi fitur, keamanan
maupun performanya. Versi terakhir PHP adalah PHP 5.6.14 (Oktober 2015). Sejak
PHP5, terjadi penambahan dan peningkatan fitur yang cukup signifikan. PHP5
dibangun dengan konsep berorientasi objek (OO) secara penuh seperti halnya
bahasa pemrograman seperti Java dan C++. Versi sebelumnya memmang PHP
belum sepenuhnya mendukung konsep OO. Mulai PHP5, seluruh fungsi bawaan
PHP ditulis ulang menggunakan konsep OO, walaupun pada masa transisi PHP
masih mendukung gaya klasik yaitu prosedural. Dan sedikit demi sedikit gaya
penulisan prosedural akan dihilangkan dari PHP.[3]
2.7
XAMPP
XAMPP adalah sebuah software yang berfungsi untuk menjalankan website
berbasis PHP dan menggunakan pengolah data MySQL di komputer lokal. XAMPP
berperan sebagai server web pada komputer anda. XAMPP juga dapat disebut
CPanel server virtual, yang dapat membantu anda melakukan preview sehingga
dpat memodifikasi website tanpa harus online atau terakses dengan internet.[4]
2.8
UML (UNIFIED MODELING LANGUAGE)
UML (Unified Modeling Language) adalah ‘bahasa’ pemodelan sistem untuk
sistem atau perangkat lunak yang berparadigma ‘berorientasi objek’. Pemodelan
(modeling) sesungguhnya digunakan untuk penyederhanaan permasalahanpermasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan
dipahami. Sebagai contoh, alih-alih membawa planet bumi ke meja kita, kita
mungkin akan membawa peta-peta tentang bagian bumi tertentu ke meja kita untuk
kita pelajari lebih jauh. Dalam hal ini, sasaran model sesungguhnya adalah abstraksi
segala sesuatu yang ada di planet bumi menjadi gambaran-gambaran yang lebih
mudah dipelajari dan dipahami. Adapun tujuan pemodelan (dalam kerangka
pengembangan sistem/perangkat lunak aplikasi) adalah serupa dengan yang kita
2- 9
http://digilib.mercubuana.ac.id/
singgung diatas, yaitu sebagai sarana analisis, pemahaman, visualisasi, dan
komunikasi antara anggota tim pengembang (saat seorang analis/perancang
perangkat lunak bekerja dalam tim yang beranggotakan beberapa/banyak anggota),
serta sebagai sarana dokumentasi (yang bermanfaat untuk menelaah perilaku
perangkat lunak secara seksama serta bermanfaat untuk melakukan pengujian
terhadap perangkat lunak yang telah selesai dikembangkan).[5]
2.9
BLACK BOX TESTING
Terfokus pada apakah unit program memenuhi kebutuhan (requirement) yang
disebutkan dalam spesifikasi. Pada black box testing, cara pengujian hanya
dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian
diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. [6]
2.10 MAKANAN
Berdasarkan definisi dari WHO, makanan adalah semua substansi yang
dibutuhkan oleh tubuh tidak termasuk air, obat-obatan, dan substansi-substansi lain
yang digunakan untuk pengobatan. Air tidak termasuk dalam makanan karena
merupakan elemen yang vital bagi kehidupan manusia. Terdapat tiga fungsi
makanan. Pertama, makanan sebagai sumber energi karena panas dapat dihasilkan
dari makanan seperti juga energi. Kedua, makanan sebagai zat pembangun karena
makanan berguna untuk membangun jaringan tubuh yang baru, memelihara, dan
memperbaiki jaringan tubuh yang sudah tua. Fungsi ketiga, makanan sebagai zat
pengatur karena makanan turut serta mengatur proses alami, kimia, dan proses faal
dalam tubuh. Makanan merupakan salah satu bagian yang penting untuk kesehatan
manusia.[7]
2.11 MODEL PROSES PERANGKAT LUNAK
Waterfall (air terjun), model pertama yang diterbitkan untuk proses
pengembangan perangkat lunak diambil dari proses rekayasa lain (Royce, 1970).
Model ini diilustrasikan pada gambar 2- 1. Berkat penurunan dari satu fase ke fase
yang lainnya, model ini dikenal sebagai ‘model air terjun’ atau siklus hidup
2- 10
http://digilib.mercubuana.ac.id/
perangkat lunak. Tahap-tahap utama dari model ini memetakan kegiatan-kegiatan
pengembagan dasar yaitu:
1. Analisis dan definisi persyaratan. Pelayanan, batasan, dan tujuan sistem
ditentukan melalui konsultasi dengan user sistem. Persyaratan ini
kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi
sistem.
2. Perancangan sistem dan perangkat lunak. Proses perancangan sistem
membagi persyaratan dalam sistem perangkat keras atau perangkat lunak.
Kegiatan ini menentukan arsitektur sistem secara keseluruhan.
Perancangan perangkat lunak melibatkan identifikasi dan deskripsi
abstraksi sistem perangkat lunak yang mendasar dan hubunganhubungannya.
3. Implementasi dan pengujuan unit. Pada tahap ini, perancangan perangkat
lunak direalisasikan sebagai serangkaian program atau unit program.
Pengujuan unit melibatkan verifikasi bahwa setiap unit telah memenuhi
spesifikasinya.
4. Integrasi dan pengujian sistem. Unit program atau program individual
diintegrasikan dan diuji sebagai sistem yang lengkap untuk mejamin
bahwa persyaratan sistem telah terpenuhi. Setelah pengujian sistem,
perangkat lunak dikirim kepada pelanggan.
5. Operasi dan pemeliharaan. Biasanya (walaupun tidak seharusnya), ini
merupakan fase siklus hidup yang paling lama. Sistem diinstal dan
dipakai. Pemeliharaan mencakup koreksi dari berbagai error yang tidak
ditemukan pada tahap-tahap terdahulu, perbaikan atas implementasi unit
sistem dan pengembangan pelayanan sistem, sementara persyaratanpersyaratan baru ditambahkan.
2- 11
http://digilib.mercubuana.ac.id/
Gambar 2- 1 Siklus hidup perangkat lunak
Pada prinsipnya hasil dari setiap fase merupakan satu atau lebih dokumen
yang disetujui (‘ditanda-tangani’). Fase berikutnya tidak boleh dimulai sebelum
fase sebelumnya selesai. Pada prakteknya, tahap-tahap ini bertumpang tindih dan
memberi informasi satu sama lain. Pada waktu perancangan, masalah dengan
persyaratan diidentifikasi, pada saat pengkodean, ditemukan masalah perancangan
dan seterusnya. Proses perangkat lunak bukanlah model linear sederhana, tetapi
melibatkan serangkaian iterasi kegiatan pengembagan.
Sebagai akibat dari biaya pembuatan dan persetujuan dokumen, iterasi
menjadi mahal dan melibatkan pengerjaan ulang yang signifikan. Dengan
demikian, setelah sejumlah kecil iterasi, adalah normal untuk membekukan bagian
dari pengembangan, seperti spesifikasi, dan melanjutkan dengan tahap
pengembangan berikutnya. Masalah-masalah dikesampingkan, diabaikan atau
dihindari, untuk pemecahan kemudian. Pembekuan persyaratan dini ini bisa berarti
bahwa sistem tidak dapat melakukan apa yang diinginkan user. Akibat lainnya bisa
juga berupa sistem yang memiliki struktur yang buruk jika masalah perancangan
dihindari dengan trik implementasi.
Pada saat fase siklus hidup akhir (operasi dan pemeliharaan) perangkat lunak
digunakan, error dan penghapusan atas persyaratan perangkat lunak yang asli akan
ditemukan. Kesalahan program dan perancangan muncul dan kebutuhan untuk
2- 12
http://digilib.mercubuana.ac.id/
fungsionalitas yang baru akan diidentifikasi. Dengan demikian, sistem harus
berubah agar tetap berguna. Melakukan perubahan ini (pemeliharaan perangkat
lunak) dapat melibatkan pengulangan beberapa atau seluruh tahap proses
sebelumnya.
Masalah dengan model air terjun adalah terjadinya pembagian proyek
menjadi tahap-tahap yang tidak fleksibel. Komitmen harus dilakukan pada tahap
awal proses, dan akan sulit bagi perekayasa untuk menanggapi perubahan
persyaratan pelanggan. Dengan demikian, model air terjun harus digunakan hanya
ketika persyaratan dipahami dengan baik. Bagaimanapun juga, model air terjun
merefleksikan praktek rekayasa. Secara konsekuen, proses perangkat lunak yang
berdasarkan pada pendekatan ini masih digunakan untuk pengembangan perangkat
lunak, terutama jika merupakan bagian dari sistem proyek rekayasa yang lebih
besar.[8]
2- 13
http://digilib.mercubuana.ac.id/
Download