Dokumen tersebut membahas tentang evolusi perkembangan rekayasa perangkat lunak, mulai dari pengertian perangkat lunak dan rekayasa perangkat lunak, karakteristik perangkat lunak, aplikasi perangkat lunak, dan evolusi sistem perangkat lunak dari era ke era."
1. Evolusi Perkembangan Rekayasa Perangkat Lunak
Febry San Pratama (125623251)
D3 Manajemen Informatika – D
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI SURABAYA
2. A. Perangkat Lunak
1. Pengertian Perangkat Lunak
Gambaran perangkat lunak pada sebuah buku teks mungkin mengambil bentuk berikut : (1)
perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang
diinginkan. (2) Struktur data yang memungkinkan program memanipulasi informasi secara
proporsional, dan (3) dokumen yang menggambarkan operasi kegunaan program.
2. Karakteristik Perangkat Lunak.
Perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen fisik.Dengan
demikian, perangkat lunak memiliki ciri yang berbeda dari perangkat keras. Ciri-ciri yang
membedakan tersebut antara lain :
1. Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk yang klasik.
Meskipun terdapat kesamaan antara pembuatan perangkat keras dan pengembangan perangkat
lunak, yaitu kualitas yang tinggi bisa dicapai melalui perancangan yang baik, tetapi di dalam fase
pembuatan perangkat keras selalu saja ditemukan masalah kualitas yang tidak mudah disesuaikan
dengan perangkat lunak.
2. Perangkat lunak tidak pernah usang
kematian
segera
usang
Tingkat
Kegagalan
Waktu
Gambar 1.1. Kurva Kegagalan Perangkat Keras
Gambar 1.1 menggambarkan laju kegagalan sebagai fungsi waktu untuk perangkat keras,
disebut “kurva bathtub”, menunjukkan bahwa perangkat keras mengalami laju kegagalan yang
sangat tinggi pada awal hidupnya, yang disebabkan oleh perancangan atau cacat pembuatannya.
Setelah diperbaiki maka laju kegagalan menurun, kemudian naik lagi pada saat komponen perangkat
keras terkena penumpukkan debu, getaran, suhu tinggi, serta pengaruh lingkungan yang lain.
Secara singkat dapat dikatakan bahwa perangkat keras sudah mulai usang.Sedangkan
perangkat lunak tidak rentan terhadap pengaruh lingkungan yang merusak dan menyebakan
perangkat keras menjadi using.
Gambar 1.2 secara teoritis menggambarkan tingkat kegagalan perangkat lunak. Kesalahankesalahan yang tidak ditemukan akan menyebabkan tingkat kegagalan tinggi pada awal hidup
program, tetapi itu dapat diperbaiki sehingga kurvanya menjadi datar. Secara singkat perangkat
lunak tidak usang, meskipun pada kenyataannya semakin lama makin memburuk.
3. Pada tingkat yang sama
sampai usang
Tingkat
Kegagalan
Waktu
Gambar 1.2. Kurva Kegagalan Perangkat Lunak
Selama masa hidupnya, perangkat lunak mengalami perubahan (pemeliharaan). Sewaktu
perubahan dibuat, kesalahan lain akan muncul yang menyebabkan kurva kegagalan naik secara
cepat. Lihat Gamabr 1.3. Setelah semua kesalahan diperbaiki maka kurva akan menjadi normal
kembali. Kemudian secara perlahan tingkat laju kesalahan minimum mulai naik – perangkat lunak
mulai memburuk sehubungan perubahan yang dilakukan.
Laju kegagalan meningkat
sehubungan dengan efek
sampingan dari perubahan
Laju
Kegagalan
Kurva aktual
perubahan
Kurva ideal
Gambar 1.3. Kurva Kegagalan Aktual Perangkat Lunak
Waktu
Aspek lain dari keusangan yang membedakan antara perangkat keras dan lunak adalah bila
perangkat keras telah usang maka bisa diganti dengan suku cadangnya, tetapi tidak demikian dengan
perangkat lunak.
3. Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari
komponen yang sudah ada.
Perhatikan bagaimana perangkat keras komputer dirancang dan dibuat.Pengembang desain
menggambar skema sederhana dari rangkaina digital, melakukan serangkaian analisis dasar untuk
memastikan bahwa fungsi yang tepat dapat dicapai serta kemudian menyesuaikan ke katalog
komponen digital. Setiap IC (chip) mempunyai nomor tersendiri, sebuah fungsi yang telah
tervalidasi, interface yang didefinisikan dengan baik, serta rangkaian standar tuntunan integrasi.
Setelah masing-masing komponen diseleksi, perangkat keras bisa dipesan secara terpisah.Tidak
demikian dengan pengembangan perangkat lunak, katalog komponen perangkat lunak tidak
ada.Memang memungkinkan memesan perangkat lunak secara terpisah, tetapi tetap merupakan
satu kesatuan yang lengkap, bukan sebagai komponen yang dapat dipasang ke dalam programprogram yang baru.
4. 3. Evolusi Perangkat Lunak.
Pada awal tahun 1990-an Toffler menggambarkan adanya pergeseran kekuatan dimana struktur
kekuatan lama (pemerintah, pendidikan, industri, dan militer) mengalami disintegrasi ketika
komputer membawa ke arah demikratisasi pengetahuan. Sedangkan pada tahun 1992 Yourdon
mengkawatirkan perusahaan-perusahaan Amerika akan kehilangan sisi kompetitif mereka di dalam
bisnis yang berhubungan dengan perangkat lunak dan meramalkan penurunan serta jatuhnya para
pemrogram Amerika. Tahun 1993 Hammer dan Champy berpendapat bahwa teknologi informasi
akan memainkan peranan sentral dalam pengembangan kerjasama. Pada pertengahan tahun 1990
daya tembus komputer dan perangkat lunak menimbulkan banyak pendapat bahwa komputer
menekankan sisi legitimasi tetapi mengabaikan keuntungan besar yang diperoleh.
Perkembangan perangkat lunak bisa digambarkan pada Gambar 1.4.Pada masa awal era
komputer, perangkat lunak dilihat hanya sebagai suatu permenungan.Pemrogram komputer
menjadi sebuah seni “seat-of-pants” dimana di situ terdapat beberapa metode yang
sistematis.Perkembangan perangkat lunak sebenarnya tidak bisa diatur sampai terjadi jadwal yang
bergeser, atau biaya yang mulai melonjak. Para pemrogram kemudian berusaha untuk membuat
semuanya benar kembali, dan dengan cara yang heroik akhirnya mereka berhasil. Pada masa itu
perangkat lunak dirancang secara khusus untuk aplikasi tertentu saja dan hanya memiliki areal
distribusi yang terbatas.Produk perangkat lunak yang dijual kepada pelangan atau masyarakat masih
langka. Kebanyak dikembangkan dan digunakan oleh orang atau organisasi yang sama, dibuat untuk
dipakai sendiri.
Era kedua evolusi sistem komputer antar pertengahan tahun 1960 dan 1970-an. Sistem
multiprogram dan multiuser memperkenalkan konsep baru interaksi manusia dan mesin.Teknik
interaktif membuka sebuah dunia aplikasi yang baru serta tingkat kecanggihan perangkat lunak dan
perangkat keras yang baru pula. Sistem real-time mampu melakukan pengontrolan dalam
menghasilkan output tidak lagi dalam skala menit, melainkan detik. Kemajuan dalam penyimpanan
on-line membawa ke generasi pertama sistem mamajemen database.Pada era kedua ini juga
ditandai dengan kehadiran software-house.Produk perangkat lunak didistribusikan ke pasar yang
lebih luas dan multidisiplin.Program mainframe dan minikomputer didistribusikan kepada
masyarakat luas.Pengusaha, pemerintah, industri, serta akademisi masing-masing mengembang-kan
paket perangkat lunak paling mewah dengan mengeruk banyak uang.
Tahun-tahun awal
Era kedua
Era Ketiga
Era keempat
- Orientasi batch
- Multi user
- Sistem terdistribusi
- Sistem desk-top
bertenaga kuat
- Distribusi
terbatas
- Realtime
- embedded
intelegence
- Teknologi berorientasi
objek
- Perangkat lunak
kustomasi
- Database
- Perangkat keras
biaya rendah
- Sistem pakar
- Perangkat
lunak produk
- Jaringan saraf tiruan
- Komputasi paralel
- Komputer jaringan
5. 1950
1960
1970
1980
1990
Gambar 1.4. Evolusi Perangkat Lunak
2000
Era ketiga evolusi sistem komputer dimulai pertengahan tahun 1970-an dan berlangsung
lebih dari satu dekade penuh. Sistem terdistribusi dan multikomputer menambah kompleksitas
sistem berbasis komputer.Jaringan area global dan lokal, jaringan komunikasi digital dengan
bandwidh yang tinggi serta pertambahan permintaan untuk akses “sesaat” sangat mendongkrak
perkembangan perangkat lunak.Era ketiga ini juga ditandai dengan kehadiran dan penyebaran
pemakaian mikroprosesor, sehingga produk-produk pintar, seperti automobil, microwave, robot
sampai peralatan kedokteran bisa dihasilkan. Yang paling penting pada era ini adalah munculnya
komputer personal (PC = Personal Computer).
Evolusi sistem komputer era keempat menjauhkan kita dari komputer individual dan
program komputer untuk menuju pengaruh kolektif dari komputer dan perangkat lunak.Mesin
desktop yang kuat yang dikontrol oleh sistem operasi yang canggih, jaringan lokal dan global, serta
didukung dengan aplikasi perangkat lunak yang maju, menjadi sebuah aturan.Arsitektur
penghitungan berubah dari lingkungan mainframe yang terpusat ke lingkungan klien/server yang
terdesentralisasi.Dan yang paling penting pada era ini adalah internet sudah dapat dilihat sebagai
perangkat lunak yang dapat diakses oleh para pemakai individual.
Tetapi selama era evolusi sistem berbasis komputer, serangkaian masalah yang berhubungan
ddengan perangkat lunak masih muncul dengan intensitas yang terus bertambah, misalnya :
1. Kemajuan perangkat keras terus berlajut, melampaui perkembangan perangkat lunak yang
sesuai dengan perangkat keras yang ada.
2. Kemampuan pengembangan perangakt lunak tidak cukup sepat untuk memenuhi kebutuhan
bisnis dan pasar.
3. Pemakaian komputer yang semakin luas membuat masyarakat semakin tergantung pada
perangkat lunak yang reliabel.
4. Sistem desain dan sumberdaya untuk mengembangkan perangkat lunak kurang memadai,
sehingga masih sulit untuk dibagun perangkat lunak dengan reliabilitas dan kualitas yang tinggi.
4. Aplikasi Perangkat Lunak
Perangkat lunak dapat diaplikasikan ke berbagai situasi dimana serangakaian langkah prosedural
(seperti algoritma) telah didefinisikan. Kandungan (content) dan determinasi informasi merupakan
faktor penting dalam menentukan sifat aplikasi perangkat lunak. Content mengarah pada arti dan
bentuk informasi yang masuk dan keluar. Misalnya, banyak aplikasi bisnis memakai data input
dengan struktur data lebih tinggi (misal database) dan mengahasilkan laporan yang sudah terformat.
Perangkat lunak yang mengontrol mesin otomatis menerima bentuk data diskrit dengan struktur
yang terbatas dan menghasulkan perintah mesin individual dalam ekskusi yang cepat.Sedangkan
determinasi informasi merujuk pada predikbilitas urutan dan timing informasi.
Berikut beberapa jenis aplikasi perangkat lunak :
a. Perangkat lunak sistem. Sekumpulan program untuk melayani program–program lain, misalnya
sistem operasi, kompiler, editor, utilitas pengatur file, driver, prosesor telekomunikasi.
6. b. Perangkat lunak real-time. Program-program untuk mengontrol/menganalisis/ memonitor
kejadian dunia nyata pada saat terjadinya. Misalnya program untuk mengontrol mesin industri.
c. Perangkat lunak bisnis. Program untuk pemrosesan informasi di dunia bisnis, mulai dari payroll,
account payable, inventory, post system, sampai perangkat lunak sistem informasi manajemen
yang bisa mengakses satu atau lebih database.
d. Perangkat lunak teknik dan ilmu pengetahuan. Jangkauan aplikasinya meliputi, asmronomi,
vulkanologi, kedokteran, analisis otomotif, biologi, mesin-mesin pabrik, sampai pada perangkat
bantu dalam perancangan (computer aided design) untuk konstuksi bangunan, komponen
elektronik, rancangan mesin, simulasi sitem, dan lain-lain.
e. Embeded Software. Program yang disertakan dalam suatu perangkat dan berfungsi untuk
mengontrol hasil serta sistem perangkat tersebut. Contoh : key pad control untuk microwave,
fungsi digital pada automobil (pengontrol bahan bakar, penampilan dash board, sistem rem, dll).
f.
Perangkat lunak komputer personal. Program–program yang bisa dijalankan pada komputer
personal. Contoh : pengolah kata, multimedia, hiburan, manajemen database, aplikasi keuangan
bisnis, dll.
g. Perangkat lunak kecerdasan buatan dan jaringan syaraf tiruan. Sistem pakar atau disebut juga
sistem berbasis pengetahuan. Program yang digunakan untuk menggerakkan/mengontrol robot,
permainan game, pengolah gambar dan pola (image dan voice).
B. Rekayasa Perangkat Lunak
1. Pengertian Rekayasa Perangkat Lunak
Pada tahun 1969 Fritz Bauer memberikan definisi rekayasa perangkat lunak adalah sebagai
berikut :
“The establishment and use of sound engineering principles in order to obtain economically
software that is reliable and work efficiently on real machines.”
Hampir setiap pembaca tergoda untuk menambah sendiri definisi tersebut, karena definisi
tersebut hanya menyinggung sedikit saja tentang aspek teknis dan kualitas perangkat lunak, dan
tidak secara langsung menyinggung kebutuhan dan kepuasan pelanggan, pengabaikan
pencamtuman pentingnya pengukuran dan matriks, tidak menyinggung pentingnya sebuah proses.
Apakah sound enginnering aplication yang dapat diaplikasikan kepada pengembangan komputer?
Bagaimana kita secara ekonomis membangun perangkat lunak sehingga menjadi dapat diandalkan
dan reliable?Apakah yang dibutuhkan untuk menciptakan program komputer yang bekerja secara
efisien pada lebih dari satu mesin riril yang berbeda?Pertanyaan-pertanyaan ini masih terus menjadi
tantangan bagi pengembangan perangkat lunak.
Pada tahun 1985 Richard Fairly mendefinisikan rekayasa perangkat lunak sebagai berikut :
“The technological and managerial dicipline concernment with systematic production and
maintenance of software products that are developed and modified on time and within cost
estimates.”
Definisi ini sudah menyinggung aspek teknis pengembangan perangkat lunak, pengelolaan
tim yang terlibat dalam pengembangan tersebut, pemeliharaan perangkat lunak yang telah
dikembangkan, serta waktu serta biaya pengem-bangan.
7. Kemudian pada tahun 1993, IEEE mengembangkan definisi yang lebih komprehensif yaitu
sebagai berikut :
Rekayasa perangkat lunak adalah :
(1) Aplikasi dari sebuah pendekatan kuantifiabel, disiplin, dan sistematis terhadap pengembangan,
operasi, dan pemeliharaan perangkat lunak; yaitu aplikasi dan rekayasa perangkat lunak;
(2) Studi tentang pendekatan-pendekatan tentang (1).
2. Era Evolusi Perangkat Lunak
a. Era Pioner
Bentuk perangkat lunak pada awalnya adalah sambungan-sambungan kabel ke antar
bagian dalam komputer, gambar berikut memperlihatkan orang yang sedang
menggunakan komputer. Cara lain dalam mengakses komputer adalah menggunakan
punched card yaitu kartu yang di lubangi. Penggunaan komputer saat itu masih
dilakukan secara langsung, sebuah program untuk sebuah mesin untuk tujuan tertentu.
Pada era ini, perangkat lunak merupakan satu kesatuan dengan perangkat kerasnya.
Penggunaan komputer dilakukan secara langsung dan hasil yang selesai di kerjakan
komputer berupa print out. Proses yang di lakukan di dalam komputer berupa baris
instruksi yang secara berurutan di proses.
b. Era Stabil
Pada era stabil penggunaan komputer sudah banyak di gunakan, tidak hanya oleh
kalangan peneliti dan akademi saja, tetapi juga oleh kalangan industri / perusahaan.
Perusahaan perangkat lunak bermunculan, dan sebuah perangkat lunak dapat
menjalankan beberapa fungsi, dari ini perangkat lunak mulai bergeser menjadi sebuah
produk. Baris-baris perintah perangkat lunak yang di jalankan oleh komputer bukan lagi
satu-satu, tapi sudah seperti banyak proses yang di lakukan secara serempak (multi
tasking). Sebuah perangkat lunak mampu menyelesaikan banyak pengguna (multi user)
secara cepat/langsung (real time). Pada era ini mulai di kenal sistem basis data, yang
memisahkan antara program (pemroses) dengan data (yang di proses).
c. Era Mikro
Sejalan dengan semakin luasnya PC dan jaringan komputer di era ini, perangkat lunak
juga berkembang untuk memenuhi kebutuhan perorangan. Perangkat lunak dapat di
bedakan menjadi perangkat lunak sistem yang bertugas menangani internal dan
perangkat lunak aplikasi yang di gunakan secara langsung oleh penggunannya untuk
keperluan tertentu. Automatisasi yang ada di dalam perangkat lunak mengarah ke suatu
jenis kecerdasan buatan.
d. Era Modern
Saat ini perangkat lunak sudah terdapat di mana-mana, tidak hanya pada sebuah
superkomputer dengan 25 prosesornya, sebuah komputer genggampun telah di lengkapi
dengan perangkat lunak yang dapat di sinkronkan dengan PC. Tidak hanya komputer,
bahkan peralatan seperti telepon, TV, hingga ke mesin cuci, AC dan microwave, telah di
tanamkan perangkat lunak untuk mengatur operasi peralatan itu. Dan yang hebatnya
lagi adalah setiap peralatan itu akan mengarah pada suatu saat kelak akan dapat saling
terhubung. Pembuatan sebuah perangkat lunak bukan lagi pekerjaan segelentir orang,
tetapi telah menjadi pekerjaan banyak orang, dengan beberapa tahapan proses yang
melibatkan berbagai disiplin ilmu dalam perancangannya. Tingkat kecerdasan yang di
tunjukkan oleh perangkat lunak pun semakin meningkat, selain permasalahan teknis,
perangkat lunak sekarang mulai bisa mengenal suara dan gambar.
8. Setelah kita membahas rekayasa perangkat lunak, kita sedikit mundur, untuk membahas evolusi
perangkat lunak. Pengembangan perangkat lunak dapat dibagi menjadi 4 tahap, yaitu :
Tahap Pertama (1950 – 1960)
Evolusi perangkat lunak tahap pertama dimulai pada awal 1950-an sampai pertengahan
1960. Pengembangan perangkat lunak pada tahap pertama mempunyai ciri-ciri
berorientasi batch, distribusisoftware terbatas untuk kalangan tertentu sehingga apabila ada
perusahaan yang ingin dibuatkan software khusus harus memesan terlebih dahulu.
Tahap Kedua ( 1960 – 1970)
Evolusi Perangkat Lunak Tahap Kedua dimulai pertengahan tahun 1960-an sampai awal
tahun 1970-an. Pengembangan perangkat lunak mempunyai ciri-ciri multi user. Pengguna
dari software sudah banyak dan bisa saling berbagi. Ciri ini menunjukkan ada
perkembangan baru yaitu interkasi manusia dan komputer (Human Computer Interaction).
Selain itu, ciri dari tahap kedua ini adalah real time. Real Time disini adalah suatu kondisi
dimana sistem dapat mengumpulkan, menganalisa dan mentransformasikan data dari
banyak sumber kemudian mengatur proses serta menghasilkan output yang diinginkan.
Dalam tahap ini, sudah banyak juga paket perangkat lunak yang beredar di pasaran serta
muncul istilah database dalam perangkat lunak.
Tahap Ketiga (1970 – 1990)
Evolusi Perangkat lUnak tahap ketiga, dimulai pertengahan tahun 1970 sampai awal tahun
1990. Pengembangan perangkat lunak sudah maju sedemikian pesat. Perangkat lunak
sudah menggunakan sistem terdistribusi, sehingga penyampaian informasi dari komputer
sumber ke komputer tujuan akan terasa sangat cepat. Dalam era ini, perangkat keras dari
suatu komputer harganya sangat murah. Selain itu, pesanan perangkat lunak sudah sangat
mendominasi dari penyelesaian suatu masalah sehingga penggunaan software pada masa
itu sudah sedemikian jauh.
Tahap Keempat (1990 – 2000)
Evolusi Perangkat Lunak Tahap Keempat dimulai tahun 1990 sampai tahun 2000.Pada tahap
ini, perangkat lunak sudah mendominasi dari pengembangan perangkat keras, sehingga
perangkat keras dalam hal ini komputer sangat dikendalikan oleh suatu sistem operasi.
TIngkat kecerdasan dari perangkat lunak semakin ditingkatkan sehingga perangkat lunak
atau software dilatih mempunyai kecerdasan seperti yang dimilik manusia. Terbukti dengan
adanya penemuan kecerdasan buatan, jaringan syaraf tiruan, sistem pakar dan logika
fuzzy.Jaringan komputer, pemrosesan komputer paralel sangat mendominasi pada era ini.
Dan, pada masa ini pula pemrograman sudah berorientasi obyek (OOP).