Anda di halaman 1dari 18

BAB II

EVOLUSI STRATEGI PERKEMBANGAN SOFTWARE

A. Pendahuluan

Selama tiga dekade pertama dari era komputerisasi, tantangan utama adalah
mengembangkan hardware komputer yang dapat mengurangi biaya pengolahan dan
penyimpanan data. Selama dekade tahun 1980 an, kemajuan yang pesat dari mikro
elektronik menghasilkan kemampuan komputer yang lebih baik pada tingkat biaya
yang lebih rendah. Namun masalah sekarang berbeda. Tantangan utama adalah
mengurangi biaya dan memperbaiki kualitas solusi berbasis komputer (Solusi yang
diimplementasikan dengan mempergunakan software). Software merupakan faktor
kunci dalam keberhasilan suatu usaha, software dapat membedakan satu perusahaan
dari perusahan saingannya.

B. Tantangan Pada Perkembangan Rekayasa Perangkat Lunak

a) Tantangan Warisan (Legacy)


Tantangan memelihara dan meng-update Perangkat Lunak sedemikian rupa,
sehingga biaya yangg berlebihan dapat dihindari dan layanan bisnis yg penting
tetap dilakukan.
b) Tantangan Heterogenitas
Tantangan teknik pengembangan untuk membangun perangkat lunak yang
dapat diandalkan dan cukup flexibel untuk menghadapi heterogenitas yang
ada.
c) Tantangan Pengiriman
Tantangan mempersingkat waktu kirim sistem besar dan kompleks, tanpa
mengurangi kualitas sistem.

C. Proses Dan Model Perkembangan Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak Bab II 1


Menurut Fritz Badar, software engineering adalah disiplin ilmu yang menerapkan
prinsip-prinsip engineering agar mendapatkan software yang ekonomis yang dapat
dipercaya dan bekerja lebih efisien pada mesin yang sebenarnya.

Software engineering terdiri dari 3 elemen kunci, yaitu :

1. Metode,
1. Peralatan (tools),
1. Prosedur,
yang memungkinkan manajer mengontrol proses pengembangan software dan
memberikan praktisi dasar yang baik untuk pembentukan software berkualitas tinggi.

a) Metode Software Enginnering


Metode software engineering memberikan tehnik-tehnik bagaimana
membentuk software. Metode ini terdiri dari serangkaian tugas :

 Perencanaan & estimasi proyek

 Analisis kebutuhan sistem dan software

 Desain struktur data

 Arsitektur program dan prosedur algoritma

 Coding

 Testing dan pemeliharaan

b) Peralatan Software Engineering


Peralatan software engineering memberikan dukungan atau semiautomasi
untuk metode. Contohnya :

 CASE (Case Aided Software Engineering), yaitu suatu software yang


menggabungkan software, hardware, dan database software engineering
untuk menghasilkan suatu lingkungan software engineering.

 Database Software Engineering, adalah sebuah struktur data yang berisi


informasi penting tentang analisis, desain, kode dan testing.

 Analogi dengan CASE pada hardware adalah : CAD, CAM, CAE

c) Prosedur Software Engineering


Terdiri dari :

Rekayasa Perangkat Lunak Bab II 2


 Urut-urutan di mana metode tersebut diterapkan

 Dokumen

 Laporan-laporan

 Formulir-formulir yang diperlukan

 Mengontrol kualitas software

 Mengkoordinasi perubahan yang terjadi pada software

Dalam penguasaan atas model software engineering atau software engineering


paradigm, dikenal ada 3 metode yang luas dipergunakan, yaitu :

1. Classic Life Cycle Pradigm - Model Water Fall - Model Siklus Hidup
Klasik

SISTEM ENGINEERING

ANALYS

DESIGN

CODE

TESTING

MAINTENANCE

Keterangan :

a. System Engineering and Analysis


Karena software merupakan bagian terbesar dari sistem, maka pekerjaan dimulai
dengan cara menerapkan kebutuhan semua elemen sistem dan mengalokasikan
sebagian kebutuhan tersebut ke software. Pandangan terhadap sistem adalah
penting, terutama pada saat software harus berhubungan dengan elemen lain,
seperti :

 Hardware

 Software

 Database

b. Analisis kebutuhan software


