BAB 1
PENDAHULUAN
A. 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:
Jelaslah bahwa RPL tidak hanya berhubungan dengan cara pembuatan program komputer. Pernyataan “semua aspek produksi” pada pengertian di atas, mempunyai arti semua hal yang berhubungan dengan proses produksi seperti manajemen proyek, penentuan personil, anggaran biaya, metode, jadwal, kualitas sampai dengan pelatihan pengguna merupakan bagian dari RPL.
B. Tujuan Rekayasa Perangkat Lunak
Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain.
Dari Gambar 1 dapat diartikan 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.
C. Ruang Lingkup Rekayasa Perangkat Lunak
Sesuai definisi yang telah disampaikan sebelumnya, maka ruang lingkup
RPL dapat digambarkan sebagai berikut.
- 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.
BAB II
METODE REKAYASA PERANGKAT LUNAK
Ketika kita bekerja dengan komputer seperti pada kita membutuhkan serangkaian tahapan dan cara-cara tertentu agar dapat menghasilkan sesuatu yang menjadi harapan kita. Demikian juga dalam rekayasa perangkat
lunak, diperlukan tahapan-tahapan kerja yang harus dilalui. Rekayasa perangkat lunak yang sukses tidak hanya membutuhk kemampuan komputasi seperti algoritma, pemrograman, dan basis data yang kuat, namun juga perlu penentuan tujuan yang baik, identifikasi cara penyelesaian, metode pengembangan, urutan aktifitas, identifikasi kebutuhan sumberdaya, dan faktor-faktor lain.
Hal-hal
seperti ini terkait dengan apa yang disebut dengan metode rekayasa
perangkat lunak. Isi dari bab ini tidak termasuk dalam standar
kompetensi bidang keahlian RPL. Namun penulis memandang perlu
disampaikan agar kalian dapat mengetahui bagaimana sebenarnya
rekayasa perangkat lunak dilakukan dan metode-metode apa saja yang
biasa digunakan. Beberapa bagian dari bab ini mungkin agak sulit
dipahami, sehingga peran guru dalam membantu menjelaskan akan
sangat diperlukan.
Setelah mempelajari Rekayasa Perangkat Lunak ini diharapkan mampu :
1. Memahami karakteristik umum model proses dalam rekayasa perangkat Lunak
2. Menyebutkan beberapa model rekayasa perangkat lunak
3. Mengetahui Prinsip-prinsip dari metode waterfall, prototyping, dan univied process.
4. Memahami Tahapan-tahapan dalam rekayasa Perangkat Lunak.
A. Model 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 10.
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. Oleh karena itu pemahaman masalah seperti dijelaskan
pada Bab 1, merupakan bagian penting dari model
pengembangan perangkat lunak.
§ 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).
1. The waterfall model
Model siklus hidup (life cycle model) adalah model utama dan dasar dari banyak
model.
Salah satu model yang cukup dikenal dalam dunia rekayasa perangkat
lunak adalah The Waterfall Model. Ada 5 tahapan utama dalam The
Waterfall Model seperti terlihat pada Gambar 2.3. di sebut Waterfall (
berarti Air Terjun) memang diagram tahapan prosesnya mirip dengan air
terjun yang bertingkat. Tahapan-tahapan dalam The Waterfall Model secara
ringkas adalah sebagai berikut :
a) Tahap
investigasi dilakukan untuk menentukan apakah terjadi suatu
masalah atau adakah peluang suatu sistem informasi dikembangkan. Pada
tahapan ini studi kelayakan perlu dilakukan untuk menentukan
apakah sistem informasi yang akan dikembangkan merupakan solusi yang
layak
b) Tahap
analisis bertujuan untuk mencari kebutuhan pengguna dan organisasi
serta menganalisa kondisi yang ada (sebelum diterapkan sistem informasi
yang baru).
c) Tahap
disain bertujuan menentukan spesifikasi detil dari komponen-
komponen sistem informasi (manusia, hardware, software, network dan
data) dan produk-produk informasi yang sesuai dengan hasil tahap
analisis.
d) Tahap
implementasi merupakan tahapan untuk mendapatkan atau
mengembangkan hardware dan software (pengkodean program),
melakukan pengujian, pelatihan dan perpindahan ke sistem baru.
e) Tahapan
perawatan (maintenance) dilakukan ketika sistem informasi sudah
dioperasikan. Pada tahapan ini dilakukan monitoring proses, evaluasi dan
perubahan (perbaikan) bila diperlukan.
2. Prototyping model
Prototyping
adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara
langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau
komponen-komponen perangkat lunak akan bekerja dalam
lingkungannya sebelum tahapan konstruksi aktual dilakukan (Howard,
1997). Prototyping model dapat diklasifikasikan menjadi beberapa tipe seperti terlihat pada gambar 12
- Reusable prototype :
Prototype yang akan ditransformasikan menjadi produk final.
- Throwaway prototype :
Prototype yang akan dibuang begitu selesai menjalankan maksudnya.
- Input/output prototype :
Prototype yang terbatas pada antar muka pengguna (user interface).
- Processing prototype :
Prototype yang meliputi perawatan file dasar dan proses-proses transaksi.
- System prototype :
Prototype yang berupa model lengkap dari perangkat lunak.
Tahap-tahap
dalam prototyping boleh dikata merupakan tahap-tahap yang
dipercepat. Strategi utama dalam prototyping adalah kerjakan yang
mudah terlebih dahulu dan sampaikan hasil kepada pengguna sesegera
mungkin. Harris (2003) membagi prototyping dalam enam tahapan seperti
terlihat pada gambar 13.
Tahapan-tahapan secara ringkas dapat dijelaskan sebagai berikut:
- Identifikasi kandidat prototyping. Kandidat dalam kasus ini meliputi user interface (menu, dialog, input dan output), file-file transaksi utama, dan fungsi-fungsi pemrosesan sederhana.
- Rancang bangun prototype dengan bantuan software seperti word processor, spreadsheet, database, pengolah grafik, dan software CASE
(Computer-Aided System Engineering).
- Uji prototype untuk memastikan prototype dapat dengan mudah dijalankan untuk tujuan demonstrasi.
- Siapkan prototype USD (User’s System Diagram) untuk mengidentifikasi bagian-bagian dari perangkat lunak yang di-prototype-kan.
- Evaluasi dengan pengguna untuk mengevaluasi prototype dan melakukan perubahan jika diperlukan.
- Transformasikan prototype menjadi perangkat lunak yang beroperasi penuh dengan melakukan penghilangan kode-kode yang tidak dibutuhkan, penambahan program-program yang memang dibutuhkan dan perbaikan dan pengujian perangkat lunak secara berulang.
artikel ini disalin lengkap dari: http://materikuliahjuni.blogspot.co.id/2011/08/rekayasa-perangkat-lunak.html
halaman utama website: http://materikuliahjuni.blogspot.co.id/
jika mencari artikel yang lebih menarik lagi, kunjungi halaman utama website tersebut. Terimakasih!
No comments:
Post a Comment