0% menganggap dokumen ini bermanfaat (0 suara)
26 tayangan17 halaman

01 - Rekayasa Perangkat Lunak

Unduh sebagai pdf atau txt
Unduh sebagai pdf atau txt
Unduh sebagai pdf atau txt
Anda di halaman 1/ 17

Rekayasa Perangkat Lunak

BAB I
REKAYASA PERANGKAT LUNAK

Tujuan :

1. Mengenalkan sistem komputer dan perangkat lunak


2. Mempelajari klasifikasi perangkat lunak
3. Mengenalkan rekayasa perangkat lunak dan aplikasinya

Indikator keberhasilan :

1. Agar mahasiswa mampu menjelaskan komponen sistem komputer


2. Agar mahasiswa mampu menjelaskan pengertian perangkat lunak dan
contohnya
3. Agar mahasiswa mampu menyebutkan dan menjelaskan contoh jenis
dan aplikasi perangkat lunak
4. Agar mahasiswa mampu memahami tujuan dari rekayasa perangkat
lunak.

Materi :

Definisi Komputer
Komputer merupakan suatu perangkat elektronika yang memiliki
kemampuan untuk menerima dan mengolah data menjadi informasi,
menjalankan program yang tersimpan dalam memori, serta dapat bekerja
secara otomatis berdasarkan perangkat aturan tertentu. Berdasarkan
uraian di atas, maka dapat diuraikan bahwa setidaknya suatu komputer
harus memenuhi kaidah-kaidah berikut ini:
a. Komputer dapat melakukan pengolahan data
b. Komputer dapat memberikan/menghasilkan informasi
c. Komputer merupakan alat elektornik

1
Rekayasa Perangkat Lunak

d. Komputer dapat menerima input data (teks, angka, suara, signal, dll)
e. Komputer menggunakan program yang tersimpan dalam memori
komputer
f. Komputer bekerja secara otomatis
g. Komputer dapat menyimpan program dan data hasil olahannya.

Sistem Komputer
Sebuah sistem komputer tersusun atas tiga elemen yang saling terkait satu
sama lainnya, yaitu :
1. Hardware (Perangkat Keras), merupakan kumpulan segala piranti
atau komponen dari sebuah komputer yang sifatnya bisa dilihat
secara kasat mata dan bisa diraba secara langsung. Dengan kata
lain hardware merupakan komponen yang memiliki bentuk nyata
secara fisik. Beberapa komponen perangkat keras mudah dikenali,
seperti casing komputer, keyboard, dan monitor. Namun, ada
banyak jenis komponen perangkat keras yang lainnya untuk
membentuk sebuah komputer.

Gambar 1.1: Elemen perangkat keras komputer

2
Rekayasa Perangkat Lunak

2. Software (Perangkat Lunak), merupakan suatu data yang


diprogram sedemikian rupa dan disimpan dalam bentuk digital
yang tidak terlihat secara fisik tetapi tersimpan dalam media
penyimpanan komputer. Software atau perangkat lunak dapat
berupa program atau aktifitas menjalankan suatu perintah atau
intruksi melalui fasilitas interaksi pada software (perangkat lunak)
komputer sehingga sistem dapat beroperasi. Software juga dapat
dikatakan sebagai penggerak dan pengendali hardware (perangkat
keras).

Gambar 1.2: Ilustrasi perangkat lunak

Software dibuat dengan menggunakan bahasa pemrograman yang


ditulis atau dibangun oleh programmer yang selanjutnya
dikompilasi dengan aplikasi kompiler sehingga menjadi sebuah
kode yang nantinya akan dikenali oleh mesin hardware.
3. Brainware (Perangkat Manusia/Otak), merupakan orang yang
menggunakan (user), memakai ataupun mengoperasikan perangkat
komputer. Seperti contoh dari brainware yaitu programmer,
operator (sebutan untuk orang yang menggunakan suatu sistem
komputer untuk fungsi tertentu), serta orang yang sedang
menggunakan perangkat komputer. Brainware juga dapat

3
Rekayasa Perangkat Lunak

didefenisikan sebagai manusia yang terlibat dalam


mengoperasikan atau memakai serta mengatur sistem di dalam
perangkat komputer. Dapat diartikan juga sebagai perangkat
intelektual yang mengoperasikan dan juga mengeksplorasi
kemampuan dari perangkat keras (hardware) maupun perangkat
lunak (software).