Suatu proses pengumpulan kebutuhan software untuk mengerti sifat-sifat program
yang dibentuk software engineering, atau analis harus mengerti fungsi software
Rekayasa Perangkat Lunak Bab II 3
yang diinginkan, performance dan interface terhadap elemen lainnya. Hasil dari
analisis ini didokumentasikan dan direview / dibahas / ditinjau bersama-sama
customer.

c. Design
Desain software sesungguhnya adalah proses multi step (proses yang terdiri dari
banyak langkah) yang memfokuskan pada 3 atribut program yang berbeda, yaitu :

 Struktur data

 Arsitektur software

 Rincian prosedur

Proses desain menterjemahkan kebutuhan ke dalam representasi software yang


dapat diukur kualitasnya sebelum mulai coding. Hasil dari desain ini
didokumentasikan dan menjadi bagian dari konfigurasi software.

d. Coding
Desain harus diterjemahkan ke dalam bentuk yang dapat dibaca oleh mesin

e. Testing
Segera sesudah objek program dihasilkan, pengetesan program dimulai. Proses
testing difokuskan pada logika internal software. Jaminan bahwa semua
pernyataan atau statements sudah dites dan lingkungan external menjamin bahwa
definisi input akan menghasilkan output yang diinginkan.

f. Maintenance
Software yang sudah dikirim ke customer data berubah karena

 Software mengalami error

 Software harus diadaptasi untuk menyesuaikan dengan lingkungan external,


misalnya adanya sistem operasi baru atau peripheral baru.

 Software yang lebih disempurnakan karena adanya permintaan dari customer.

Masalah yang dihadapi dari model siklus hidup klasik adalah :

 Proyek yang sebenarnya jarang mengikuti aliran sequential yang ditawarkan


model ini. Iterasi (Pengulangan) selalu terjadi dan menimbulkan masalah pda
aplikasi yang dibentuk oleh model ini.

Rekayasa Perangkat Lunak Bab II 4


 Seringkali pada awalnya customer sulit menentukan semua kebutuhan secara
explisit (jelas).

 Customer harus sabar karena versi program yang jalan tidak akan tersedia
sampai proyek software selesai dalam waktu yang lama.
2. Prototype Paradigma

REQUIMENTS GATHERING

"QUICK DESIGN"

BUILD PROTOTYPE

EVALUATED AND REFINEMENTS

ENGINEER PRODUCT

Keterangan :

Seringkali seorang customer sulit menentukan input yang lebih terinci, proses yang
diinginkan dan output yang diharapkan. Tentu saja ini menyebabkan developer tidak
yakin dengan efisiensi alogoritma yang dibuatnya, sulit menyesuaikan sistem operasi,
serta interaksi manusia dan mesin yang harus diambil. Dalam hal seperti ini,
pendekatan prototype untuk software engineering merupakan langkah yang terbaik.
Prototype sebenarnya adalah suatu proses yang memungkinkan developer membuat
sebuah model software.

Ada 2 bentuk dari model ini, yaitu :

a. Paper Prototype
Menggambarkan interaksi manusia dan mesin dalam sebuah bentuk yang
memungkinkan user mengerti bagaimana interaksi itu terjadi.

b. Working Prototype
Adalah prototype yang mengimplementasikan beberapa bagian dari fungsi software
yang diinginkan seperti pada pendekatan pengembangan software. Model ini dimulai
dengan :

 Pengumpulan kebutuhan developer dan customer

 Menentukan semua tujuan software

 Mengidentifikasi kebutuhan-kebutuhan yang diketahui

Hasil dari pengumpulan kebutuhan diteruskan pada Quick Design. Quick Design ini
memfokuskan pada representasi aspek-aspek software yang dapat dilihat oleh user,
Rekayasa Perangkat Lunak Bab II 5
misalnya format input dan output, selanjutanya dari desain cepat diteruskan pada
pembentukan prototype (langkah ke 3). Prototype ini dievaluasi oleh customer / user
dan digunakan untuk memperbaiki kebutuhan-kebutuhan software. Proses iterasi
terjadi agar prototype yang dihasilkan memenuhi kebutuhan customer, juga pada saat
yang sama developer mengerti lebih baik tentang apa yang harus dikerjakan.

