Intanraras area

Intanraras area

Senin, 28 Desember 2009

REKAYASA PERANGKAT LUNAK

materi I

1. Kemukakan beberapa pengertian Rekayasa Perangkat Lunak (Software engenering) dari beberapa rujukan (buku referensi atu internet) dan berikan analisis pentingnya RPL dalam disiplin Ilmu Teknologi Informasi dan Komunkasi!
JAWAB :
• -STEPHAN R. SCAHACH => RPL adalah sebuah disiplin di mana dalam menghasilkan perangkat lunak bebas dari kesalahan dan dalam pengiriman anggaran tepat waktu serta memuaskan keinginan user.
• -FRITZ BAVER => RPL adalah penerapan dan penggunaan perinsip Rekayasa dalam rangka memperoleh perangkat lunak yang dapat di percaya dan dapat bekerja secara episien pada mesin nyata dan merupakan teknik yang berkaitan dengan semua aspek dalam PL.
• (IEEE)=> RPL adalah Sebuah studi pendekatan dan aplikasi secara sistematis disiplin pengembangan operasi dan pemeliharaan perangkat lunak yang ke semuanya itu merupakan aplikasi reakayasa yang berkaitan dengan perangkat lunak.
Menurut beberapa sumber pengertian dari Perekayasa Perangkat Lunak adalah sebagai berikut:
• Rekayasa Perangkat Lunak adalah disiplin ilmu dalam bidang rekayasa atau teknik yang berkaitan dengan semua aspek dalam pembuatan Perangkat Lunak.
• Rekayasa Perangkat Lunak harus mengikuti pendekatan yang sistematis dan teratur dan menggunakan alat dan teknik yang cocok sesuai dengan masalah yang akan dipecahkan, batasan pembangunan dan sumber yang tersedia.
• Perekayasa Perangkat Lunak adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, desai, pengkodean, pengujian, sampai pemeliharaan sistem setelah digunakan.

Konsep Learning menurut saya (Intan Raras RD) :
RPL adalah sebuah disiplin ilmu yang dimana menggunakn teknik yang berkaitan dengan semua aspek dalam membuat perangkat lunak, penerapan dan penggunaan perinsip Rekayasa dalam rangka memperoleh perangkat lunak yang dapat di percaya dan dapat bekerja secara episien pada mesin nyata yang menggunakan sebuah study pendekatan dan aplikasi secara sistematis disiplin pengembangan operasi dan pemeliharaan perangkat lunak yang ke semuanya itu merupakan aplikasi reakayasa yang berkaitan dengan perangkat lunak.

2. Terdapat beberapa model dasar dalam RPL diantaranya : (1) Sequential model, (2) Evolutionary model, (3) RAD model, (4) Prototyping model, (5) Extrame programming model. Tugas Anda :
a. Buatlah analisis, apa saja kelebihan dan kekurangan dari masing-masing model tersebut?
JAWAB :
(1) Evolutionary Model
Model Evolutionary merupakan rangkaian aktivitas yang terjadi selama pengembangan, pemakaian dan pemeliharaan software. Model ini bersifat iteratif/ mengandung perulangan. Hasil proses berupa produk yang makin lama makin lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses.
Kelebihan Model Evolutionary adalah:
• Kebutuhan klien dapat dikirim di tiap-tiap increment sehingga sistem akan tersedia lebih awal.
• Resiko yang lebih rendah terjadinya kesalahan projet secara keselutruhan.
• Layanan sistem dengan prioritas tertinggi yang akan paling diuji.
• Increment awal berfungsi sebagai prototype untuk membantu memperoleh kebutuhan increment selanjutnya.
• Nilai konsumen dapat diserahkan pada setiap increment sehingga fungsional sistem tersedia lebih dahulu.
Kekurangan Model Evolutionary adalah:
• Cocok untuk model berukuran kecil (tidak lebih dari 200.000 baris coding)
• Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment.
(2) Squential Model
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan dan memang diagram tahapan prosesnya mirip dengan air terjun yang bertingkat. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement.
Kelebihan Sequential Model atau Waterfall Model :
1) Pengaplikasian menggunakan model ini mudah
2) Ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal project, maka software engineering dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan seeksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal project lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap selanjutnya.
Kekurangan Sequential Model atau Waterfall Model:
• Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan selanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul. Hal-hal seperti ini yang dapat membuang waktu pengerjaan SE.
• Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya. Oleh karena itu, seringkali model ini berlangsung lama pengerjaannya.
• Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya masing-masing. Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumber dayanya juga tidak terpakai lagi. Oleh karena itu, seringkali pada model proses ini dibutuhkan seseorang yang “multi-skilled”, sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya.