SEJARAH
SINGKAT REKAYASA PERANGKAT LUNAK
·
1945 - 1965: Awal
Istilah
software engineering digunakan pertama kali pada akhir 1950-an dan awal 1960- an.
Saat itu, masih terdapat debat tajam mengenai aspek engineering dari
pengembangan perangkat lunak.
Pada
tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi tentang
rekayasa perangkat lunak, yang memberikan dampak kuat terhadap perkembangan
rekayasa perangkat lunak. Banyak yang menganggap bahwa dua konferensi inilah
yang menandai awal resmi profesi rekayasa perangkat lunak.
·
1965 - 1985: krisis perangkat lunak
Pada
tahun 1960-an hingga 1980-an, banyak masalah yang ditemukan para praktisi pengembangan
perangkat lunak. Banyak projek yang gagal, hingga masa ini disebut
sebagai krisis perangkat lunak. Kasus kegagalan
pengembangan perangkat lunak terjadi mulai dari projek yang melebihi anggaran,
hingga kasus yang mengakibatkan kerusakan fisik dan kematian. Salah satu kasus
yang terkenal antara lain meledaknya roket Ariane akibat kegagalan perangkat
lunak.
·
1985 - kini: tidak ada senjata pamungkas
Selama
bertahun-tahun, para peneliti memfokuskan usahanya untuk menemukan teknik jitu
untuk memecahkan masalah krisis perangkat lunak.
Berbagai
teknik, metode, alat, proses diciptakan dan diklaim sebagai senjata pamungkas
untuk memecahkan kasus ini. Mulai dari pemrograman terstruktur, pemrograman
berorientasi object, perangkat pembantu pengembangan perangkat lunak (CASE
tools), berbagai standar, UML hingga metode formal
diagung-agungkan sebagai senjata pamungkas untuk menghasilkan software yang
benar, sesuai anggaran dan tepat waktu.
Pada
tahun 1987, Fred Brooks menulis artikel No Silver Bullet, yang berproposisi bahwa
tidak ada satu teknologi atau praktek yang sanggup mencapai 10 kali lipat perbaikan dalam produktivitas pengembangan
perangkat lunak dalam tempo 10 tahun.
Sebagian
berpendapat, no silver bullet berarti profesi rekayasa perangkat lunak dianggap
telah gagal. Namun sebagian yang lain justru beranggapan, hal ini menandakan
bahwa bidang profesi rekayasa perangkat lunak telah cukup matang, karena dalam bidang profesi lainnya pun, tidak ada
teknik pamungkas yang dapat digunakan dalam berbagai kondisi.
PENGERTIAN
REKAYASA PERANGKAT LUNAK
Menurut
Wikipedia : Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan
perangkat lunak dan manajemen kualitas.
Menurut
IEEE Computer Society : Rekayasa perangkat lunak sebagai penerapan suatu
pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan,
penggunaan dan pemeliharaan perangkat lunak, serta studi atas
pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas
perangkat lunak.
Rekayasa
Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna
mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip
rekayasa untuk menghasilkan perangkat lunak
yang dapat bekerja lebih efisien dan efektif
untuk pengguna.
Istilah
Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari
istilah Software Engineering. Istilah Software Engineering mulai dipopulerkan
tahun 1968 pada Software Engineering Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas pada
bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat
lunak (software) dan program komputer.
RPL
atau Software Engineering (SE) à Disiplin ilmu yang membahas semua aspek
produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai
pemeliharaan sistem setelah digunakan. Ada 2 istilah kunci disini :
1. “disiplin rekayasa” à
Perekayasa membuat suatu alat bekerja. Menerapkan teori, metode, dan alat bantu yang sesuai, selain itu mereka menggunakannya dengan selektif dan selalu mencoba mencari solusi terhadap permasalahan.
2. “semua aspek produksi perangkat lunak” à RPL
tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak
tetapi juga dengan kegiatan seperti Manajemen proyek PL dan pengembangan alat
bantu, metode, dan teori untuk mendukung produksi PL.
Kesimpulannya,
Rekayasa Perangkat Lunak adalah proses membuat perangkat lunak dengan
menggunakan kaidah-kaidah atau prinsip-prinsip rekayasa sehingga dihasilkan
perangkat lunak yang berkualitas.
Secara
lebih khusus kita dapat menyatakan tujuan RPL adalah :
·
Memperoleh biaya produksi perangkat lunak
yang rendah.
·
Menghasilkan perangkat lunak yang kinerjanya
tinggi, andal dan tepat waktu.
·
Menghasilkan perangkat
lunak yang dapat bekerja pada berbagai jenis platform.
·
Menghasilkan perangkat
lunak yang biaya perawatannya rendah.
METODE-METODE RPL
Pendekatan-pendekatan
terstruktur terhadap pengembangan perangkat lunak mencakup model, notasi,
aturan, saran pengembangan sistem (rekomendasi), dan panduan proses.
Deskripsi
model sistem -> Deskripsi model yang harus dikembangkan dan notasi yang
digunakan untuk mendefinisikan model-model ini. Ex : model aliran data.
Aturan
-> Batasan yang berlaku bagi model sistem. Ex : Setiap entitas pada model
sistem harus memiliki nama yang unik.
Rekomendasi
-> Saran dalam membentuk perancangan yang baik. Ex : Tidak ada objek yang
memiliki lebih dari tujuh sub-objek yang berhubungan dengannya.
Panduan
Proses -> Aktifitas yang bisa diikuti untuk mengembangkan model sistem. Ex :
Atribut objek harus didokumentasi sebelum mendefinisikan operasi yang
berhubungan dengan objek.
TUJUAN
REKAYASA PERANGKAT LUNAK
Secara lebih khusus kita dapat menyatakan tujuan dan Rekaya Perangkat Lunak ini adalah:
·
Memperoleh biaya produksi perangkat lunak
yang rendah.
·
Menghasilkan pereangkat
lunak yang kinerjanya tinggi, andal dan tepat waktu
·
Menghasilkan perangkat
lunak yang dapat bekerja pada berbagai jenis platform
·
Menghasilkan perangkat
lunak yang biaya perawatannya rendah
Kriteria
Dalam Merekayasa Perangkat Lunak
·
Dapat terus dirawat dan dipelihara (maintainability)
·
Dapat mengikuti
perkembangan teknologi (dependability)
·
Dapat mengikuti
keinginan pengguna (robust).
·
Efektif dan efisien
dalam menggunakan energi dan penggunaannya.
·
Dapat memenuhi kebutuhan
yang diinginkan (usability).
RUANG
LINGKUP REKAYASA PERANGKAT LUNAK
|
|
· Software requirements berhubungan dengan
spesifikasi kebutuhan dan persyaratan perangkat lunak.
· Software design mencakup
proses penentuan arsitektur, komponen, antarmuka, dan karakteristik lain dari
perangkat lunak.
·
Software construction
berhubungan dengan detil pengembangan perangkat lunak, termasuk algoritma,
pengkodean, pengujian, dan pencarian kesalahan.
·
Software testing
meliputi pengujian pada keseluruhan perilaku perangkat lunak.
·
Software maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah
dioperasikan.
·
Software configuration
management berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk
memenuhi kebutuhan tertentu.
·
Software engineering
management berkaitan dengan pengelolaan dan pengukuran RPL, termasuk
perencanaan proyek perangkat lunak.
·
Software engineering
tools and methods mencakup kajian teoritis tentang alat bantu dan metode RPL.
·
Software engineering
process berhubungan dengan definisi, implementasi, pengukuran, pengelolaan, perubahan dan perbaikan proses RPL. Software
quality menitikberatkan pada kualitas dan daur hidup perangkat lunak.
RPL
DAN DISIPLIN ILMU KOMPUTER
Disiplin
ilmu komputer lahir awal tahun 1940 yang merupakan integrasi teori algoritma,
logika matematika, dan ditemukannya penyimpanan program secara elektronik pada komputer.
RPL
DISIPLIN ILMU LAIN
·
Bidang ilmu manajemen meliputi akutansi, finansial, pemasaran, manajemen operasi, ekonomi, analisis
kuantitatif, manajemen sumber daya manusia, kebijakan dan strategi bisnis.
·
Bidang ilmu matematika
meliputi aljabar linier, kalkulus, peluang, statistik, analisis numerik v dan matematika diskrit.
·
Bidang ilmu manajemen
proyek meliputi semua hal yang berkaitan dengan proyek, seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko, dan penjadwalan proyek.
·
Bidang ilmu manajemen kualitas meliputi pengembangan sistem kualitas, manajemen
resiko dan keandalan, perbaikan kualitas, dan metode-metode kuantitatif.
·
Bidang ilmu ergonomika
menyangkut hubungan (interaksi) antara manusia dengan komponen-komponen lain
dalam sistem komputer.
·
Bidang ilmu rekayasa
sistem meliputi teori sistem, analisis biaya-keuntungan, pemodelan, simulasi,
proses dan operasi bisnis.
Rekayasa
perangkat Lunak membahas mengenai semua hal yang berkaitan dengan pengembangan
suatu perangkat lunak atau yang biasa kita kenal sebagai software, meskipun
perangkat lunak tidak hanya software saja terkadang juga batch programming,
prosedur ataupun class dan lain sebagainya.
Rekayasa
perangkat lunak juga menjadi salah satu jurusan di SMK di Indonesia. Adapun
pembahasan materinya di dalam sekolah menengah kejuruan menjelaskan semua
tentang proses-proses pembuatan suatu perangkat lunak, tetapi lebih ditekankan
didalam proses coding dan pembuatannya saja untuk analisis dan beberapa
komponen lain masih belum di perdalam. Rekayasa perangkat lunak sebenarnya adalah proses update atau pengubahan
suatu perangkat lunak yang bertujuan untuk mengembangkan, memelihara serta
membangun suatu perangkat lunak agar dapat bekerja secara efisien dan efektif bagi user.
Didalam perkuliahan materi rekayasa perangkat lunak secara garis besar ada 6
materi yaitu :
1. Pengenalan Rekayasa
Perangkat Lunak
2. Konsep dasar rekayasa perangkat lunak
3. Metode Pengembangan
perangkat lunak
4. Analisis Risiko
5. Persiapan Project perangkat lunak
6. Analisis Desain
7. Testing dan implementasi
Di
dalam materi pengenalan rekayasa perangkat lunak yang pertama dipelajari adalah
materi secara umum yaitu pengertian berdasarkan kesepakatan serta beberapa
tokoh, definisi secara umum, sejarah, perkembangan, tokoh-tokohnya. Di dalam materi
ini juga di jelaskan tentangperangkat lunak secara umum, mulai dari karakteristik suatu perangkat lunak, tujuan pembuatan dari beberapa sisi baik
itu dari sisi pengguna, dari sisi sponsor atau pihak yang mendanai ataupun dari
sisi pengembang.
Konsep
Dasar Rekayasa Perangkat Lunak. Didalam materi ini di jelaskan tentang
konsep-konsep dasar dalam mengembangkan suatu perangkat lunak. Dijelaskan juga
tentang rekayasa perangkat lunak di dalam dunia praktis atau lapangan. Di dalam
materi ini juga di jelaskan tentang siklus suatu rekayasa perangkat lunak mulai dari pra produksi, pengembangan, pasca
produksi hingga rekayasa atau yang biasa kita lakukan dalam software adalah
patch (menutupi kekurangan). Di sini juga dijelaskan mengenai tingkatan
perangkat
lunak, jenis-jenis perangkat lunak dan perkembangan perusahaan
perangkat lunak.
Metodologi
pengembangan perangkat lunak atau disebut juga model proses atau
paradigmarekayasa perangkat lunak adalah suatu strategi pengembangan yang
memadukan proses, metode, dan perangkat (tools). Didalam matei ini di jelaskan
mengenai metode-metode pengembangan perangkat lunak yang pernah di pakai dan
sering di pergunakan di dalam mengembangkan software diantaranya metode
sekuensial linier, prototype, RAD, Fouth Generation Techniques (4GT) , spiral, metode Proses
Perangkat Lunak Evolusioner (pertambahan, spiral, konkruen), dan metode formal.
JENIS
PERANGKAT LUNAK
Jenis
perangkat lunak terbagi menjadi:
1. Sistem Operasi
2. Perangkat Lunak Bahasa
3. Program Aplikasi
Perangkat
lunak secara umum dapat di bagi 2 yaitu perangkat lunak sistem dan perangkat
lunak aplikasi. Perangkat lunak sistem dapat di bagi lagi menjadi 3 macam yaitu
:
·
Bahasa pemrograman :
merupakan perangkat lunak yang bertugas mengkonversikan arsitektur dan
algoritma yang di rancang manusia ke dalam format yang dapat di jalankan
komputer, contoh bahasa pemrograman di antaranya : BASIC, COBOL, Pascal, C++,
FORTRAN
·
Sistem Operasi : saat
komputer pertama kali di hidupkan, sistem operasilah yang pertama kali di
jalankan, sistem operasi yang mengatur seluruh proses, menterjemahkan masukan,
mengatur proses internal, memanejemen penggunaan memori dan memberikan keluaran
ke peralatan yang bersesuaian, contoh sistem operasi : DOS, Unix, Windows 95, IMB OS/2, Apple’s System
·
Utility : sistem operasi
merupakan perangkat lunak sistem dengan fungsi tertentu, misalnya pemeriksaan
perangkat keras (hardware troubleshooting), memeriksa disket yang rusak bukan
rusak fisik), mengatur ulang isi harddisk (partisi, defrag), contoh Utilty
adalah Norton Utility. Berikut penjelasan lebih lengkapnya:
|
|
SISTEM OPERASI
Sistem
Operasi adalah perangkat lunaksistem yang bertugas untuk melakukan kontrol dan
manajemen perangkat keras serta operasi-operasi dasar sistem,
termasuk menjalankan software aplikasi seperti program-program pengolah
kata dan browser web. Sistem Operasi merupakan sisitem operasi pada lappisan
pertamayan di tempatkan pada memori komputer pada saat komputer dinyalakan.
Sedangkan sofware lainnya
dijalankan setelah sistem Operasi berjalan. Untuk mengendalikan Program Kerja
Komputer secara mendasar seperti :
· Mengatur Media Input
· Proses
· Output
· Mengatur Memory Penjadwalan Proses :
v PC DOS
v MS DOS
v MICROSOFT WINDOWS
v LINUX
v UNIX
v MACINTOSH
v FREE BSD
2. PERANGKAT LUNAK BAHASA
Program
yang digunakan untuk menerjemahkan instruksi-instruksi yang ditulis dalam
bahasa mesin agar dapat diterima dan dimengerti oleh komputer.
1). MACAM-MACAM PERANGKAT LUNAK BAHASA
a. Bahasa Tingkat Rendah
b. Bahasa Tingkat Menengah
c. Bahasa Tingkat Tinggi
Merupakan
Bahasa Komputer yang sudah dibuat dan dikembangkan dengan menggunakan bahasa
sehari-hari seperti :
Ø Basic
Ø Cobol
Ø Pascal
3. Program Aplikasi
(Aplication Program)
Merupakan
suatu program paket yang telah dirancang dan dibuat khusus untuk kebutuhan
tertentu.
a) Word Processing
Merupakan
salah satu program aplikasi dimana dalam pengoperasiannya menggunakan text
(Text Based)
v Wordstar Profesional
v Word Perfect
v Chiwriter
v Microsoft Word
v Word Star
b) Program Database
Merupakan
salah satu program aplikasi yang berfungsi untuk merancang atau membuat serta
mengelola DATABASE
v Ms.Acces
v SQL Server
v MySql
v Oracle
c) Program SpreadSheet
Merupakan
salah satu program aplikasi yang berfungsi untuk bidang keuangan, pembukuan,
atau melakukan perhitungan secara otomatis.
v Lotus 123
v Ms.Excel
v Quatro
v Supercheck
d) Program CAD (Computer Aided Design)
Merupakan
Salah satu program aplikasi yang berfungsi untuk media lukis (Alat lukis)
v Auto Cad
v Pro Design
v Corel Draw
v Adobe Photoshop
e) Program Layout Artikel
Merupakan
salah satu program aplikasi yang berfungsi khusus untuk mengatur tata letak
obyek yang digunakan pada cover suatu media cetak/Elektronik
v Page Maker
v Ventura
v Harvard Publisher
v Newmaster
f) Aplikasi Multimedia
Aplikasi
multimedia saat ini sangat banyak dan beragam. Di katakan multimedia kerana
selain penggunaan media teks, aplikasi ini dapat memproses/menampilkan dalam
bentuk yang lain yaitu gambar, suara dan film. Aplikasi multimedia sangat
berkaitan dengan format data yang digunakan. Aplikasi Multimedia umumnya
dipisahkan lagi menjadi aplikasi yang digunakan untuk membuat, yang hanya
digunakan untuk menampilkan saja dan aplikasi pengaturan.
Format-format
digital multimedia di antaranya:
·
MIDI (Musical Instrument Digital Interface) ,
format suara instrumen ini di perkenalkan pada tahun 1983 oleh perusahaan musik
elektrik seperti Roland, Yamaha dan Korg. Format MIDI bersifat sangat kompak
dengan ukurannya yang kecil, suara yang di hasilkan oleh MIDI dengan dukungan sound card yang memilik
synthesizer (penghasil suara elektrik) sangatlah mirip dengan organ elektrik
yang bisa memainkan berbagai alat musik.
·
MP3, format suara yang
terkenal saat ini berbeda dengan MIDI yang hanya instrument, MP3 merekam
seluruh suara termasuk suara penyanyinya. Kualitas suara MP3 akan erbanding
dengan ukuran penyimpannya. Kualitas yang banyak di gunakan untuk merekam musik adalah standar CDROM (44,2 KHz, 16
bit, stereo), sementara kualitas
terendah adalah kualitas seperti telepon (5 KHz, 8 bit, mono).
·
MPEG (Moving Picture Experts Group), merupakan format yang di susun oleh ahli
dari berbagai penjuru dunia untuk format multimedia.
·
AVI (Audio Video
Interleave), format AVI di buat oleh Microsoft dan mudah di pindah-pindahkan di
aplikasi buatan Microsoft lainnya seperti Word atau PowerPoint
·
Quicktime, sama dengan
AVI, Quicktime dapat digunakan baik di komputer berbasis Intel maupun
·
Mac. Quicktime dapat
menyaingin AVI di karenakan tingkat kompresinya yang lebih baik. Tingkat
kompresi menentukan besar-kecilnya file yang akan menentukan pula
besar-kecilnya media penyimpanan, dan lebar jalur data yang dibutuhkan untuk transfer.
PENTINGNYA
REKAYA PERANGKAT LUNAK
Berbagai
instansi pemerintah maupun swasta, baik dalam maupun luar negeri menggunakan
perangkat lunak (software) sebagai kebutuhan esensial. PL digunakan dari
berbagai tingkatan manajemen. Terdapat tingkatan manajemen tertentu yang
bertugas untuk mengembangkan atau bahkan membuat perangkat lunak (software
engineering). Bahkan saat ini banyak instansi/perusahaan tersebut yang dengan
sengaja menciptakan departemen/bagian yang mengurusi perangkat lunak atau
rekayasa perangkat lunak. Berikut ini adalah pentingnya RPL dan PL:
·
Semua negara maju ekonominya bergantung pada
perangkat lunak.
·
Makin banyak sistem yang
dikendalikan oleh PL
·
RPL berkaitan dengan teori, metode dan alat untuk pembangunan PL secara rofesional.
·
Pengeluaran dana untuk
PL di negara maju sangat besar.
·
Harga PL sering lebih mendominasi harga sistem komputer. Harga PL pada PC sering
lebih mahal dari pada harga perangkat kerasnya.
·
Biaya pemeliharaan PL
lebih mahal dibanding biaya pembuatannya.
·
RPL berkaitan dengan
biaya efektif pembuatan PL.
Dari
poin-poin di atas, peninjauan pengadaan PL dan pengembangan PL ternyata
menimbulkan komponen biaya yang tidak sedikit. Hal ini cukup beralasan, karena dengan PL yang dimilikinya pihak
manajemen dapat membuat keputusan berdasarkan data yang disediakan oleh PL
dengan akurat, cepat, efisien dan dapat menyesuaikan kondisi saat ini
(relevan).
Rekayasa perangkat lunak
telah berkembang sejak pertama kali diciptakan pada tahun 1940-an hingga kini.
Fokus utama pengembangannya adalah untuk mengembangkan praktek dan teknologi
untuk meningkatkan produktivitas para praktisi pengembang perangkat lunak dan
kualitas aplikasi yang dapat digunakan oleh pemakai.



Komentar
Posting Komentar