Masalah yang dihadapi oleh prototyping paradigm ini adalah :

 Customer hanya melihat pada apa yang dihasilkan oleh software, tidak
peduli pada hal-hal yang berhubungan dengan kualitas software dan
pemeliharaan jangka panjang.

 Developer seringkali menyetujui apa yang diterangkan oleh customer agar


prototype dapat dihasilkan dengan cepat. Akibatnya timbul pemilihan
sistem operasi / bahasa pemrograman yang tidak tepat.

3. Fourth Generation Tehnique Paradigm - Model tehnik generasi ke 4 /


4GT

REQUIMENTS GATHERING

"DESIGN STRATEGICS"

IMPLEMENTATION USING 4GT

PRODUCT

Istilah Fourth Generation Technique (4GT) meliputi seperangkat peralatan software


yang memungkinkan seorang developer software menerapkan beberapa karakteristik
software pada tingkat yang tinggi, yang kemudian menghasilkan source code dan
object code secara otomatis sesuai dengan spesifikasi yang ditentukan developer. Saat
ini peralatan / tools 4GT adalah bahasa non prosedur untuk :

 DataBase Query

 Pembentukan laporan ( Report Generation )

 Manipulasi data

 Definisi dan interaksi layar (screen)

 Pembentukan object dan source ( Object and source generation )

 Kemampuan grafik yang tinggi, dan


Rekayasa Perangkat Lunak Bab II 6
 Kemampuan spreadsheet

Keterangan gambar :

 Model 4GT untuk software engineering dimulai dengan rangkaian


pengumpulan kebutuhan. Idealnya, seorang customer menjelaskan kebutuhan-
kebutuhan yang selanjutnay diterjemahkan ke dalam prototype. Tetapi ini tidak
dapat dilakukan karena customer tidak yakin dengan apa yang diperlukan,
tidak jelas dalam menetapkan fakta-fakta yang diketahui dan tidak dapat
menentukan informasi yang diinginkan oleh peralatan 4GT.

 Untuk aplikasi kecil adalah mungkin bergerak langsung dari langkah


pengumpulan kebutuhan ke implementasi yang menggunakan bahasa non
prosedur fourth generation (generasi ke 4). Tetapi untuk proyek besar,
pengembangan strategi desain sistem tetap diperlukan, sekalipun kita
menggunakan 4GL. Penggunaan 4GT tanpa desain untuk proyek besar akan
menyebabkan masalah yang sama yang ditemui dalam pengembangan software
yang menggunakan pendekatan konvensional.

 Implementasi yang menggunakan 4GL memungkinkan developer software


menjelaskan hasil yang diinginkan yang kemudian diterjemahkan ke dalam
bentuk source code dan object code secara otomatis.

 Langkah yang terakhir adalah mengubah implementasi 4GT ke dalam sebuah


product. Selanjutnya developer harus melakukan pengetesan, pengembangan
dokumentasi dan pelaksanaan semua aktifitas lainnya yang diwujudkan dalam
model software engineering.

Masalah yang dihadapi dalam model 4GT adalah adanya sebagian orang yang
beranggapan bahwa :

 peralatan 4GT tidak semudah penggunaan bahasa pemrograman,


 source code yang dihasilkan oleh peralatan ini tidak efisien,
 pemeliharaan sistem software besar yang dikembangkan dengan 4GT
masih merupakan tanda tanya.

4. Model Kombinasi - Combining Paradigm

Rekayasa Perangkat Lunak Bab II 7


DAPAT LANGSUNG JIKA PENDEKATANNYA JELAS

PROTOTYPING ENGINEER
PRODUCT
REQUIMENTS APPLY
PROTOTYPE
GATHERINGS 4GL

CLASSIC LIFE
EVALUATE CYCLE

Keterangan :

Model ini menggabungkan keuntungan-keuntungan dari beberapa model sebelumnya.


Seperti pada model sebelumnya, model kombinasi ini dimulai dengan langkah
pengumpulan kebutuhan.

Pendekatan yang dapat diambil adalah pendekatan siklus hidup klasik (Analisis sistem
dan analisis kebutuhan software) atau dapat juga menggunakan pendekatan seperti
prototyping jika definisi masalahnya tidak terlalu formal.