Gambar 1.3: Elemen pembentuk sistem komputer

Perangkat Lunak
Pada mata kuliah Rekayasa Perangkat Lunak (RPL) ini, sebelumnya kita
harus mengerti dan memahami terlebih dahulu, apa yang dimaksud dengan
perangkat lunak. Perangkat lunak saat ini telah menjadi kekuatan baru
yang sangat menentukan dalam mendukung suatu aktifitas. Perangkat
lunak menjadi mesin yang mengendalikan proses pengambilan

4
Rekayasa Perangkat Lunak

keputusan di dalam dunia bisnis, berfungsi sebagai basis dari berbagai


bentuk pelayanan serta penelitian keilmuan modern. Saat ini perangkat
lunak memiliki dua peran. Di satu sisi berfungsi sebagai sebuah
produk, dan di sisi lain sebagai media yang mengantarkan sebuah
produk.

Di masa lalu, perangkat lunak bersifat sederhana dan karenanya,


pengembangan perangkat lunak merupakan kegiatan yang juga sederhana.
Namun, seiring meningkatnya teknologi dan peradaban manusia, perangkat
lunak menjadi lebih kompleks dan proyek perangkat lunak tumbuh menjadi
lebih besar. Pengembangan perangkat lunak sekarang mengharuskan
kehadiran tim yang dapat mempersiapkan rencana dan desain secara
terperinci, melakukan pengujian, mengembangkan antar muka pengguna
yang intuitif, dan mengintegrasikan semua aktifitas ini ke dalam sistem.
Pendekatan baru ini menyebabkan munculnya sebuah disiplin ilmu yang
dikenal sebagai rekayasa perangkat lunak.

Sebenarnya, apa yang dimaksud dengan perangkat lunak?

Perangkat lunak (Software) adalah: (1) Perintah/instruksi (program


komputer) yang mana bila ia dieksekusi akan memberikan fungsi dan unjuk
kerja seperti yang diinginkan. (2) Struktur data yang memungkinkan
program memanipulasi data dan informasi secara proporsional. (3)
Dokumen yang menggambarkan operasi dan kegunaan program.

Klasifikasi Perangkat Lunak :

1. Sistem Operasi (operating system), merupakan perangkat lunak yang


berfungsi untuk mengoperasikan komputer serta menyediakan
antarmuka dengan perangkat lunak lain atau dengan pengguna.
Contoh perangkat lunak Sistem Operasi : MS DOS, MS Windows
(dengan berbagai generasi), Macintosh, OS/2, UNIX (dengan

5
Rekayasa Perangkat Lunak

berbagai versi), LINUX (dengan berbagai distribusi), NetWare, dan


sebagainya. Masing-masing sistem operasi memiliki perbedaan dalam
lingkup/platform operasi, jumlah pemakai, metode interaksi pemakai,
sifatnya (opensource/closesource) dan lisensi penggunaan.
2. Program Utilitas (Utility), merupakan program khusus yang
berfungsi sebagai perangkat pemeliharaan suatu sistem komputer,
seperti anti virus, partisi hardisk, manajemen hardisk, dan
sebagainya. Contoh produk program utilitas : Norton Utilities,
PartitionMagic, McAfee, dan sebagainya
3. Program Aplikasi, merupakan program yang dikembangkan untuk
memenuhi kebutuhan yang spesifik. Contoh : aplikasi akuntansi,
aplikasi perbankan, aplikasi manufaktur, dan sebagainya.
4. Paket Pemrograman, merupakan program yang dikembangkan untuk
kebutuhan umum, seperti : pengolah kata/text editor (misalnya: MS-
Word, Notepad, Latex, dll), pengolah angka / lembar kerja (misalnya:
MS Excel, dll), presentasi (Misalnya: MS PowerPoint, dll), dan desain
grafis (Misalnya: 3D, CorelDraw, PhotoShop, dan sebagainya)
5. Bahasa Pemrograman, merupakan sebuah instruksi standar yang
bertugas untuk memberikan instruksi kepada komputer. Sering
disebut juga dengan bahasa komputer atau bahasa pemograman
komputer. Bahasa pemrograman juga dapat dikatakan sebagai alat
untuk menampung suatu kumpulan dari aturan sintaks dan
semantik yang khususnya dipakai untuk mendefinisikan sebuah
program yang ada di komputer.
Contoh bahasa pemrograman yang paling umum digunakan, yaitu :
Java Script, PHP, HTML, C++, Python, dan sebagainya.

