Nama : Rendi Setiawan Nim : 41813120188
Pengertian Dasar Istilah Reakayasa Perangkat Lunak (RPL) secara umum disepakati sebagai terjemahan dari istilah Software engineering. Istilah Software Engineering mulai dipopulerkan pada 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 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 semnua 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 REKAYASA PERANGKAT LUNAK Secara umunmm tujuan RPL tidak berbeda dengan bidang rekayasa yang lain. Hal ini dapat kita lihat pada Gambar di bawah ini.
Gambar 1. Tujuan RPL
Dari Gambar di atas dapat diartikan bahwa bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat. Secara leboih khusus kita dapat menyatakan tujuan RPL adalah: 1. memperoleh biaya produksi perangkat lunak yang rendah 2. menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu 3. menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform 4. menghasilkan perangkat lunak yang biaya perawatannya rendah
RUANG LINGKUP Sesuai dengan definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL dapat digambarkan sebagai berikut:
Gambar 2. Ruang lingkup RPL (Abran et.al., 2004).
software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak •
software desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak
•
software construction berhubungan dengan detail 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 menitik beratkan pada kualitas dan daur hidup perangkat lunak
Spesifikasi Perangkat Lunak Spesifikasi perangkat lunak, ditujukan untuk menetapkan layanan apa yang dituntut dari sistem dan batasan pada-operasi dan pengembangan sistem. Kegiatan ini sering disebut rekayasa persyaratan. Rekayasa persyaratan merupakan tahap yang sangat kritis dari proses perangkat lunak karena kesalahan pada tahap ini pada akhirnya menimbulkan masalah lain pada perancangan dan implementasi sistem.
Fase-Fase Spesifikasi Studi kelayakan. Dibuat perkiraan mengenai apakah user yang diidentifikasi puas menggunakan perangkat lunak dan teknologi perangkat keras yang dipakai pada saat ini. Studi kelayakan seharusnya murah dan cepat. Hasilnya harus menginformasikan keputusan apakah kita akan terus dengan analisis yang lebih rinci, atau tidak Validasi persyaratan. Kegiatan ini memeriksa apakah persyaratan dapat direalisasikan, konsisten, dan lengkap. Elisitasi dan analisis persyaratan. Ini merupakan proses penurunan persyaratan sistem melalui observasi sistem yang ada, diskusi dengan user yang akan memakai dan yang mengadakan, analisis pekerjaan, dll. Spesifikasi persyaratan. Spesifikasi persyaratan adalah kegiatan menerjemahkan informasi yang dikumpulkan pada kegiatan analisis menjadi dokumen yang mendefinisikan serangkaian persyaratan.
Proses Rekayasa Persyaratan
Perancangan & Implementasi Perangkat Lunak Tahap implementasi pengembangan perangkat lunak merupakan proses pengubahan spesifikasi sistem menjadi sistem yang dapat dijalankan. Tahap ini selalu mencakup proses perancangan dan pemrograman perangkat lunak. Perancangan perangkat lunak merupakan deskripsi struktur perangkat lunak yang akan diimplementasikan, data yang merupakan bagian sistem, interface antara komponenkomponen sistem dan, kadang-kadang, algoritma yang digunakan
deskripsi rancangan yang dihasilkan pada berbagai tahap perancangan
Tahap proses perancangan bersifat urut (sekuensial). Pada kenyataannya, kegiatan proses perancangan akan saling tumpang tindih. Spesifikasi untuk tahap berikutnya merupakan output dari setiap kegiatan perancangan. Spesifikasi ini bisa merupakan spesifikasi abstrak dan formal yang dihasilkan untuk menjelaskan persyaratan, tapi bisa juga merupakan spesifikasi mengenai bagaimana bagian sistem akan direalisasikan.
Kegiatan Proses Perancangan Spesifik Perancangan arsitektural. Subsistem-subsistem yang membentuk sistem dan hubungan mereka diidentifikasi dan didokumentasi. Spesifikasi abstrak. Untuk setiap subsistem, spesifikasi abstrak dari layanan dan batas operasinya harus ditentukan. Perancangan interface. Untuk setiap subsistem, interface dengan subsistem dirancang dan didokumentasi. Perancangan komponen. Layanan dialokasikan pada komponen yang berbeda dan interface komponen-komponen ini dirancang. Perancangan struktur data. Struktur data yang dipakai pada implementasi sistem dirancang secara rinci dan dispesifikasi. Perancangan algoritma. Algoritma yang digunakan untuk memberikan layanan dirancang secara rinci dan dispesifikasi.
Metode Perancangan Metodis terhadap perancangan perangkat lunak adalah metode terstruktur' yang merupakan serangkaian notasi dan panduan untuk perancangan perangkat lunak. Metode terstruktur mencakup model proses perancangan, notasi untuk merepresentasikan desain tersebut, format laporan, aturan dan panduan perancangan. Walaupun ada banyak metode, mereka memiliki banyak kesamaan.
Metode Sistem Model aliran data, di mana sistem dimodelkan dengan menggunakan transformasi data yang terjadi pada saat pemrosesannya. Model relasi entitas merupakan teknik normal yang dipakai untuk mendeskripsikan struktur database. Model struktural, di mana komponen-komponen sistem dan interaksinya didokumentasikan. Metode berorientasi objek mencakup model inheritansi (pewarisan) sistem, model hubungan statis dan dinamis di antara objek, dan model bagaimana objek berinteraksi saw sama lain ketika sistem sedang dijalankan.
Pemrograman dan Debug Pemrograman merupakan kegiatan pribadi dan di sini tidak ada proses umum yang biasanya diikuti. Beberapa programer akan mulai dengan komponen-komponen yang mereka pahami, mengembangkannya dan kemudian berlanjut ke komponen-komponen yang kurang dimengerti. Programmer melakukan pengujian terhadap kode yang telah mereka kembangkan. Kegiatan ini disebut debugging. Pengujian error dan debug merupakan proses yang berbeda. Pengujian menentukan adanya error. Debug berhubungan dengan pencarian lokasi dan pembetulan error ini. Error pada kode harus dilokalisasi dan program dimodifikasi untuk memenuhi persyaratan. Pengujian kemudian harus diulang untuk menjamin bahwa perubahan telah dilakukan dengan benar. Dengan demikian, proses debug merupakan bagian dari pengembangan perangkat lunak dan pengujian perangkat lunak.
Sumber referensi : http://www.agussuwasono.com/artikel/teknologi/iptek/527-rekayasa-perangkat-lunaksoftware-engineering.html http://www.slideshare.net/arfianti/spesifikasi-perangkat-lunak