Jika kebutuhan untuk fungsi dan performance software diketahui dan dimengerti,
pendekatan yang dianjurkan adalah model siklus hidup klasik. Sebaliknya, jika
aplikasi software menuntut interaksi yang sering antara manusia dan mesin,
membutuhkan algoritma yang tidak dapat dibuktikan, atau membutuhkan tehnik
output / kontrol, maka pendekatan yang dianjurkan adalah model prototyping.

Pada kasus seperti ini, 4GL dapat digunakan untuk mendapat prototype dengan cepat.
Segera sesudah prototype dievaluasi dan disempurnakan, langkah desain dan
implementasi dalam siklus hidup klasik diterapkan.

Dari model yang disebut di atas dapat diambil suatu kesimpulan, bahwa proses
pengembangan software terdiri dari 3 fase, yaitu :

1. Fase Definisi
Fase definisi memfokuskan pada “What”. Selama definisi ini, developer software
berusaha untuk :

 Mengidentifikasi informasi apa yang dikerjakan proses

 Fungsi dan performance apa yang diinginkan

 Interface apa yang dibutuhkan

 Hambatan desain apa yang ada, dan

 Kriteria validasi apa yang dibutuhkan untuk menetapkan keberhasilan sistem.

Rekayasa Perangkat Lunak Bab II 8


2. Fase Pengembangan
Fase pengembangan berfokus pada “How”. Selama pengembangan, developer
software berusaha menjelaskan :

 Bagaimana struktur data dan arsitektur software yang didesain

 Bagaimana rincian prosedur diimplementasikan ( diterapkan )

 Bagaimana desain diterjemahkan ke dalam bahasa pemrograman atau bahasa


non prosedur, dan

 Bagaimana pengetesan akan dilaksanakan.

3. Fase Pemeliharaan
Fase pemelihaaan berfokus pada “Change” atau perubahan. Ini dapat disebabkan :

 Perubahan karena software error ( Corective Maintenance )


 Perubahan karena software disesuaikan / diadaptasi dengan lingkungan
external, misalnya munculnya CPU baru, sistem operasi baru ( Adaptive
Maintenance )
 Perubahan software yang disebabkan customer / user meminta fungsi
tambahan, misalnya fungsi grafik, fungsi matematik, dll ( Perfective Maintenance )

D. Kemajuan Strategi Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak pada awalnya muncul sebagai tanggapan pada krisis
pengembangan perangkat lunak tahun 1960an. Kondisi ini ditingkatkan sebagai suatu
rekayasa bangun seperti tanggapan untuk kegagalan proyek, kerugian ekonomi yang
serius, keterlambatan penjadwalan, pasar yang kompetitip dan erus meningkatnya
tuntutan untuk mencari kemampuan, kualitas, dan kehandalan pada biaya yang
minimum. Status saat ini dari strategi perangkat lunak adalah hasil dari kemajuan yang
terus menerus seperti yang diuraikan dibawah ini :
a) Era Isolasi Manajemen
Pada Era Isolasi Manajemen, usaha yang dapat dipertimbankan telah diabdikan
untuk pengoptimalan sisi teknis dari system perangkat lunak dengan sedikit
penekanan secara relative pada sisi bisnis perangkat lunak sebagai bagian dari
strategi pengembangan. Sebuah scenario khusus untuk era ini diterapkan untuk
Rekayasa Perangkat Lunak Bab II 9
masalah bisnis yang dapat diuraikan dengan cepat olleh pelanggan (suatu
organisasi), sedangkan tim pengembangan perangkat lunak spesifik
mempertanyakan sifat alami dari masalah. Representasi bisnsis kemudian
memeberi tahu berapa lama proses pengembangan perengkat lunak akan berakhir.
Sampai system benar-benar diterapkan, keterlibtan manajemen terbatas pada
cakupan ini. Kecuali jika ada kebutuhan untuk informasi lebih lanjut. Era ini
dibedakan oleh ketergantungan yang lengkap dari pengguna bisnis pada
professional computer. Jika proyek melewati jadwal yang ditentukan, manejer
perusahaan secara relative tidak berdaya, kecuali untuk mengungkapkan
ketidakpuasan dan pelayanan (Thomsett 2000)
Selama era ini, model hidup tersruktur dan sekuensial ditandai dengan cara yang
ditempuh oleh pengembangan perangkat lunak telah dirasa terstruktur, dan
tervisualisasi. Pendekatan meniru skema organisasi didalam struktur manajemen
konvensiional didalam organisasi menurut bisnis yang berjalan dengan manajemen
tingkat tinggi.
Penekanan kuat ditempatkan pada pusat control dan pembatasan pada fleksibilitas
untuk manajemen operasional.
1. Jangka waktu tahun 1960an samapi akhir 1970an
2. Teknologi computer yang sangat besar
3. Keterlibatan manajemen tidak ada keterlibatan dan ketergantungan
profesionalisme computer
4. Proses pengembangan perangkat lunak, nilai dari perangkat lunak ada di
perangkat lunak.
5. Sifat dari aplikasi system yang besar dan masalah terstruktur (aplikasi proses
transaksi merupakan hal umum)
6. Struktur tim, tim teknis 100%
7. Proses model siklus hidup yang dikembangkan model air terjun.
b) Era Rekayasa Perangkat Lunak Tradisional
Proses pengembangan masih dibawah control yang secara realtif lengkap oleh
professional perangkat lunak dengan keikutsertaan manajemen dan pengguna yang
jauh lebih besar. Pengulangan umpan balik telah disatukan menjadi model
rekayasa dengan model pengukuran kualitas jarak jauh dengan aktualisasi dan
hasil yang diinginkan. Hal ini dilihat dari versi yang telah modifikasi dari model
air terjun yang menyatukan dua arah antara tahap yang berbeda dari