Aplikasi Perangkat Lunak


Perangkat lunak dapat diaplikasikan ke berbagai situasi dan lingkungan di
mana serangkaian langkah prosedural telah didefinisikan. Cakupan
perangkat lunak berikut ini menunjukkan betapa luasnya potensi
pengembangan aplikasi yang dapat dilakukan :

6
Rekayasa Perangkat Lunak

a. Perangkat Lunak Sistem.


Merupakan sekumpulan program yang ditulis untuk memberikan
layanan terhadap program-program yang lain. Di dalam berbagai
kasus, area operasi perangkat lunak sistem ditandai dengan
eratnya interaksi dengan perangkat keras komputer, penggunaan
oleh banyak pemakai (multi user), operasi konkuren yang
membutuhkan penjadwalan, berbagi pakai sumber daya dan
pengaturan proses yang canggih, struktur-struktur data yang
kompleks, dan interface eksternal yang bersifat ganda (teks dan
grafis).
b. Perangkat Lunak Real-Time.
Program-program yang memonitori, menganalisa, dan mengontrol
kejadian di dunia nyata pada saat berlangsungnya suatu aktifitas
disebut perangkat lunak real-time. Elemen-elemen perangkat lunak
real-time mencakup komponen pengumpul data yang
mengumpulkan dan memformat informasi dari lingkungan eksternal.
Sebuah komponen yang mampu melakukan analisa diperlukan untuk
mentransformasi informasi pada saat dibutuhkan oleh aplikasi.
Konsep kerja perangkat lunak Real-time berbeda dengan fungsi
interaksi atau timesharing. Sistem real-time harus merespon di
dalam suatu rentang waktu secara konstan dan konsisten.
Sedangkah waktu respon sebuah sistem yang bersifat interaktif
(atau timesharing) secara normal dapat diperpanjang tanpa
memberikan resiko kerusakan pada hasil yang diperoleh.
c. Perangkat Lunak Bisnis.
Pemrosesan informasi bisnis merupakan area aplikasi perangkat
lunak yang paling luas saat ini. Sistem diskrit (contohnya payroll,
account payable, inventory, dsb) telah mengembangkan perangkat
lunak sistem informasi manajemen (SIM) yang mengakses satu atau
lebih database besar yang berisi informasi bisnis.

7
Rekayasa Perangkat Lunak

d. Perangkat Lunak Teknik dan Ilmu Pengetahuan.


Perangkat lunak teknik dan ilmu pengetahuan ditandai dengan
keberadaan algoritma number crunching. Perangkat lunak ini
memiliki cakupan aplikasi mulai dari aplikasi untuk sistem
astronomi sampai vulkanologi, dari analisa otomotif sampai dinamika
orbit pesawat ruang angkasa, dan dari biologi molekuler sampai
pabrik yang sudah diotomatisasi.
e. Embedded Software.
Produk pintar telah menjadi bagian yang umum bagi hampir semua
level konsumen dan pasar industri. Embedded software dapat
memberikan fungsi yang terbatas serta fungsi esoteric (misalnya
keypad control untuk sebuah microwave) atau memberikan
kemampuan kontrol dan fungsi yang penting (contohnya fungsi
digital dalam sebuah mobil seperti kontrol bahan bakar,
penampilan panel di dashboard, sistem pengereman, dan
sebagainya).
f. Perangkat Lunak Komputer Personal.
Pasar perangkat lunak komputer personal telah berkembang
selama dekade terakhir. Program pengolah kata, spreadsheet,
multimedia, manajemen database, aplikasi keuangan bisnis dan
personal, jaringan eksternal atau akses database hanya
merupakan beberapa contoh saja dari ratusan aplikasi yang ada.
Setiap waktu jumlah, variasi, versi, dan teknologinya terus mengalami
kemajuan yang pesat.
g. Perangkat Lunak Kecerdasan Buatan.
Perangkat lunak kecerdasan buatan (Artificial Intelligent/AI)
menggunakan algoritma non-numeris untuk memecahkan masalah
kompleks yang tidak dapat dilakukan perhitungan atau analisa
secara langsung. Area kecerdasan buatan yang aktif adalah sistem
pakar, disebut juga sistem berbasis pengetahuan. Sistem yang lain
adalah Jaringan Syaraf Tiruan, Voice and Image Recognition, game
playing , dan sebagainya.

8
Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak (RPL)

Pandangan umum, menyatakan bahwa untuk dapat memproduksi suatu


produk didukung oleh elemen-elemen yang dikenal sebagai faktor-faktor
produksi. Elemen-elemen yang terdapat dalam faktor-faktor produksi
tersebut adalah Sumber daya alam/ fisik (Physical Resources), Sumber daya
manusia/ Tenaga kerja (Labour), Modal (Capital), Kewirausahaan
(Entrepreneurship), dan Sumber daya informasi (Information Resources).
Menghadapi era revolusi industry 4.0, elemen-elemen yang disebutkan di
atas tidaklah cukup. Oleh karena itu perlu tambahan berupa dukungan
teknologi. Dukungan teknologi dari berbagai bentuk disiplin akan
berkolaborasi dalam menghasilkan suatu produk. Termasuk produk berupa
perangkat lunak.
Untuk menghasilkan suatu perangkat lunak (software) tersebut butuh
dukungan banyak aspek, proses, dan tindakan yang semuanya itu menyatu
dalam suatu keilmuan yang disebut dengan Rekayasa Perangkat Lunak
(Software Engineering). Secara sederhana target dari Rekayasa Perangkat
Lunak itu adalah dalam rangka menghasilkan suatu software yang
berkualitas.

Sedangkan yang dimaksud dengan Rekayasa Perangkat Lunak adalah


suatu disiplin ilmu yang membahas semua aspek produksi perangkat
lunak, mulai dari tahap awal yaitu communication, requirements capturing
(analisa kebutuhan pengguna), specification (menentukan spesifikasi dari
kebutuhan pengguna), desain, coding, testing sampai maintenance
(pemeliharaan sistem) setelah digunakan.

Secara umum, tujuan Rekayasa Perangkat Lunak (RPL) memiliki banyak


kesamaan dengan disiplin ilmu rekayasa yang lain. Ilmu rekayasa akan
selalu berusaha menghasilkan keluaran (output) yang perfoma-nya tinggi,
waktu penyelesaian yang singkat dan hemat. Secara lebih khusus dapat

9
Rekayasa Perangkat Lunak

dinyatakan bahwa tujuan Rekayasa Perangkat Lunak adalah sebagai


berikut:
1. Menghasilkan perangkat lunak yang berunjuk kerja tinggi, andal serta
tepat waktu.
2. Menghasilkan perangkat lunak yang memiliki kekuatan dalam
menghadapi berbagai ancaman dan gangguan, baik yang bersumber
dari internal maupun eksternal.
3. Menghasilkan perangkat lunak dengan biaya produksi yang rendah.
4. Menghasilkan perangkat lunak yang biaya pemeliharaan yang
rendah.
5. Menghasilkan perangkat lunak yang bisa bekerja di berbagai macam
platform.
Rekayasa perangkat lunak menyediakan metode untuk menangani
kompleksitas dalam sistem perangkat lunak dan memungkinkan untuk
dilakukannya pengembangan sistem perangkat lunak yang handal. Muara
dari aktifitas ini dapat memaksimalkan produktifitas. Selain aspek teknis
pengembangan perangkat lunak, ia juga mencakup kegiatan manajemen
yang meliputi mengarahkan tim kerja, menyusun anggaran, menyiapkan
jadwal kegiatan, dan sebagainya. Gagasan tentang rekayasa perangkat
lunak pertama kali diajukan pada tahun 1968. Semenjak itu, rekayasa
perangkat lunak berkembang sebagai disiplin ilmu teknik secara penuh,
yang diterima sebagai bidang yang melibatkan studi dan penelitian yang
mendalam. Metode dan alat bantu rekayasa perangkat lunak telah berhasil
diimplementasikan dalam berbagai skala aplikasi yang tersebar di berbagai
lapisan masyarakat pengguna.
Jadi hal yang perlu digaris bawahi, bahwa Rekayasa Perangkat Lunak
(RPL) merupakan serangkaian proses yang amat panjang untuk membuat
atau menciptakan suatu perangkat lunak yang berkualitas, bukan
merupakan cabang ilmu komputer yang mempelajari tentang technical
coding.

