Rekayasa Perangkat Lunak (Software Engineering) PDF

Summary

Dokumen ini adalah buku ajar tentang Rekayasa Perangkat Lunak (RPL), membahas konsep dasar, karakteristik perangkat lunak, dan proses pengembangan. Diterbitkan dalam Bahasa Indonesia, materi meliputi evolusi RPL dan tantangan dalam pengembangan perangkat lunak.

Full Transcript

BAB I Rekayasa Perangkat Lunak Istilah Rekayasa 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 diselenggar...

BAB I Rekayasa Perangkat Lunak Istilah Rekayasa 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. Namun, ternyata terdapat perbedaan yang mendasar antara perangkat lunak (software) dan program komputer. Menurut Rosa A.S, M. Shalahuddin pada bukunya yang berjudul Rekayasa Perangkat Lunak: Terstruktur dan Berorientasi Objek yang diterbitkan pada tahun 2014. Perangkat lunak (software) adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual). Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Namun, Perangkat Lunak (Software) tidak sama dengan program komputer. Jadi, Perangkat lunak tidak hanya mencakup program, tetapi juga semua dokumentasi dan konfigurasi data yang berhubungan, yang diperlukan untuk membuat program beroperasi dengan benar. Jadi dapat dikatakan juga jika sebuah program komputer tanpa terasosiasi dengan dokumentasinya maka belum dapat disebut sebagai perangkat lunak (software). Program adalah kumpulan perintah yang dimengerti oleh komputer sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi. Menurut Roger Pressman (2010), Softaware Engineering terdiri dari 2 kata, yaitu software dan engineering. Software merupakan satu kesatuan dari tiga unsur yaitu program komputer, stuktur data, dan dokumentasi. Engineering adalah penerapan kaidah-kaidah ilmu untuk melakukan perancangan konstruksi, operasionalisasi, tujuannya untuk mendapatkan output secara efektif dan efisien. 1 Gambar 1. Softaware Engineering A. Karakteristik Perangkat Lunak Karakter Perangkat lunak adalah sebagai berikut: Perangkat lunak dibangun dengan rekayasa (software engineering) bukan diproduksi secara manufaktur atau pabrikan. Pembuatan perangkat lunak berorientasi kepada customer dan tidak dapat dirakit dari komponen yang sudah ada. Perangkat lunak tidak pernah usang (wear out). Oleh karena itu, software engineering merupakan Ilmu yang mendalami cara-cara mengembangan perangkat lunak termasuk perancangan, pembuatan, pengujian, pemeliharaan, sampai pada manajemen proyek dan manajemen kualitas. Lalu seperti apakah software yang baik itu? Berikut ini adalah karakteristik atau sifat-sifat dari software yang baik. a. Maintainability Software yang baik haruslah bersifat Maintainability atau mudah dipelihara dan dikembangkan. Karena software itu akan dioperasikan secara terus menerus untuk melakukan suatu pekerjaan sehingga dia harus mudah dimaintain, harus mudah di pelihara, suatu saat software tersebut juga harus diubah untuk memenuhi kebutuhan yang mungkin sudah berubah, sehingga dia juga harus bersiat mudah dikembangkan. Maka karakteristik yang pertama adalah maintainability. b. Dependability 2 Dependability yang artinya dapat dipercaya. Output dari sebuah software haruslah dapat dipercaya. Makanya harus melalui uji, harus melalui testing, sehingga kita yakin, output dari software itu adalah hasilnya benar dan valid sesuai dengan keinginan. c. Efficiency Sebuah softaware juga harus efficiency. Efisien dalam penggunaan sumber daya. Kalau kita mengembangkan software tetapi ternyata malah membuat tidak efisien dalam sumber daya, misalkan membuat biaya terlalu membengkak, kemudian sumber daya manuasia yang mengoperasikan menjadi bertambah, yang seperti itulah yang tidak efisien. d. Usability Karakteristik yang keempat adalah usability. Software yang baik haruslah mudah digunakan, seusai dengan keinginan user. Karena software itu nanti yang mengoperasikan adalah user atau pengguna. Kalau software tidak mudah digunakan sesuai keinginan user, maka biasanya software itu juga tidak akan bisa digunakan dengan baik. Karena user menjadi malas menggunakannya karena Software tersebut susah untuk digunakan. Jika software sudah memenuhi 4 kriteria tersebut, berarti software sudah bisa dikatakan sebagai software yang baik. B. Perbedaan RPL dengan Rekayasa Sistem Rekayasa sistem berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa PL dan proses. Sedangkan rekayasa perangkat lunak merupakan bagian dari rekayasa sistem yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem. 3 Gambar 2. Perbedaan RPL dengan Rekayasa Sistem C. Proses Perangkat Lunak Bicara tentang rekayasa perangkat lunak pasti terkait dengan software methodology. Software proses ini merupakan serngkaian aktivitas secara terstruktur yang bertujuan untuk melakukan pengembangan dan evolusi perangkat lunak. Artinya ketika kita mengembangkan perangkat lunak itu tidak bisa sembarangan, harus terstruktur, harus secara disiplin menerapkan langkah-langkah tertentu sehingga software yang dihasilkan dapat sesuai dengan keinginan. Secara umum, aktivitas dalam proses perangkat lunak terdapat 4 hal, yaitu spesification, development, validation, dan evolution. 1) Spesification Mendefinisikan apa yang software bisa lakukan dan batasan-batasan pengembangannya. 2) Development Tahapan produksi software. 3) Validation Pengujian apakah software telah dikembangkan sesuai keinginan user. 4) Evolution Perubahan software untuk merespon perubahan kebutuhan, tentu perubahan itu adalah sebuah harapan untuk merespon perubahan kebutuhan yang dimilki oleh user. D. Evolusi Perangkat Lunak Perangkat lunak telah semakin berkembang sejak pertama kali diciptakan tahun 1945. Fokus utama pembuatannya untuk mengembangkan praktik dan teknologi dalam 4 meningkatkan produktivitas para praktisi pengembang PL dan kualitas aplikasi yang dapat digunakan oleh pemakai. Evolusi dipicu adanya tuntutan bisnis dan lingkungan kerja yang berkembang sangat dinamis. Gambar 3. Evolusi Perangkat Lunak 1) Era I (1945-1960) o Munculnya teknologi perangkat keras di tahap awal. o Penggunaan perangkat lunak yg berorientasi batch o Distribusi perangkat lunak masih terbatas o Didominasi perangkat lunak model customer o Munculnya istilah software engineering (akhir 1950an/awal 1960-an) o Belum didefinisikan secara jelas tentang aspek software engineering 2) Era II (1960-1970) o Disebut era krisis perangkat lunak (software crisis). o Penggunaan perangkat lunak sudah meluas o Telah hadir perusahaan yang membangun software (software house) o Perangkat lunak sudah mengenal multiprogram, multiuser, real-time, dan penggunaan database o Banyak project PL yang gagal - Over budget/anggaran - Berakibat rusak fisik dan kematian - Meledaknya Roket Ariane , kesalahan perintah dalam PL 5 o Dua konferensi tentang software engineering: - Disponsori Komite Sains NATO - Tahun 1968 dan 1969 - Profesi resmi bidang software engineering 3) Era III (1975-1985) o Pengembangan sistem mengarah ke konsep sistem terdistribusi. o Penerapan sistem embeded intelligence o Harga perangkat keras sudah jauh lebih murah sehingga pemakaian meluas o Pemanfaatan jaringan global dan lokal serta sudah diperkenalkan komunikasi digital 4) Era IV (1985-2000) o Kemampuan PC sudah setara dengan komputer mainframe o Penerapan teknologi yang berorientasi pada objek o Implementasi sistem pakar o Jaringan saraf tiruan o Komputasi paralel o Jaringan komputer sudah semakin canggih 5) Era V (2000-sekarang) o Penggunaan media digital o Media web berkembang pesat o Wireless sudah meluas o Teknologi meluas hingga di mobile computing, mobile programming o Perangkat keras sudah semakin kecil namun powerfull o Dilakukan berbagai penelitian yang menghasilkan model proses/paradigma pengembangan PL untuk mengatasi krisis PL E. Tantangan Dalam RPL ▪ Tantangan Warisan Dikembangkan bertahun-tahun dengan orang-orang yang berbeda. ▪ Tantangan Heterogenesis Dalam hal distribusi dan teknologi ▪ Tantangan Pengiriman 6 Bagaimana mengirim sistem yang besar dan kompleks dengan cepat namun kualitas tetap terjaga. F. Pelaku dalam RPL Manajer Manajer proyek, konfigurasi, penjamin kualitas PL Software Development Analisis Sistem, Desainer, Programmer, Inspektor PL, Pengontrol Perubahan Pendukung Staf Administrasi, Humas, Pencatat Teknis, Administrator Database, Administrator Jaringan. 7