28
1 Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik.
2 Perangkat lunak tidak pernah usang. Sebagian besar perangkat lunak dibuat berdasarkan kebutuhan,
tidak hanya dibuat dari komponen yang sudah ada. Menurut Soemerville 2003: 26, rekayasa perangkat lunak adalah
disiplin ilmu yang membahas semua aspek produksi perangkat lunak. Mulai dari awal spesifikasi sistem sampai pemeliharaan sistem setelah
digunakan. Secara umum, perekayasa perangkat lunak memakai pendekatan sistematis dan terorganisir terhadap pekerjaan mereka karena
cara ini seringkali efektif untuk menghasilkan perangkat lunak berkualitas tinggi.
2.10. Proses Perangkat Lunak
Proses software merupakan serangkaian kegiatan dan hasil yang menghubungkan dengan proses tersebut, yang menuju pada di\hasilkannya
produk perangkat lunak Sommerville, 2003: 41. Walaupun ada banyak proses perangkat lunak, ada kegiatan-
kegiatan mendasar yang umum bagi semua proses perangkat lunak. Menurut Sommerville, 2003: 41 kegiatan-kegiatan tersebut adalah:
1 Penspesifikasian perangkat lunak. Fungsionalitas perangkat lunak dan batasan operasinya harus didefinisikan.
29
2 Perancangan dan implementasi perangkat lunak. Perangkat lunak yang memenuhi persyaratan harus dibuat.
3 Pemvalidasian perangkat lunak. Perangkat lunak tersebut harus divalidasi untuk menjamin bahwa perangkat lunak bekerja sesuai
dengan apa yang diinginkan pelanggan. 4 Pengevolusian perangkat lunak. Perangkat lunak harus dapat
berkembang untuk menghadapi kebutuhan pelanggan yang berubah.
Model proses perangkat lunak merupakan representasi abstrak dari proses perangkat lunak. Ada banyak proses perangkat lunak,
diantaranya: model air terjun waterfall, pengembangan evolusioner, pengembangan sistem formal, pengembangan berdasarkan pemakaian
ulang Sommerville, 2003: 42.
2.11. Pengembangan Sistem
Pengembangan sistem System Development dapat berarti menyusun atau membuat suatu sistem baru untuk menggantikan atau
memperbaiki sistem lama, baik secara keseluruhan atau sebagian dari sistem yang telah ada dengan mengintegrasikan dan memadukan prosedur,
sarana dan sumber daya manusia yang dimiliki. Sistem yang lama perlu diperbaiki atau diganti disebabkan karena beberapa hal sebagai berikut:
30
1 Adanya permasalahan-permasalahan yang timbul di sistem yang lama seperti adanya ketidakberesan atau adanya pertumbuhan
organisasi. 2 Untuk meraih kesempatan-kesempatan, kesempatan ini dapat
berupa peluang pasar, pelayanan yang meningkat kepada pelanggan.
3 Adanya instruksi-instruksi dari atasan atau pimpinan atau dari luar organisasi, seperti peraturan pemerintah.
Dalam sebuah perancangan perangkat lunak diperlukan model- model proses atau paradigm rekayasa perangkat lunak berdasarkan sifat
aplikasi dan proyeknya, metode dan alat bantu yang dipakai dan control serta penyampaian yang dibutuhkan. Menurut Pressman, 2005: 79 ada
beberapa proses model diantaranya Sequential Linier, Prototype, Rapid Aplication Development RAD, Incremental, Iterative, Spiral,
Concurrent, Componen-Based Development , Model Metode Fomral,
Aspect Oriental Software Development, Unified Process, dan Extreme
Programming XP. Berikut tabel perbedaan model-model pengembangan sistem.
Tabel 2.1
Perbedaan pengembangan sistem
Metode Kelebihan
Kekurangan Penggunaan
Secara Umum Sequential
Linear Waterfall
oleh
Winston W. Royce 1929-
1995 pada tahun
Metode ini baik digunakan untuk
kebutuhan yang sudah diketahui
dengan baik Iterasi yang sering
terjadi menyebabkan
masalah baru. Bagi pelanggan
sulit menentukan Waterfall bekerja
dengan baik pada proyek skala kecil
31
1970 kebutuhan secara
eksplisit dan harus bersabar karena
memakan waktu yang lama
Prototype oleh
Eleanor Rosch 1938-N
pada tahun 1970
Metode ini cukup efektif dengan
mendapatkan kebutuhan dan
aturan yang jelas dan pelanggan
bisa langsung melihat
sistem yang sebenarnya
Pengembang kadang0kadang
membuat implementasi
sembarang, karena ingin working
version selesai dengan cepat
Prototyping dapat bekerja dengan
baik, jika ada kerja sama yang
baik antara pengembang dan
pelanggan
Rapid Aplication Development
RAD
oleh James Martin
1933-N pada
tahun 1991 Metode ini lebih
cepat dari waterfall jika
kebutuhan dan batasa proyek
sudah diketahui dengan baik bisa
untuk dimodularisasi
Karena proyek dipecah menjadi
beberapa bagian, maka dibutuhkan
banyak orang untuk membentuk
suatu tim karena komponen-
komponen yang sudah ada,
fasilitas-fasilitas pada tiap
komponen belum tentu digunakan
seluruhnya sehingga fasilitas
program bisa menurun
RAD cocok untuk aplikasi yang tidak
mempunyai resiko teknis yang tinggi,
RAD cocok untuk proyek yang
memiliki SDM yang baik dan
sudah berpengalaman
Incremental
oleh
Schlimmer, et all.
Pada tahun 1986 Fleksibel dan
mudah untuk dikelola serta
pengujiannya mudah
Semua kebutuhan tidak dikumpulkan
pada tahap awal sehingga
menimbulkan masalah serta sulit
untuk mengukur progress karena
tidak ada timelines Cocok untuk
aplikasi kebutuhan yang diidentifikasi
dengan baik
Iterative Fase desain
pengkodean dan pengujian lebih
cepat Butuh waktu yang
banyak untuk menganalisis dan
terlalu banyak langkah yang
Hanya cocok untuk skala besar
32
dibutuhkan model
Spiral oleh Barry
W. Boehm 1935- N
pada tahun 1986
Model ini digunakan untuk
sistem skala besar, membutuhkan
konsiderasi langsung terhadap
resiko teknis, sehingga dapat
mengurangi resiko besar
Resiko utama tidak ditemukan,
maka masalah bisa muncul kemudian
sehingga membutuhkan
manajemen dan perkiraan resiko
yang cukup tinggi Hanya cocok
untuk skala besar
Concurrent oleh
C.A.R. Hoare et all
pada tahun 1960
Peningkatan aplikasi yang
sudah selesai pada umumnya satu
periode. Sangan memperhatikan
input-output dari aplikasi. Dapat
dieksekusi secara parallel
Tidak bisa mendeteksi eror
pada sub-program fungsi-fungsi
program. Membutuhkan
waktu yang lama Cocok untuk
aplikasi yang membutuhkan
ketelitian dalam proses input-
output program
Component- Based
Development oleh
Malcolm Douglas Mcllroy
1932-N pada tahun 1998
Komponen- komponen
program dijadikan satu set paket
sehingga dapat memudahkan para
pengembang dalam pengkodean
dan menggunakan kembali kode
program tersebut Cukup
menyulitkan dalam membuat
paket-paket program yang
dibutuhkan dalam mengembangkan
aplikasi Baik digunakan
untuk aplikasi yang banyak
menggunakan program-program
yang pernah dibuat
Model Metode Fomral
Sistem diekspresikan
dengan teori matematika
sehingga mudah dipahami
Sulit dipahami bagi orang yang
tidak memberti ekspresi
matematika dan logikanya
Baik digunakan untuk
pengembangan aplikasi
matematika atau perhitungan
Aspect Oriented Software
Development oleh
Gregor Kiezales et all
Mendukung modularisasi
perhatiannya sejak dari pembuatan
kode program Waktu pengerjaan
kode program akan lebih lama
karena lebih memperhatikan
modul-modul program yang
tersusun rapi. Baik digunakan
untuk proyek skala besar.
Aplikasi yang berbasis object
oriented
33
Unified Process oleh
Ivar Hjalmar
Jacobson 1939-
N, et all pada tahun 1990
Team proyek fokus pada alamat
yang memiliki banyak resiko
paling tinggi lebih awal. Sehingga
dapat meminimalisir
resiko pada saat apikasi sudah jadi
Waktu pengerjaan proyek lebih lama
karena menggabungkan
konsep iterasi dan incremental
Baik digunakan untuk aplikasi
yang dibuat berbasis object
oriented dengan notasi rational.
Extreme Programming
XP
oleh Kent Beck 1943-N
pada tahun 1999 Peningkatan
kualitas software dan memfokuskan
pada perubahan- perubahan yang
diminta oleh pelanggan
Para pengembang tidak bisa
mengembangkan kualitas software
karena tidak ada feedback dari
pelanggan Baik untuk
software yang sudah ada tetapi
masih dibutuhkan pengembangan
kualitas karena kebutuhan-
kebutuhan dari pelanggan.
Beberapa ahli membagi proses-proses pengembangan sistem ke dalam sejumlah urutan yang berbeda-beda. Tapi semuanya mengacu pada
proses-proses standar berikut : 1 Analisis
2 Desain 3 Implementasi
4 Pemeliharaan Menurut Al Fatta, 2007: 26.Pada perkembangannya proses di atas
dituangkan dalam satu metode yang dikenal dengan nama System Development Life Cycle
SDLC yang merupakan metodologi umum dalam pengembangan sistem yang menandai kemajuan usaha analisis dan
desain.
34
Menurut Mcleod, Jr 2001: 184 daur hidup pengembangan sistem adalah suatu urutan atau tahapan dari aktifitas yang berhubungan erat,
yang dikerjakan oleh orang-orang yang terlibat dalam sistem informasi bersama-sama dengan pemakai akhir end user dengan tujuan untuk
membangun sistem informasi yang berbasiskan komputer computer based information
. Berikut adalah gambar pengembangan sistem perangkat lunak
dengan proses SDLC System Development Life Cycle dengan model sekuensial linear
yang sering disebut juga dengan “siklus kehidupan klasik” atau “model air terjun”.
Gambar 2.4 Model sequential linier
atau waterfall
Sumber: Roger S. Pressman.“Software Engineering A practitioner’s Approach”
, 2010: 39 Menurut Sutabri, 2004: 68-70 Metodologi pengembangan sistem
informasi dikelompokkan menjadi 4 tahap antara lain sebagai berikut: 1 Metodologi yang Berorientasi Keluaran
Metodologi ini disebut juga metodologi tradisional, diperkenalkan sekitar tahun 1960 dengan memberikan tahapan dalam
pengembangan system tanpa dibekali dengan tehnik dan peranti yang memadai.
Communication
Project initiation Requirement gathering
Planning
Estimating Scheduling
Tracking
Modeling
Analysis Design
Construction
Code Test
Deployment
Delivery Support
Feedback
35
2 Metodologi yang Berorientasi Proses Metodologi ini disebut juga dengan metodologi struktur analisis
dan desain, diperkenalkan sekitar tahun 1970 dan masih mendominasi pengembangan sistem sampai saat ini. Metodologi
ini telah dilengkapi dengan alat-alat tool dan tehnik-tehnik yang dibutuhkan untuk pengembangan sistem, khususnya pemrograman
terstruktur dan modular. 3 Metodologi yang Berorientasi Data
Metodologi ini disebut juga metodologi model informasi. Diperkenalkan sekitar tahun 1980 dengan semakin banyaknya yang
menggunakan Relational Database.Management System. Alat yang digunakan untuk membuat model ialah Entity Relational Diagram
ERD. 4 Metodologi yang Berorientasi Objek
Metodologi ini diperkenalkan sekitar tahun 1990 sebagai pelengkap untuk pemrograman yang terlebih dahulu telah
mengadopsi metode berorientasi objek. Beberapa alat dan tehnik
yang digunakan antara lain dynamic and case scenario.
2.12. Web