Apabila dilihat dari persepsi wilayah cakupannya, RPL memiliki wilayah


operasional yang dapat dilihat pada Gambar 1.4 berikut ini.

10
Rekayasa Perangkat Lunak

Gambar 1.4 : Wilayah cakupan RPL

1. Software Requirements.
Dalam proses rekayasa perangkat lunak, fase ini adalah aktifitas
pertama yang harus dilakukan. Fase ini didominasi oleh peran
pengguna dalam menerjemahkan ide atau pandangannya ke
dalam dokumen persyaratan. Hal yang harus diperhatikan bahwa
mendefinisikan dan mendokumentasikan kebutuhan pengguna
secara singkat dan tidak ambigu adalah langkah besar pertama
untuk mencapai produk berkualitas tinggi.
Fase ini meliputi serangkaian tugas, yang membantu
menentukan dampak perangkat lunak pada organisasi,
kebutuhan pelanggan, dan bagaimana pengguna akan
berinteraksi dengan perangkat lunak yang dikembangkan.
Persyaratan yang telah ditentukan adalah dasar dari desain
sistem. Jika persyaratan tidak benar, produk akhir juga akan
mengandung kesalahan. Perlu dicatat bahwa aktifitas penetapan
persyaratan adalah sama seperti semua aktifitas rekayasa
perangkat lunak lainnya di mana harus disesuaikan dengan

11
Rekayasa Perangkat Lunak

kebutuhan proses, proyek, produk, dan orang-orang yang terlibat


di dalamnya. Juga, persyaratan harus ditentukan pada tingkat
detail yang berbeda. Hal ini karena persyaratan tersebut
dimaksudkan untuk personil seperti pengguna, manajer bisnis,
sistem engineer, dan sebagainya. Sebagai contoh, manajer bisnis
tertarik untuk mengetahui fitur apa yang dapat
diimplementasikan dalam anggaran yang dialokasikan sedangkan
pengguna akhir tertarik untuk mengetahui betapa mudahnya
menggunakan fitur perangkat lunak.
2. Software Design.
Secara umum yang meliputi proses penampilan arsitektur,
komponen, antar muka (interface), dan karakteristik lain dari
suatu perangkat lunak. Software design adalah salah satu fase
dalam rekayasa perangkat lunak, di mana terdapat cetak biru
yang dikembangkan untuk memberikan layanan sebagai dasar
untuk membangun sistem perangkat lunak. IEEE mendefinisikan
software design sebagai aktifitas mendefinisikan: arsitektur,
komponen, antarmuka, dan karakteristik lain dari suatu sistem
atau komponen dan hasil dari proses itu.
Pada tahap desain, banyak keputusan penting dan strategis yang
dibuat untuk mencapai fungsionalitas dan kualitas sistem yang
diinginkan. Keputusan ini harus diperhitungkan agar berhasil
dalam mengembangkan perangkat lunak dan melaksanakan
pemeliharaannya sehingga kualitas produk akhir ditingkatkan.
3. Software Construction.
Kegiatan ini meliputi aktifitas yang berhubungan dengan hal-hal
detil dalam pengembangan perangkat lunak, termasuk algoritma,
pengkodean, pencarian kesalahan (debug) dan pengujian (testing).
4. Software Testing.
Secara umum kegiatan ini meliputi pengujian pada kinerja
perangkat lunak secara keseluruhan. Pengujian perangkat lunak
ditujukan untuk menentukan kebenaran, kelengkapan dan

12
Rekayasa Perangkat Lunak

kualitas perangkat lunak yang sedang dikembangkan. IEEE