Rekayasa Perangkat Lunak Bab II 10


pengembangan. Contoh dari model air terjun yang telah dimodifiksai adalah model
overlooping dan dengan subproyek.
Periode yang diperlihatkan masih terbatas pada masuka pengguna dalam tahap
analisis dan pengujian. Struktur tim kadang-kadang mengizinkan spesialis bisnis
untuk menyajikan kebutuhan bisnis. Namun spesialis bisnis hingga kini telah
mempunyai tanggungjawab.yang jelas sehingga tidak berperan efektif karena
tantangan utama untuk pengembang perangkat lunak adalah untuk membuat
system kerja dengan kemampuan yang sesuai atau tidak ada perhatian untuk
mengukur karakteristik kinerja bisnis dari system tersebut.
Dengan selalu berhubungan ada suatu kecenderungan yang kuat untuk menguji
dan mengevaluasi system informasi dari sebuah perspektif teknis dengan
mengabaikan nilai bisnis mereka. Bahkan ketika manajemen menginginkan
penyelidikan keuangan dari system informasi, sering kali latar belakang yang
berkaitan dengan perangkat lunak antara penyelidik dan pengawas tidak cukup
untuk menyelesaikan perannya secara efektif.
1. Jangka waktu pertengahaan akhir 1970an
2. Teknologi komunikasi data dan jaringan
3. Keterlibatan manajemen yang terbatas untuk mengawasi analisis system,
pengujian system dan dokumentasi. Keterlibatan tersebut digunakan untuk
istilah dan professional perangkat lunak. Birokrasi juga menandai era ini.
4. Metric bisnis secaraa implicit disatukan dengan kemunculan pendekatan yang
lebih terdisiplin kearah pengembangan perangkat lunak, manajemen proyek
dan jaminan kualitas. Penggabungan dari factor yang dikendalikan
manusia(social politik) tidak terlihat dalam proses ini.
5. Sifat dan aplikasi; Sistem informasi Manajemen (SIM) dan Sistem
Pengambilan Keputusan (SPK).
6. Struktur tim teknis; kadang mengizinkan analis bisnis untuk dilibatkan
7. Proses ; model air terjun yang dimodifikasi.
c) Era Bisnis Evaluasi dari Rekayasa Perangkat Lunak
Pengembang perangkat lunak menyadari bahwa computer tidak bisa memecahkan
permasalahan bisnis dengan bebas, sebab permasalahan itu memerlukan lebih dari
keahlian teknis. Namun pada era ini manajer bisnis mulai mengambil control dari
pengembangan piranti lunak. Walaupun tim-tim pengembangan masih berorientasi
teknis, kinerjanya dinilai dari hasil reputasi bisnis yang bernilai baik, yaitu dari

