1.1.Pengantar
Pada umumnya mahasiswa Teknik Informatika lebih
mengutamakan pemrograman, karena menurut mereka itu adalah sebuah kemampuan
inti yang harus di kuasai. Pada kenyataannya, banyak kemampuan lain yang
mungkin selama ini dianggap sebelah mata justru menjadi penopang dan penentuk
proses membangun perangkat lunak kerja sama dalam tim, kemampuan berkomunikasi,
kemampuan membuat dokumentasi, kemampuan wawancara, kemampuan cepat bidang lain
di luar pemrograman dan sebagainya.
Dalam rekayasa perangkat lunak umumnya ada
beberapa kegiatan yang senantiasa ada pada model proses apapun : identifikasi kebutuhan, desain, pengkodean,
penerapan, dan pemeliharaan.
Perangkat
Lunak merupakan hal yang abstrak dan tidak nyata, tidak memiliki unsur fisik
atau bukan merupakan unsur dari sebuah proses manufacture. Perangkat lunak sebagai
sebuah produk merupakan proses urut-urutan logika yang dipergunakan untuk
melaksanakan sesuatu fungsi yang dikehendaki, ketelitian dan dokumentasi yang
jelas akan membantu melacak penyebab kesalahan bila program tersebut tidak
berfungsi sebagaimana mestinya. Berbeda dengan perangkat keras sebagai produk
manufacture dimana pada proses pembuatannya, di desain, di gambar, ada
penyambungan komponen-komponen penyusunnya, diberikan kemasan kemudian di
distribusikan secara fisik dari satu lokasi ke lokasi yang lain.
1.2. Latar Belakang Disiplin Rekayasa Perangkat
Lunak
Faktor-faktor yang melatarbelakangi munculnya RPL :
·
Ketidakmampuan organisasi memprediksi waktu, usaha dan
biaya untuk membangun perangkat lunak
·
Perubahan nisbah/rasio biaya perangkat keras terhadap
harga perangkat lunak
·
Kemajuan pesat perangkat keras
·
Kemajuan dalam teknik-teknik pembuatan perangkat lunak
·
Tuntutan yang lebih tinggi terhadap jumlah perangkat
lunak
·
Tuntutan yang lebih tinggi terhadap mutu perangkat
lunak
1.3. Perangkat Lunak
Definisi software sedikit lebih sulit bila
dibanding dengan perangkat keras, tidak nampak ciri fisik yang dapat
dipergunakan untuk mengenali perangkat lunak, tetapi nampak akibat yang
ditimbulkan pada antar muka (interface) dan keluaran perangkat keras (output).
Definisi perangkat keras tergantung pada waktu, dalam hal apa dan siapa yang
mendefinisikan perangkat lunak tersebut. Dibawah ini adalah beberapa definisi
perangkat lunak menurut para ahli, antara lain:
·
R. WILMAN & RIYAN
Software merupakan sebuah perangkat operasi
kerja untuk menjalankan komponen hardware. Software bersifat maya, artinya
software tidak terlihat, tetapi keberadaannya sangat dirasakan.
·
FAUZIAH
Software adalah program untuk memasukkan data,
mengecek data, menyimpan data, memperoleh data hasil, dan presentasi serta
manipulasi data.
·
JUNTAK TEAMWORK
Software merupakan konstruksi atau bangunan
program yang telah disusun dan diatur sedemikian rupa, demi peruntukkan sebuah
sistem kerja yang dijalankannya.
·
WAHANA KOMPUTER
Software adalah perangkat lunak yang berfungsi
untuk melakukan kontrol dan manajemen hardware. Software dalam komputer
meliputi sistem operasi dan aplikasi.
1.4.Jenis Perangkat Lunak
Pengelompokkan jenis perangkat lunak dapat
dilakukan dengan mengelompokkan cara pembuatannya, pembuatan perangkat keras
dapat dikelompokkan menjadi 2, yaitu:
1.
Perangkat Lunak Generik (Generic Software) : Merupakan
perangkat lunak yang berdiri sendiri (stand alone) dengan menggunakan standar
tertentu yang diproduksi oleh organisasi pengembang perangkat lunak (vendor)
dan biasa dijual secara bebas dan siapapun dapat membeli. Contoh perangkat
lunak generic antara lain: Office Application (aplikasi perkantoran), Database
Engine (mesin data), Graphic Package (paket pengolah grafik), Programming
Applicatio (paket pemrograman), dan lain sebagainya.
2.
Perangkat Lunak Pesanan (Order Software) : Merupakan
perangkat lunak yang dipesan ole pelanggan tertentu kepada pengembang perangkat
lunak (vendor) untuk memenuhi kebutuhan fungsi tertentu yang dikehendaki
pemesan. Perangkat lunak yang dipesan secara khusus ini biasanya ditujukan
untuk mendukung proses bisnis, mengatur perangkat elektromaknetik pada
manufacture system control suatu aktifitas khusus (misal pelabuhan udara,
pengatur lalu lintas jalan raya).
Sedangkan bila dikelompokkan berdasarkan penggunaanya dapat dikelompokkan
dalam 8 kategori, yaitu :
1.
System Software
Perangkat lunak yang bertanggung jawab untuk mengendalikan,
mengintegrasikan, dan mengolah komponen perangkat keras atau perangkat lunak
lainnya tanpa melihat jenjang dari perangkat lunak tersebut.
2.
Real-Time System
Perangkat lunak yang digunakan untuk memonitor, meng-analisa, dan
mengendalikan tiap peristiwa yang terjadi secara langsung. Perangkat lunak ini
mengumpulkan data tiap kejadian kemudian menganalisa dan menaggapi hasil
analisa dengan mengirimnya pada perangkat yang lain, contoh perangkat lunak
pendeteksi gempa, pendeteksi tsunami, pendeteksi gunung berapi.
3.
Business Software
Perangkat keras yang dipergunakan untuk mengelola kerumitan proses bisnis
dalam organisasi, perangkat ini biasanya ter-integrasi satu dengan yang lainnya
membentuk sebuah jejaring system dalam organisasi yang kemudian di dalam
organisasi disebut Management Information System. Misal penggunaan sistem
penjualan, pergudangan, penggajian, kepegawaian, dan lain sebagainya.
4.
Engineering and Scientific Software
Perangkat keras yang disusun secara khusus mengikut sertakan rumus-rumus
pada ilmu pengetahuan tertentu, perangkat lunak ini biasanya dilakukan untuk
proses simulasi suatu kejadian.
5.
Embedded Software
Perangkat lunak yang dirancang khusus untuk piranti modern cerdas, dimana
fungsi dari perangkat lunak ini sebagai pengendali terhadap peralatan tersebut,
misal keypad pada perangkat rumah tangga, panel control mobil, perangkat,
instrumen pemutus arus pada pembangkit listrik.
6.
Personal Software
Perangkat lunak yang dibuat untuk membantu menyelesaikan atau memenuhi
pekerjaan manusia secara individual sebagai contoh memainkan music atau video,
pekerjaan perkantoran, mengkoleksi database, berkomunikasi dengan komunitas
tertentu dan berbagai keperluan lainnya.
7.
Web base Software
Perangkat lunak yang dipergunakan untuk menjalankan berbagai perintah pada
jejaring internet, berbagai format data dapat dikelola dengan menggunakan
format HTML, PHP, ASP, dan ASPX.
8.
Artificial Intelligence Software
Perangkat lunak ini dibuat untuk menyelesaikan pekerjaan rumit dan non
numerical algorithm, menggunakan metode neumal network.
1.5. Perbedaan Karakteristik Perangkat lunak dibanding
Perangkat Keras
Sebagai "barang" yang terintegrasi dalam sebuah system computer,
perangkat lunak memiliki perbedaan bila dibandingkan dengan perangkat keras
antara lain :
Perangkat Lunak bukan produk pabrikan (dalam
konsep pabrik secara klasik), perangkat keras bukan merupakan barang yang
dibuat oleh pabrik, yaitu dimana sifatnya secara fisik tidak akan terlihat,
control terhadap kualitas produk sesuai dengan ketelitian pembuatan algoritma.
Kualitas software sangat ditentukan dan tergantung dari kualitas SDM yang
terlibat didalamnya, sehingga bila dihitung maka sebagian besar biaya
dipergunakan untuk pembiayaan SDM.
Perangkat lunak mengalami wear out
(ke"aus-an"), berbeda dengan perangkat keras yang memiliki usia
teknis tertentu pada batas waktu tertentu beberapa komponen akan mengalami
kerusakan atau penurunan fungsi, kerusakan yang terjadi pada beberapa komponen
perangkat keras selalu mempengaruhi kinerja perangkat keras bahkan terkadang
berhenti sama sekai. Kerusakan pada perangkat keras ini dapat di ganti dengan
komponen baru, sedangkan kerusakan yang terjadi pada perangkat lunak
menunjukkan kesalahan awal pada saat perencanaan dan desain awal.
Sebagian besar perangkat lunak dibangun dan
dikembangkan dengan menggunakan desain dan komponen software yang telah ada
sebelumnya. Pengembang perangkat lunak dapat menggunakan algoritma, sub rutin,
fungsi dan prosedur untuk membangun atau memperbarui perangkat lunak yang baru.
Sebagai contoh untuk memperbarui tampilan antar muka (interface), sub-sub
rutin, prosedur dan fungsi dari perangkat lunak lama masih digunakan (rense).
Hal ini tidak terjadi pada perangkat keras, perangkat keras dibuat dengan
berdasarkan penelitian, desain sirkuit, pemilihan kompatibilitas dan kemudian
menggabungkan berbagai komponen elektronik pada papan sirkuit sesuai petunjuk
perakitan.
1.6. Rekayasa Perangkat Lunak
Rekayasa Perangkat Lunak berasal dari 2 kata,
yaitu Software (perangkat lunak) dan Engineering (rekayasa). Rekayasa Perangkat
Lunak (software) adalah source code pada suatu program atau sistem perangkat
lunak tidak hanya dokumentasi terhadap source code tapi juga dokumentasi
terhadap sesuatu yang dibutuhkan selama pengembangan, instalasi penggunaan dan
pemeliharaan sebuah sistem Engineering atau Rekayasa adalah aplikasi terhadap
pendekatan sistematis yang berdasar atas ilmu pengetahuan dan matematis serta
aplikasi tentang produksi terhadap struktur, mesin, produk, proses atau sistem.
Produk perangkat lunak mengadopsi pendekatan yang
sistematis dan terorganisir terhadap pekerjaannya dan menggunakan tool yang
sesuai serta teknik yang ditentukan berdasarkan masalah yang akan dipecahkan,
kendala pengembangan dan sumber daya yang tersedia.
Rekayasa Perangkat Lunak juga merupakan pendekatan
sistematis dan matematis untuk membangun, memelihara dan mengenyahkan perangkat
lunak. Dari cara pandang lain, RPL adalah pendekatan sistematis untuk
merekayasa perangakat lunak yang handal atau bermutu, tepat waktu dan dengan
biaya yang optimal.
1.7. Karakteristik Perangkat Lunak
Kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat
lunak :
1.
Dapat terus dirawat dan dipelihara (maintainability)
2.
Dapat mengikuti perkembangan teknologi (dependability)
3.
Dapat mengikuti keinginan pengguna (robust)
4.
Efektif dan efisien dalam menggunakan energi dan
penggunaannya
5.
Dapat memenuhi kebutuhan yang diinginkan (usability)
1.8. Mutu Perangkat Lunak
Terdapat 3 pihak yang mempengaruhi mutu perangkat lunak, yaitu :
1.
Sponsor : Seseorang atau organisasi yang membiayai
atau membayar selama pengembangan atau perantaraan sistem software dan biasanya
mempunyai respon terhadap pengembangan sistem software itu sendiri dengan
melibatkan perhitungan biaya yang optimal
2.
User : Setiap orang yang secara langsung berinteraksi
terhadap eksekusi software, yang secara langsung memberi input ke komputer dan
menggunakan atau menikmati output dari komputer
3.
Developer : Seseorang atau organisasi yang memberikan
modifikasi dan memelihara terhadap eror serta mengembangkan sistem software
tersebut
1.9. Mitos Perangkat Lunak
·
Mitos Manajemen
Manajer yang bertanggung jawab terhadap masalah perangkat lunak, seperti
juga manajer pada kebanyakan disiplin, sering mengalami tekanan karena masalah
pengaturan keuangan, menjaga jadwal agar tidak kacau dan peningkatan kualitas.
·
Mitos Pelanggan
Pelanggan mempercayai mitos tentang perangkat lunak karena manajer dan para
pelaksana yang bertanggung jawab atas masalah perangkat lunak hanya bekerja
sedikit saja untuk memperbaiki kesalahan informasi. mitos ini membawa kearah
pengharapan yang salah oleh pelanggan dan ketidakpuasan pengembang.
1.10 Krisis Perangkat Lunak
Masalah nyata yang sudah mengganggu perkembangan perangkat lunak :
Ø Serangkaian masalah
yang terjadi dalam perkembangan perangkat lunak komputer
Ø Masalah yang ada tidak
hanya terbatas pada perangkat lunak yang tidak berfungsi dengan baik tapi juga
pada penderitaan yang melingkupi masalah-masalah yang berhubungan dengan
bagaimana mengembangkan perangkat lunak, bagaimana memelihara volume perangkat
lunak yang sedang tumbuh dan bagaimana mengejar kebutuhan perangkat lunak lebih
banyak lagi.
Tidak ada komentar:
Posting Komentar