BAB 1
PENDAHULUAN
A.
Latar Belakang
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 luank dan kualitas aplikasi
yang dapat digunakan oleh pemakai.
B. Rumusan Masalah
1. Apa Pengertian Rekayasa Perangkat Lunak ?
2. Apa
Tujuan Rekayasa Perangkat Lunak ?
3. Apa
Ruang Lingkup Rekayasa Perangkat Lunak ?
4. Apa hubungan Rekayasa Perangkat
Lunak dengan Disiplin Ilmu Lain ?
5.
Bagaimana Perkembangan Rekayasa Perangkat Lunak ?
6. Apa
Metode yang digunakan pada Rekayasa Perangkat Lunak ?
7. Apa
Tahapan dalam Rekayasa Perangkat Lunak ?
C. Tujuan
1. Menjelaskan Pengertian Rekayasa Perangkat Lunak ?
2.
Menjelaskan Tujuan Rekayasa Perangkat Lunak ?
3. Menjelaskan
Lingkup Rekayasa Perangkat Lunak ?
4. Menjelaskan hubungan Rekayasa
Perangkat Lunak dengan Disiplin Ilmu Lain ?
5. Menjelaskan
Perkembangan Rekayasa Perangkat Lunak ?
6. Menjelaskan
Metode yang digunakan pada Rekayasa Perangkat Lunak ?
7. Menjelaskan
Tahapan dalam Rekayasa Perangkat Lunak ?
BAB II
PEMBAHASAN
1. Pengertian Rekayasa Perangkat
Lunak
Istilah Rekayasa Perangkat Lunak (RPL) secara umum
disepakati sebagai terjemahan dari istilah Software Engineering. Istilah Software Engineering
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.
Perangkat
lunak adalah
seluruh perintah yang
digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur.
Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan
prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses
informasi (O’Brien, 1999). Pengertian
RPL sendiri adalah sebagai berikut:
2. Tujuan
Rekayasa Perangkat Lunak
Bahwa bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu
penyelesaian yang tepat.
Secara lebih khusus kita dapat menyatakan tujuan RPL adalah :
a. Memperoleh biaya produksi perangkat lunak
yang rendah.
b. Menghasilkan perangkat
lunak yang kinerjanya tinggi, andal dan tepat
waktu
c. Menghasilkan perangkat
lunak yang dapat bekerja pada berbagai jenis
Platform.
d.Menghasilkan perangkat lunak yang biaya perawatannya rendah.
3. 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.
4. Rekayasa Perangkat Lunak Dan Disiplin Ilmu Lain
Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan
disiplin bidang ilmu lain. Tidak saja
dengan sub-bidang dalam disiplin ilmu komputer namun dengan beberapa disiplin
ilmu lain di luar ilmu komputer. Hubungan keterkaitan RPL dengan ilmu lain dapat
dilihat pada Gambar.
·
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 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.
5. Perkembangan Rekayasa Perangkat Lunak
Meskipun baru
dicetuskan pada tahun 1968, namun RPL telah memiliki sejarah yang cukup yang
panjang. Dari sisi disiplin ilmu, RPL masih reklatif muda dan akan terus
berkembang.
Arah
perkembangan yang saat ini sedang dikembangkan antara lain meliputi :
Tahun
|
Kejadian
|
1940an
|
Komputer pertama yang membolehkan pengguna menulis kode program
langsung
|
1950an
|
Generasi awal interpreter dan
bahasa macro Generasi pertama compiler
|
1960an
|
Generasi kedua compiler
Komputer mainframe mulai dikomersialkan Pengembangan perangkat lunak pesanan
Konsep Software Engineering
mulai digunakan
|
1970an
|
Perangkat pengembang perangkat
lunak Perangkat minicomputer komersial
|
1980an
|
Perangkat Komputer Personal
(PC) komersial Peningkatan permintaan perangkat lunak
|
1990an
|
Pemrograman berorientasi obyek
(OOP) Agile Process dan Extreme Programming Peningkatan drastis kapasitas
memori Peningkatan penggunaan internet
|
2000an
|
Platform interpreter modern
(Java, .Net, PHP, dll) Outsourcing
|
6. Metode Rekayasa Perangkat Lunak
Pada rekayasa
perangkat lunak, banyak model yang telah dikembangkan untuk membantu proses
pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada model
proses pengembangan sistem yang disebut System Development Life Cycle (SDLC)
seperti terlihat pada Gambar berikut ini.
Setiap model
yang dikembangkan mempunyai
karakteristik sendiri- sendiri.
Namun secara umum ada persamaan dari model-model
ini, yaitu:
§ Kebutuhan terhadap definisi
masalah yang jelas. Input utama dari setiap model pengembangan perangkat lunak adalah pendefinisian
masalah yang jelas. Semakin jelas akan semakin baik karena akan memudahkan dalam
penyelesaian masalah.
§ Tahapan-tahapan pengembangan yang teratur. Meskipun model-model pengembangan
perangkat lunak memiliki pola yang berbeda-beda, biasanya model-model tersebut
mengikuti pola umum analysis – design – coding – testing - maintenance.
§ Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan. Stakeholder dalam rekayasa perangkat lunak
dapat berupa pengguna pemilik, pengembang, pemrogram dan orang-orang yang
terlibat dalam rekayasa perangkat lunak tersebut.
§ Dokumentasi merupakan bagian
penting dari pengembangan perangka lunak. Masing-masing tahapan dalam model biasanya
menghasilkan sejumlah tulisan, diagram, gambar atau bentuk-bentuk lain
yang harus didokumentasi dan merupakan bagian tak terpisahkan dari perangkat
lunak yang dihasilkan.
§ Keluaran dari
proses pengembangan perangkat
lunak harus bernilah ekonomis. Nilai dari sebuah perangkat lunak sebenarnya
agak susah di- rupiah-kan Namun efek dari
penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai
tambah bagi organisasi. Hal ini dapat
berupa penurunan biaya
operasi, efisiensi penggunaan
sumberdaya, peningkatan keuntungan organisasi, peningkatan “image” organisasi dan
lain-lain
Ada banyak model pengembangan perangkat lunak, antara lain
The Waterfall Model, Joint Application Development (JAD), Information
Engineering (IE), Rapid Application Development (RAD), Prototyping, Unified Process (UP), Structural
Analysis and Design (SAD) d Framework for the Application of System thinking
(FAST) The Waterfall
Model, Prototyping, Unified Process (UP).
7. Tahapan Rekayasa Perangkat Lunak
Meskipun dalam
pendekatan berbeda-beda, namun model-model pendekatan memiliki kesamaan, yaitu
menggunaka pola tahapan analysis – design – coding(construction) – testing –
maintenance.
a. Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem
menjadi komponen-komponennya dengan tujuan mempelajari seberapa bagus
komponen-komponen tersebut bekerja dan berinteraksi untuk meraih tujuan mereka.
Analisis mungkin adalah bagian
terpenting dari proses rekayasa perangkat lunak. Karena semua proses lanjutan akan sangat
bergantung pada baik tidaknya hasil analisis. Ada satu bagian penting yang
biasanya dilakukan dalam tahapan analisis yaitu pemodelan proses bisnis.
b. Model proses adalah model yang memfokuskan pada seluruh proses di dalam sistem yang mentransformasikan data menjadi
informasi (Harris, 2003). Model proses
juga menunjukkan aliran data yang masuk dan keluar pada suatu proses. Biasanya model ini digambarkan dalam bentuk
Diagram Arus Data (Data Flow Diagram / DFD).
DFD meyajikan gambaran apa yang manusia, proses dan prosedur lakukan
untuk mentransformasi data menjadi informasi.
c. Disain
perangkat lunak
adalah tugas, tahapan atau aktivitas yang difokuskan pada spesifikasi
detil dari solusi berbasis computer (Whitten et al, 2004).
Disain perangkat lunak sering juga
disebut sebagai physical design. Jika
tahapan analisis sistem menekankan pada masalah bisnis (business rule), maka
sebaliknya disain perangkat lunak fokus pada sisi teknis dan implementasi
sebuah perangkat lunak (Whitten et al, 2004).
Output utama dari tahapan
disain perangkat lunak adalah
spesifikasi disain. Spesifikasi ini
meliputi spesifikasi disain umum yang akan disampaikan kepada stakeholder
sistem dan spesifikasi disain rinci yang akan digunakan pada tahap
implementasi. Spesifikasi disain umum
hanya berisi gambaran umum agar stakeholder sistem mengerti akan seperti apa
perangkat lunak yang akan dibangun.
Biasanya diagram USD tentang perangkat lunak yang baru merupakan point
penting dibagian ini. Spesifikasi
disain rinci atau kadang disebut disain arsitektur rinci perangkat lunak
diperlukan untuk merancang sistem sehingga memiliki konstruksi yang baik,
proses pengolahan data yang tepat dan akurat, bernilai, memiliki aspek user
friendly dan memiliki dasar-dasar untuk pengembangan selanjutnya.
Desain arsitektur ini terdiri
dari desain database, desain proses, desain user interface yang mencakup desain input,
output form dan report, desain hardware, software dan jaringan. Desain proses merupakan kelanjutan dari
pemodelan proses yang dilakukan pada tahapan analisis.
d. Konstruksi adalah tahapan menerjemahkan hasil disain logis dan fisik ke dalam
kode-kode program komputer.
e. Pengujian sistem melibatkan semua kelompok
pengguna yang telah direncanakan pada tahap sebelumnya. Pengujian tingkat
penerimaan terhadap perangkat lunak akan berakhir ketika dirasa semua kelompok
pengguna menyatakan bisa menerima perangkat
lunak tersebut berdasarkan kriteria-kriteria yang telah ditetapkan.
f. Perawatan dan
Konfigurasi. Ketika sebuah perangkat lunak
telah dianggap layak untuk dijalankan, maka tahapan baru menjadi muncul yaitu
perawatan perangkat lunak. Ada beberapa
tipe perawatan yang biasa dikenal dalam dunia perangkat lunak seperti terlihat
pada diagram di Gambar di bawah ini :
- Tipe perawatan corrective dilakukan jika terjadi kesalahan atau biasa dikenal sebagai bugs. Perawatan bisa dilakukan dengan memperbaiki kode program, menambah bagian yang dirasa perlu atau malah menghilangkan bagian-bagian tertentu.
- Tipe perawatan routine biasa juga disebut preventive maintenance dilakukan secara rutin untuk melihat kinerja perangkat lunak ada atau tidak ada kesalahan.
- Tipe perawatan sistem upgrade dilakukan jika ada perubahan dari komponen-komponen yang terlibat dalam perangkat lunak tersebut. Sebagai contoh perubahan platform sistem operasi dari versi lama ke versi baru menyebabkan perangkat lunak harus diupgrade.
BAB III
PENUTUP
- Kesimpulan
§
Perangkat lunak
adalah seluruh perintah yang
digunakan untuk memproses informasi
§
Program adalah kumpulan perintah yang dimengerti oleh
komputer
§
Prosedur adalah perintah yang dibutuhkan oleh pengguna
dalam memproses informasi
§
RPL adalah suatu
disiplin ilmu yang
membahas semua aspek produksi perangkat
lunak, mulai dari
tahap awal yaitu
analisa kebutuhan pengguna, menentukan
spesifikasi dari kebutuhan pengguna, disain,
pengkodean, pengujian sampai
pemeliharaan sistem setelah digunakan.
§
Tujuan RPL adalah menghasilkan perangkat lunak dengan kinerja tinggi, tepat waktu, berbiaya
rendah, dan multiplatform.
§
RPL
merupakan sub bidang
ilmu komputer yang
dalam penerapannya membutuhkan dukungan baik dari sub bidang ilmu
komputer lainnya maupun bidang-bidang ilmu lain.
§
Sertifikasi untuk bidang RPL belum tersedia, namun
mengacu pada bidang Programmer
§
Masalah (problem) adalah perbedaan antara kondisi yang terjadi dan kondisi
yang diharapkan dan Gejala adalah tanda/petunjuk terjadinya suatu masalah.
§
Model-model rekayasa perangkat lunak pada umumnya mengacu
pada model proses pengembangan sistem
yang disebut System Development Life Cycle (SDLC).
§
Model pengembangan perangkat lunak yang sekarang umum
digunakan adalah The Waterfall Model, Prototyping, dan Unified Process (UP).
§
Tahapan-tahapan utama dalam rekayasa perangkat lunak
meliputi :
analisis, disain, konstruksi,
pengujian dan perawatan.
DAFTAR PUSTAKA
https://miysah.files.wordpress.com/2009/01/makalah-rpl.doc
(Diakses pada tanggal 13 Maret 2016)
http://tisharing.blogspot.co.id/
Tehnik Informatika prodishare RPL Makalah tentang Rekayasa Perangkat
Lunak.htm (Diakses pada tanggal 13 Maret 2016)
http://www.isrul.com/
Pengertian, Tujuan dan Ruang Lingkup Rekayasa Perangkat
Lunak _ Software Engineering _ Ilmu Informatika.htm (Diakses pada tanggal 13
Maret 2016 )
http://kuliahku-kampusku.blogspot.co.id/
Materi Rekayasa Perangkat Lunak _ MATERI KULIAH.htm
(Diakses pada tanggal 13 Maret 2016)
Join My Sosmed