Rekayasa Perangkat Lunak Bab II 11


produk mereka, termasuk return of investment, net present value, BEP,
peminimalan resiko, kepuasan pelanggan dan nilai tambah untuk jangka panjang.
Era ini juga menjadi kelahiran dari ekonomi perangkatn lunak, informasi,
ekonomi, yang telah mulai untuk menerima perhatian yang serius pada tahun
1960an. Memainkan peran penting dalam evolusi ekonomi perangkat lunak. Akar
dari ekonomi perangkat lunak kembali pada awal tahun 1970an (Boehm dan
Sulivan 2000)
Dasar pemikiran yang digunakan adalah nilai yang digunakan untuk kebutuhan
yang berbeda, latar belakang dan lingkunagn kolaboratif. Karakteristik berikut
mencirikan era ini :
Pada kenyataannya, control tidak benar-benar tidak menjadi bagian dari proses.
Kondisi ini menciptakan permasalahan baru antara hal teknis dan daerah bisnis
dalam kaitannya dengan tujuan yang tidak sejenis dan latar belakang dan minat
yang berbeda.
1. Jangka waktu tahun 1980 an
2. Teknologi computer PC
3. Keterlibatan manajemen. Permulaan dari perataan strategi antara
pengembangan perangkat lunak dan bisnis
4. Proses pengembangan perangkat lunak dipandang sebagai suatu investasi yang
kritis didalam organisasi yang harus secara berhati-hati dievaluasi dari
perspektif bisnis
5. Sifat dari aplikasi, aplikasi desktop, paket-paket aplikasi umum untuk individu
dan organisasi
6. Struktur tim, masih teknis, tetapi dimonitor oleh manajer bisnis. Tanggung
jawab yang baru dengan kuat dipaksakan dalam hal study kelayakan, visi
pemasaran dan dukungan dari pelanggan
7. Proses model siklus hidup yang dikembangkan adalah model spiral.

d) Era Kedewasaan : Era dari Rekayasa Perangkat Lunak yang Dikendalikan Bisnis
Era ini dibedakan oleh suatu persekutuan dan kerjasama antara komputasi dan
daerah bisnis dengan system yang dianalisis dan dirancang pada sesi aplikasi
gabungan.(joint application session). Dasar pemikiran yang digunakan adalah
untuk menciptakan dari kerebutuhan yang berbeda , latar belakang dan lingkungan
yang kolaboratif . Karakteristik berikut mecirikan periode ini :

Rekayasa Perangkat Lunak Bab II 12


1. Penggunaan dari model proses perangkat lunak dan lingkungan yang
terintegerasi (menganalisa dan mendukung factor manusia).
2. Proses Perangkat Lunak (pemrograman proses, Capability Maturity Model
(CMM) oleh Software Engineering Institute)
3. Lingkungan terintegerasi dan proses dan peningkatan proses perangkat lunak
(integerasi alat).
4. Menganalisis dan mendukung factor manusia (analisis protocol dari factor
manusia, mendukung komunikasi untuk pembuatan consensus dan pertukaraan
informasi).
5. Teknologi berorientasi objek (permodelan objek pola desain kerangka kerja
aplikasi, komponen-komponen perangkat lunak)
6. Komputasi terdistribusi (bahasa berorientasi objek yang bersamaan bahasa
berorientasi objek terdistribusi, middleware, agen perangkat lunak, objek
bisnis, rekayasa ulang proyek bisnis yang berorientasi objek)
7. rekayasa web (aplikasi e bisnis, pengembangan perangkat lunak yang
kolaboratif terdistribusi, penggunaan open source, pengujian pemeliharaan
perangkat lunak remote).

