RPL
PENDAHULUAN Rekayasa perangkat lunak telah berkembang sejak pertama kali diciptakan pada tahun 1940-an hingga kini. Focus utama pengembangannya adalah untuk mengembangkan praktek dan teknologi untuk meningkatkan produktivitas para praktisi pengembang perangkat lunak dan kualitas aplikasi yang dapat digunakan oleh pemakai.
Pengertian Dasar Pengertian RPL sendiri 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. Dari pengertian ini 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.
Tujuan dari RPL adalah a. Menghasilkan sebuah perangkat lunak yang berkualitas. Yang dimaksud dengan berkualitas dapat dilihat dari tiga sisi, sisi sponsor (individu atau organisasi yang telah mengeluarkan biaya dalam pembangunan perangkat lunak), sisi pemakai (siapapun yang menggunakan perangkat lunak tersebut), sisi maintainer / modifier (yang memelihara dan memodifikasi perangkat lunak tersebut). Untuk lebih jelasnya lihat gambar 1.1. Sisi Sponsor : Tujuan utama sponsor adalah menghasilkan dan atau menghemat uang. Sponsor ingin menggunakan perangkat lunak tersebut untuk meningkatkan produktivitas organisasi. Sponsor mengharapkan untuk dapat menghasilkan sebuah layanan dengan biaya yang rendah tetapi masuk akal. Karena itu sistem yang dibuat harus handal, fleksibel dan efisien. Selain itu biaya dari pemeliharaan, modifikasi dan peningkatan dari sistem tersebut harus serendah mungkin.
Sisi Pemakai : Bagi pemakai perangkat lunak adalah alat untuk membantu menyelesaikan tugas-tugasnya. Karena itu perangkat lunak harus menyediakan fungsi- fungsi yang dibutuhkan oleh pemakai. Perangkat lunak juga harus handal dan efisien, perangkat lunak harus dapat menghasilkan output yang konsisten. Selain itu pemakai harus merasa perangkat lunak yang dibuat mudah untuk dipelajari, mudah digunakan dan mudah untuk diingat. Sisi Maintainer/modifier : Yang diinginkan oleh maintainer/modifier adalah perangkat lunak tersebut memiliki sangat sedikit error pada saat penginstallan pertama (catatan : sangat kecil kemungkinannya untuk menghasilkan perangkat lunak yang 100 % bebas dari bug). Selain itu perangkat lunak tersebut harus terdokumentasi dengan baik. Source code juga harus mudah dibaca, terstruktur dan dirancang dengan baik dan bersifat modular. b. Tujuan kedua dari RPL adalah menghasilkan perangkat lunak dengan biaya yang efisien. c. Sedangkan tujuan ketiga dari RPL adalah menghasilkan perangkat lunak tepat pada waktunya.
Evolusi Perangkat Lunak
Lingkup Rekayasa Perangkat Lunak
Lanjutan…… Fokus kualitas Proses Metodologi Perangkat Bantu
Fokus kualitas Rekayasa perangkat lunak merupakan suatu kegiatan untuk menghasilkan suatu produk, sehingga harus berada pada satu komitmen dasar menuju kualitas
Proses Area proses kunci ini membentuk dasar bagi kontrol manajemen proyek pengembangan perangkat lunak serta membangun kontek dimana metode teknis diaplikasikan sehingga sebuah produk yang berkualitas bisa dihasilkan
metodologi yaitu sekumpulan metode untuk melaksanakan setiap tahap pengembangan perangkat lunak, yang meliputi : perencanaan dan estimasi proyek, analisa kebutuhan, prosedur algoritma dan arsitektur program, menulis program (coding), pengujian (testing), dan pemeli-haraan (maintenance). Terakhir adalah perangkat bantu (tools).
Perangkat bantu suatu perangkat, baik lunak atau keras, otomatis maupun semi-otomatis yang bisa digunakan untuk proses pengembangan perangkat lunak. Tools untuk rekayasa perangkat lunak disebut computer-aided sofware engineering (CASE). CASE ini terus dikembangkan untuk menciptakan lingkungan rekayasa perangkat lunak sehingga analog dengan CAD/CAE (computer-aided design/engineering) pada pengembangan perangkat keras.
Tiga komponen dalam RPL : Metode Alat Bantu (tools) Prosedur
Metode RPL : Perencanaan dan Estimasi proyek Analisa Kebutuhan Prosedur algoritma dan arsitektur program Menulis Program (coding) Pengujian (testing) Pemeliharaan (maintenance)
Lingkup Rekayasa Perangkat Lunak Metodologi Soft ware Prosedure Perangkat Bantu (Tools)
Metodologi Sekumpulan metode untuk melaksanakan setiap tahap pembangunan perangkat lunak . Perangkat Bantu Perkakas ( CASE Tools ) untuk dipergunakan pada proses pembangunan perangkat lunak . Prosedur Bagaimana mengola kegiatan pengembangan (Manajemen)
Gambar 2. Ruang lingkup RPL (Abran et.al., 2004).
REKAYASA PERANGKAT LUNAK DAN DISIPLIN ILMU LAIN Keterkaitan RPL dengan bidang ilmu lain
Paradigma Rekayasa Perangkat Lunak Siklus Hidup Klasik Paradigma siklus hidup klasik untuk rekayasa perangkat lunak. Disebut juga sebagai “model air terjun”. Beberapa kelebihan model ini adalah : Titik awal dan titik akhir yang eksplisit Setiap tahapan didefinisikan dengan jelas Setiap akhir suatu tahap, disesuikan kembali dengan tahap sebelumnya, sehingga kesalahan yang mungkin terjadi bisa ditemukan dan diselesaikan lebih dini. Incremental release, lingkup kerja untuk tahapan-tahapan berikutnya menjadi lebih kecil, dan tugas yang lebih mudah. Jika tahap awal dilakukan dengan benar maka akan mempermudah tahap berikutnya.
Model Prototype Paradigma ini dimulai dengan mengumpulkan kebutuhan. Pengembang dan pelanggan bertemu untuk mendefinisikan obyektif keseluruhan dari perangkat lunak. Kemudian dilakukan perancangan kilat yang berfokus pada penyajian dari aspek-aspek perangakt lunak yang akan nampak oleh pelanggan/pemakai (misal format input dan outputnya). Perancangan kilat tersebut membawa kepada konstruksi prototipe. Prototipe ini dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan perangkat lunak yang dibutuhkan. Iterasi terjadi pada saat prototipe disetel untuk memenuhi kebutuhan pelanggan, dan pada saat yang sama memungkinkan pengembang untuk secara lebih baik memahami apa yang harus dilakukan.
Lanjutan…… Prototipe bisa berfungsi sebagai “sistem awal”. Tetapi pada beberapa proyek yang dibangun dengan prototipe, saat penggunaan pertama sistem awal yang baru dibangun tersebut, mungkin akan terasa terlalu pelan, terlalu besar, janggal dalam pemakaian, atau bahkan tiga hal tersebut semua terjadi. Jika terjadi demikian maka tidak ada pilihan lain kecuali memulai lagi untuk membangun versi yang baru dimana masalah yang muncul bisa diselesaikan.
Model RAD (Rapid Aplication Development). RAD adalah merupakan model proses pengembangan perangkat lunak adaptasi kecepatan tinggi dari model sekuensial linier yang menekankan siklus perkembangan yang sangat pendek Pendekatan RAD melingkupi fase-fase sebagai berikut : Businnes modelling. Pemodelan dari aliran informasi diantara fungsi-fungsi bisnis. Data modelling. Mengidentifikasi serangkaian objek data yang dibutuhkan dan karakteristik masing-masing objek tersebut, serta mendefinisikan hubungan antara objek-objek tersebut. Proses modelling. Mentransformasikan hasil data modelling untuk mencapai aliran informasi yang perlu bagi implementasi fungsi-fungsi prosesnya. Gambaran proses dibuat untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data. Aplication generation. RAD mengasumsikan pemakaian teknik generasi keempat (4GL), lebih banyak memakai komponen program yang sudah ada, juga menciptakan komponen yang bisa dipakai lagi. Testing and turnover. Karena proses RAD menekankan pada pemakaian kembali, maka setiap komponen baru harus diuji untuk mengurangi keseluruhan waktu pengujian
Disamping tiga model di atas, masih banyak lagi model proses rekayasa perangkat lunak yang lain, yaitu : Model Pertambahan Model Spiral Model Rakitan Komponen Model Perkembangan Konkuren Model Formal Teknik Generasi Keempat (4GL)
Sofware Requirements Analysis Pengumpulan kebutuhan dengan berfokus pada perangkat lunak Meliputi : - Domain informasi - Fungsi - Unjuk kerja - Antar muka
Design Perancang struktur data Arsitektur perangkat lunak Rincian prosedural Karakteristik antar muka
Coding - Penerjemah perancang ke bentuk yang dapat dimengerti oleh mesin
Testing - Penguji lojikal - Penguji fungsional Menemukan kesalahan dan memastikan suatu masukan diproses menjadi keluaran yang sesuai dengan yang diinginkan
Maintenance - Bagian terujung dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan - Kegiatan : - Corrective Maintenance : Mengkoreksi kesalahan pada perangkat lunak, yang baru terdeteksi pada saat perangkat lunak dipergunakan
Kedudukan RPL dalam Rekayasa Sistem Informasi Procedures Documents Hardware Database System Informasi Sofware People
Tugas Cari Kelemahan dari Model Proses Pengembangan Perangkat Lunak Water Fall Prototyping Model RAD (Rapid Application Development) Model Spiral Model