mendefinisikan pengujian sebagai proses melaksanakan atau
mengevaluasi sistem atau komponen sistem dengan cara manual
atau otomatis untuk memverifikasi bahwa hal itu memenuhi
persyaratan yang ditentukan atau untuk mengidentifikasi
perbedaan antara hasil yang diharapkan dan fakta yang
ditemukan.
Pengujian perangkat lunak terkait erat dengan verifikasi syarat
dan validasi. Verifikasi mengacu pada proses memastikan bahwa
perangkat lunak dikembangkan sesuai dengan spesifikasinya.
Untuk verifikasi, teknik seperti ulasan, analisis, insfeksi, dan
penelusuran umum digunakan. Sedangkan validasi mengacu
pada proses pengecekan bahwa perangkat lunak yang
dikembangkan memenuhi persyaratan yang ditentukan oleh
pengguna.
5. Software Maintenance. Secara umum aktifitasnya mencakup
upaya-upaya perawatan ketika perangkat lunak telah
dioperasikan. Perangkat lunak tidak pernah usang. Namun, perlu
adanya peningkatan untuk memenuhi persyaratan pengguna
yang terus berubah secara dinamis. Untuk melakukan
pembaharuan seperti itu maka sistem perangkat lunak harus
dilakukan maintenance (pemeliharaan). IEEE mendefinisikan
maintenance sebagai suatu proses memodifikasi sistem perangkat
lunak atau komponen setelah di-delivery untuk memperbaiki
kesalahan, untuk meningkatkan kinerja atau atribut lainnya
atau untuk menyesuaikan produk ke lingkungan yang berubah
secara dinamis. Tujuannya adalah untuk memastikan bahwa
perangkat lunak dapat mengakomodasi perubahan setelah sistem
telah di-delivery dan digunakan.
6. Software Configuration Management (SCM).
Software Configuration Management (SCM) adalah suatu disiplin
yang secara sistematis mengendalikan perubahan yang terjadi

13
Rekayasa Perangkat Lunak

selama pengembangan. SCM adalah proses yang terpisah dari


proses pengembangan karena sebagian besar model
pengembangan tidak dapat mengakomodasi perubahan kapan
saja selama pengembangan.
7. Software Engineering Management yang berkaitan dengan
pengelolaan dan pengukuran RPL, termasuk perencanaan proyek
perangkat lunak.
8. Software Engineering Tools and Methods yang mencakup
kajian teoritis tentang alat bantu (tools) dan metode RPL.
9. Software Quality yang menitikberatkan pada kualitas dan daur
hidup perangkat lunak.
10. Software Engineering Process berhubungan dengan
implementasi, definisi, pengukuran, pengelolaan, perubahan dan
perbaikan proses Rekayasa Perangkat Lunak.

Lapisan (layer) dalam Rekayasa Perangkat Lunak

Rekayasa perangkat lunak dapat dipandang sebagai teknologi yang berlapis


seperti yang tersusun sebagai berikut:

1. Lapisan proses memungkinkan pengembangan perangkat lunak


dilakukan tepat waktu. Ini mendefinisikan serangkaian kegiatan
secara garis besar yang harus disepakati untuk men-delivery
teknologi rekayasa perangkat lunak secara efektif.
2. Lapisan metode memberikan pengetahuan teknis untuk
mengembangkan perangkat lunak. Lapisan ini mencakup beragam
tugas yang mencakup analisis kebutuhan, desain, pengkodean,
pengujian, dan fase pemeliharaan pengembangan perangkat lunak.
3. Lapisan alat (tool) memberikan dukungan terkomputerisasi atau
semi-terkomputerisasi untuk lapisan proses dan metode. Terkadang
alat diintegrasikan sedemikian rupa sehingga tool lain dapat
menggunakan informasi yang dibuat oleh satu tool.
Multi-penggunaan ini biasanya disebut sebagai Computer-Aided
Software Engineering (CASE). CASE menggabungkan database

14
Rekayasa Perangkat Lunak

perangkat lunak, perangkat keras, dan rekayasa perangkat lunak


untuk membuat rekayasa perangkat lunak yang analog dengan
Computer-Aided Design (CAD) untuk perangkat keras. CASE
membantu dalam pengembangan aplikasi termasuk analisis, desain,
pembuatan kode, dan debugging dan pengujian. Ini dimungkinkan
dengan menggunakan alat CASE, yang menyediakan metode otomatis
untuk merancang dan mendokumentasikan teknik pemrograman
struktur tradisional. Sebagai contoh, dua teknologi terkemuka yang
menggunakan alat CASE adalah workstation berbasis PC dan
generator aplikasi yang menyediakan antarmuka berbasis grafis
untuk mengotomatisasi proses pengembangan.

Gambar 1.5: Lapisan dalam Rekayasa Perangkat Lunak

Berbagai permasalahan dalam rekayasa perangkat lunak

Rekayasa perangkat lunak adalah pendekatan sistematis untuk


pengembangan, operasi, pemeliharaan, dan penghentian penggunaan suatu
perangkat lunak. Ada beberapa masalah mendasar yang dihadapi rekayasa
perangkat lunak, antara lain:

1. Masalah Ruang Lingkup (cakupan).


Masalah mendasar dari rekayasa perangkat lunak adalah masalah
ruang lingkup. Pengembangan sistem yang sangat besar
membutuhkan serangkaian metode yang sangat berbeda
dibandingkan dengan mengembangkan sistem yang kecil. Dengan

15
Rekayasa Perangkat Lunak

kata lain, metode yang digunakan untuk mengembangkan sistem


kecil umumnya tidak sama dengan sistem yang besar. Satu rangkaian
metode yang berbeda harus digunakan untuk mengembangkan
perangkat lunak besar. Setiap proyek besar melibatkan penggunaan
teknologi dan manajemen proyek.
Untuk proyek perangkat lunak, dengan teknologi yang dimaksud
adalah metode, prosedur dan alat yang digunakan. Dalam proyek
kecil, metode informal untuk pengembangan dan manajemen dapat
digunakan. Namun, untuk proyek besar, keduanya harus jauh lebih
formal.
Saat berurusan dengan proyek perangkat lunak kecil, persyaratan
teknologi rendah dan persyaratan manajemen proyek juga rendah.
Namun, ketika skala berubah menjadi sistem besar, untuk
menyelesaikan masalah seperti itu dengan benar, penting bagi kita
untuk bergerak ke dua arah yaitu metode yang digunakan untuk
pembangunan dan manajemen proyek untuk proyek pengembangan
juga harus lebih formal.
2. Biaya, jadwal dan kualitas.
Biaya pengembangan sistem adalah biaya sumber daya yang
digunakan untuk sistem, yang dalam sisi pandang perangkat lunak,
adalah tenaga kerja, perangkat keras, perangkat lunak, dan sumber
daya pendukung lainnya. Secara umum, komponen tenaga kerja
bersifat dominan, karena pengembangan perangkat lunak sebagian
besar padat karya dan biaya sistem komputasi sekarang cukup
rendah.
Oleh karena itu, biaya proyek perangkat lunak diukur dalam hal
orang/bulan, yaitu biaya dianggap sebagai jumlah total orang/bulan
yang dihabiskan dalam proyek. Jadwal adalah faktor penting dalam
banyak proyek. Tren bisnis menentukan bahwa waktu untuk
memasarkan suatu produk harus dikurangi; artinya, waktu siklus
dari konsep ke delivery harus kecil. Setiap bisnis dengan persyaratan
seperti itu juga akan mensyaratkan bahwa waktu siklus untuk

16
Rekayasa Perangkat Lunak

membangun perangkat lunak yang dibutuhkan oleh bisnis menjadi


lebih kecil.
Salah satu faktor utama yang mendorong aspek produksi adalah
kualitas. Kualitas produk perangkat lunak memiliki tiga dimensi,
yaitu:
o Operasi Produk
o Transisi Produk
o Revisi Produk
3. Masalah konsistensi.
Meskipun telah memiliki kualitas tinggi, biaya rendah dan waktu
siklus kecil adalah tujuan utama dari setiap proyek, namun untuk
organisasi ada tujuan lain yang ingin dicapai yaitu konsistensi.
Sebuah organisasi yang terlibat dalam pengembangan perangkat
lunak tidak hanya menginginkan biaya rendah dan kualitas tinggi
untuk suatu proyek, tetapi menginginkannya secara konsisten.

Soal :

1. Sebutkan dan jelaskan elemen pembentuk suatu sistem komputer.


2. Jelaskan secara ringkas bentuk keterkaitan antara masing-masing
elemen yang membentuk sistem komputer.
3. Uraikan dengan ringkas, makna dasar yang melekat pada defenisi
perangkat lunak (software)
4. Buatlah pengklasifikasian perangkat lunak dan jelaskan kegunaan
masing-masingnya. Berikan contoh.
5. Uraikan dengan ringkas, pengertian Rekayasa Perangkat Lunak
(Software Engineering).
6. Apakah tujuan mendasar dari kegiatan Rekayasa Perangkat Lunak
dan apa indikasi bahwa kegiatan itu berhasil?

17

Anda mungkin juga menyukai