Metodologi pengembangan Agile (manajemen proyek radikal, dan extreme


programming ) adalah sebagai berikut :
1. Jangka waktu tahun 1990 an dan sekarang
2. Teknologi internet
3. Keterlibatan manajemen; manajemen dengan tim-tim pengembangan dalam
proses pengembangan perangkat lunak. Keterlibatan tingkat tinggi dari
pengguna tiap-tiap tingkat.
4. Proses pengembangan Perangkat Lunak; proses perangkat lunak yang
dikendalikan penciptaan.
5. Sifat dari aplikasi ; berbasis web, tanpa kabel, kombinasi perangkat keras-
lunak, integrasi yang dikendalikan perusahaan, focus yang berat antar muka
pengguna dan system real time.
6. Struktur tim; antar disiplin ilmu dan kebutuhan yang berbeda dari berbagai
tahap dan proses pengembangan.
7. Proses model siklus hidup yang dikembangkan, penyerahan yang evolusioner,
pengembangan iterative RPM, banyak versi dari RAD, COTS, Agile dan lain-
lain.
Rekayasa Perangkat Lunak Bab II 13
E. Karakteristik Dari Perkembangan Rekayasa Perangkat Lunak
Karakteristik

Perangkat Lunak lebih merupakan elemen logika dan bukan merupakan elemen
system fisik. Menurut Pressman (2001), ada beberapa karakteristik perangkat lunak
dibandingkan dengan perangkat keras yang perlu diketahui, yaitu:

a. Perangkat lunak itu dibangun atau direkayasa, tidak dihasilkan dengan


menggunakan mesin/tangan seperti perangkat keras.
b. Perangkat lunak itu tidak akan usang atau lusuh sejalan dengan waktu.

c. Perangkat lunak akan terus menerus dibuat menurut pesanan, sadangkan


perangkat keras akan disusun dengan menggunakan komponen

Perkembangan Rekayasa Perangkat Lunak

Evolusi software

1950 1960 1970 1980 1990 2000

 Tahun-Tahun Pertama :

 Batch Orientation

Suatu orientasi di mana proses dilakukan setelah data dikumpulkan dalam


satuan waktu tertentu, atau proses dilakukan setelah data terkumpul, lawan dari
batch adalah ONLINE atau Interactive Process. Keuntungan dari Interactive
adalah mendapatkan data yang selalu up to date.

 Limmited distribution

Suatu penyebaran software yang terbatas pada perusahaan-perusahaan tertentu.

 Custom software

Software yang dikembangkan berdaasarkan perusahaan-perusahaan tertentu.

Rekayasa Perangkat Lunak Bab II 14


 Era Kedua :

 Multi user

Suatu sistem di mana satu komputer digunakan oleh beberapa user pada saat
yang sama.

 Real Time

Suatu sistem yang dapat mengumpulkan, menganalisa dan mentransformasikan


data dari berbagai sumber, mengontrol proses dan menghasilkan output dalam
mili second.

 Database

Perkembangan yang pesat dari alat penyimpan data yang OnLine


menyebabkan muncul generasi pertama DBMS (DataBase Management
System).

 Product Software

Adalah software yang dikembangkan untuk dijual kepada masyarakat luas.

 Era Ketiga :

 Distributed system

Suatu sistem yang tidak hanya dipusatkan pada komputer induk (Host
computer), daerah atau bidang lainnya yang juga memiliki komputer yang
ukurannya lebih kecil dari komputer induk. Lawan dari distributed system
adalah Centralized System.

 Embedded Intelegence

Suatu product yang diberi tambahan “Intellegence” dan biasanya ditambahkan


mikroprocessor yang mutakhir. Contohnya adalah automobil, robot, peralatan
diagnostic serum darah.

 Low Cost Hardware

harga hardware yang semakin rendah, ini dimungkinkan karena munculnya


Personal Computer.

 Consummer Inpact

Rekayasa Perangkat Lunak Bab II 15


Adanya perkembangan komputer yang murah menyebabkan banyaknya
software yang dikembangkan, software ini memberi dampak yang besar
terhadap masyarakat.

 Era Keempat :

 Expert system

Suatu penerapan A.I. (Artificial Intellegence) atau kecerdasan buatan pada


bidang-bidang tertentu, misalnya bidang kedokteran, komunikasi, dll.

 Artificial Intellegence Machine

Suatu mesin yang dapat meniru kerja dari sebagian otak manusia. Misalnya
mesin robot, komputer catur.

 Parallel Architecture

Arsitektur komputer yang memungkinkan proses kerja LAN paralel, yang


dimungkinkan adanya prosesor berbeda dalam satu komputer

Rekayasa Perangkat Lunak Bab II 16


Rekayasa Perangkat Lunak Bab II 17
Rekayasa Perangkat Lunak Bab II 18

Anda mungkin juga menyukai