Rekayasa Perangkat Lunak (Software Engineering)

   Mengetahui arti, karakteristik, dan jenis‐jenis

  Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak perangkat lunak sebagai produk rekayasa

  (Software Engineering) perangkat lunak.

   Memahami arti, latar belakang, dan tujuan penggunaan rekayasa perangkat lunak.

   Mengetahui ruang lingkup rekayasa perangkat l lunak. k

   Memahami perbedaan antara rekayasa perangkat Graha Prakarsa, ST. MT. lunak (RPL) dengan sistem informasi (SI).

  Sekolah Tinggi Teknologi Bandung

  1

  2  Rekayasa perangkat lunak berasal dari 2 kata y p g

   Engineering atau Rekayasa adalah aplikasi g g y p yaitu Software (Perangkat Lunak) dan terhadap pendekatan sistematis yang Engineering (Rekayasa). berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur, mesin, produk, proses atau sistem sistem.

   Perangkat Lunak (Software) <> Program Komputer.

   Perangkat lunak tidak hanya mencakup program, tetapi juga semua dokumentasi dan konfigurasi data yang berhubungan, yang diperlukan untuk membuat agar program p g p g beroperasi dengan benar.

   Menurut Pressman (2001) perangkat lunak adalah: “1) Instruksi (program komputer) yang bila dieksekusi dapat menjalankan fungsi tertentu; 2) Struktur data yang dapat membuat program memanipulasi informasi; dan 3) Dokumen yang menjelaskan operasi dan penggunaan program.”

   Sementara The Institute of Electrical and Electronics Engineers (IEEE) [1993] mendefinisikan perangkat lunak sebagai: “Program komputer, prosedur, aturan, dan dokumentasi yang berkaitan dengannya serta data yang berkaitan dengan operasi suatu sistem komputer.”

5 Ada beberapa definisi atau pengertian tentang perangkat lunak.

  6 Kesimpulannya perangkat lunak adalah: 

  Program Komputer Kumpulan instruksi yang apabila dieksekusi oleh sistem komputer akan menjalankan proses atau fungsi tertentu.

   Data Struktur data atau basis data yang memungkinkan data yang t i d di i l i l h tersimpan padanya dimanipulasi oleh program.

   Dokumen Dokumentasi yang menjelaskan bagaimana pengembangan, cara instalasi, penggunaan, dan pemeliharaan program.

  1. Perangkat lunak merupakan produk pengembangan atau rekayasa, dan tidak diproduksi dalam pengertian klasik.

  2. Perangkat lunak tidak akan pernah rusak atau aus.

  3. Perangkat lunak pada umumnya dibangun sesuai keinginan, jadi tidak dibentuk dari komponen yang sudah ada.

  1. Merupakan produk yang unik (tidak ada seri produksi).

  Perangkat lunak aplikasi  Perangkat lunak yang kegunaannya lebih g p g y g g y banyak ditujukan untuk membantu menyelesaikan masalah‐masalah yang dihadapi oleh pemakai. Perangkat lunak aplikasi dapat dibedakan menjadi:

  6. Perangkat lunak pribadi (personal software)  aplikasi keuangan pribadi, lembar kerja elektronik (spreadsheet).

  5. Embedded Software  permainan (game) pada mobile phone, aplikasi programmable logic circuit (PLC).

  4. Perangkat lunak rekayasa dan ilmu pengetahuan (engineering and scientific ft )  SPSS M th L b A t CAD dll software)  SPSS, Math Lab, AutoCAD , dll.

  3. Perangkat lunak bisnis (business software)  aplikasi untuk sistem informasi (sistem persediaan, akuntansi, produksi, dll), sistem pendukung keputusan, ERP.

  2. Perangkat lunak waktu nyata (real‐time software)  ATCS (Automatic Traffic Control System), ticket online.

  1. Perangkat lunak sistem (system software)  sistem operasi, compiler/interpreter, dll.

  1 Perangkat lunak sistem (system software)  sistem

  Dilihat dari bentuk aplikasinya :

   program aplikasi buatan sendiri (tailor made)

   program paket yang sudah jadi (package program)

   utility software 2.

  2. Tidak terlihat (invisible).

   penerjemah bahasa pemrograman (compiler/interpreter)

   sistem operasi

  Perangkat lunak sistem  Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional komputer atau perangkat lunak lain. Contoh:

  10 Dilihat dari fungsinya : 1.

   Dibuat karena ada pemesanan p

  Produk Pemesanan

   Produk yang dijual 

  Produk Generik

  9 Dilihat dari sisi sebagai produk : 

  4. Terhubung dengan perangkat keras.

  3. Fleksibel, sehingga mudah dimodifikasi.

  7. Perangkat lunak intelegensia buatan (artificial inteligent software)  sistem pakar (expert system), permainan catur, dll.

  

  Pembentukan dan penggunaan prinsip rekayasa (engineering)

   Pada hakikatnya rekayasa perangkat lunak

  untuk mendapatkan perangkat lunak secara ekonomis namun k d k k l k k i

  (software engineering) mempunyai prinsip yang

  andal dan dapat bekerja secara efisien pada komputer

  sama dengan rekayasa‐rekayasa lain, yaitu (Bauer, 1968).

  

  Suatu disiplin yang mengintegrasikan proses, metode, dan alat membuat sesuatu bekerja (make things work). (tools) untuk pembangunan perangkat lunak komputer (Pressman, 2001).

  

  Suatu teknologi berlapis, yaitu proses, metode dan alat, dengan kualitas sebagai dasar utamanya (Pressman, 2001).

  

  Penerapan pendekatan yang sistematis, disiplin dan terukur untuk pengembangan, operasi, dan pemeliharaan perangkat lunak (IEEE, 1993).

  13

  14 Hasil konferensi NATO di Garmisch‐Partenkirchen tahun 1968: Kesimpulannya:

   Perangkat lunak lebih banyak menyebabkan masalah  Rekayasa perangkat lunak merupakan suatu proses rancang daripada menyelesaikannya. bangun perangkat lunak yang menggunakan kaidah‐kaidah

   ilmu, seperti prinsip, konsep, dan metode sehingga Peningkatan ukuran perangkat lunak dilakukan tanpa dihasilkan perangkat lunak yang berkualitas (dapat dibarengi dengan suatu pengorganisasian. digunakan dan beroperasi dengan benar, bermanfaat, serta

   Perbaikan satu kesalahan mengakibatkan timbulnya sesuai dengan kebutuhan yang diinginkan). kesalahan lainnya. y  Tidak ada kendali pemeliharaan.

  Akibatnya Software  Software  

  Ketidakmampuan organisasi untuk memprediksi used, but  used, but delivered and  waktu, usaha dan biaya pada pengembangan perangkat kt h d bi d b k t used as it is criticized or 

  2% dropped lunak.

  19%  Kualitas perangkat lunak yang diproduksi tidak baik (buruk). Software used 

   Perubahan perbandingan harga perangkat keras dan after  Software  perangkat lunak. modifications delivered but  never used

  3%  Meningkatnya peran penting dari pemeliharaan.

  47% 

  K Kemajuan teknologi perangkat keras. j t k l i k t k  Kemajuan teknik perangkat lunak.

  Software paid for   Kebutuhan yang meningkat terhadap perangkat lunak. but never 

   Kebutuhan akan perangkat lunak yang lebih besar dan delivered 29% kompleks.

  17

  18 Tujuan utama yang menjadi fokus dari rekayasa perangkat lunak  Maintainability  Perangkat lunak harus memungkinkan untuk

  adalah adalah kualitas kualitas , maksudnya: maksudnya:

  dikembangkan d k b k sesuai dengan perubahan kebutuhan pemakai. d b h k b h k  Perangkat lunak yang dihasilkan sesuai dengan kebutuhan yang 

  Dependability  Berkaitan dengan keandalan , keamanan , dan diinginkan. keselamatan . Perangkat lunak harus tidak menyebabkan

   Dapat digunakan dan beroperasi dengan benar di lingkungan kerusakan fisis dan ekonomis saat sistem mengalami sebenarnya.

  Memberikan manfaat bagi pemakai yang menggunakannya.

   kegagalan.

   Biaya yang dikeluarkan untuk membuatnya rendah, dalam arti  Efficiency  Perangkat lunak harus efisien dalam penggunaan

  efektif dan sesuai dengan anggaran yang telah ditetapkan. efektif dan sesuai dengan anggaran yang telah ditetapkan

  sumber daya b d seperti memory dan siklus pemroses. i d ikl  Tepat waktu, baik saat pembuatan, penyerahan ke  Usability  Perangkat lunak harus mempunyai antarmuka

  pemakai, maupun instalasinya.

  pengguna yang tepat dan dokumentasi yang memadai.

  

  Setiap tahap pekerjaan terjamin kualitasnya, terdokumentasi, dan dapat dipertanggungjawabkan kebenarannya (ada proses verifikasi dan validasi). Terdapat 3 pihak (minimal) yang mempengaruhi mutu Perangkat Lunak yaitu: g y

  konteks: 1.

  Proses perangkat lunak.

  2. Ranah (domain) kajian.

  3. Teknologi.

  4. Metode dan alat bantu.

  22 1.

21 Rekayasa perangkat lunak dapat dibicarakan dalam

  2. Software Development  proses memproduksi sistem perangkat lunak (implementasi).

  3. Software Validation  pengujian perangkat lunak terhadap keinginan pengguna terhadap keinginan pengguna.

  Software Specification  apa yang harus dilakukan oleh perangkat lunak dan batasan/kendala pengembangannya.

  1. Sistem dan Jaringan Komputer g p

  2. Sistem Informasi

  3. Komputer Grafik 4.

  Pengolahan Citra

  5. Intelegensia Buatan g

  6. Basis Data

  7. Matematika

  4. Software Evolution  perubahan perangkat lunak berdasarkan perubahan keinginan (pemeliharaan/maintain).

   Metode  Cara atau teknis bagaimana mengembangkan

   Teknik komputasi client/server p / perangkat lunak, meliputi:

   Bahasa pemrograman  Analisis kebutuhan, perancangan, konstruksi program, dan pengujian.

   Teknik analisis kuantitatif  Alat Bantu  Perangkat bantu atau kakas otomatis dan

   Konsep protokol nirkabel (wireless) semi‐otomatis yang akan digunakan untuk mendukung proses dan metode, seperti:

   Dll.

   Diagram‐diagram untuk memodelkan hasil setiap tahap pengembangan.  Perangkat lunak untuk membantu pelaksanaan analisis, perancangan, pembuatan program, atau pengelolaan proyek.

  25

  26 Konteks Rekayasa Perangkat Lunak Sistem Informasi

  Wujud/ Bentuk Wujud/ Bentuk Bentuk rekayasa perangkat Bentuk rekayasa perangkat Wujud sistem informasi secara fisik Wujud sistem informasi secara fisik

  Konteks Rekayasa Perangkat Lunak Sistem Informasi

  Fisik lunak adalah kaidah, aturan,  adalah perangkat keras, perangkat Kajian Mempelajari cara bagaimana Mempelajari cara bagaimana membangun atau disiplin yang  lunak, data, prosedur, dan keilmuan membuat perangkat lunak sistem, mengakuisisi teknologi informasi menyediakan kerangka kerja manusia. Kelimanya ditata dengan untuk kegunaan tertentu yang tepat untuk sistem tersebut, dan untuk semua proses yang  cara tertentu di lingkungan pada bidang ilmu apa saja mengimplementasikannya di lingkungan digunakan saat pembuatan organisasi, berinteraksi sesuai dengan menggunakan organisasi untuk memberikan layanan

  perangkat lunak . proses tertentu, dan menghasilkan pendekatan rekayasa . pada organisasi dalam mencapai

  layanan dan informasi tertentu t j tujuannya. sesuai yang diinginkan.

  Proses Pengembangan perangkat Pengembangan sistem informasi Pengembangan lunak adalah proses adalah proses merencanakan, 

  transformasi persoalan membangun, dan

  menjadi perangkat lunak mengimplementasikan sistem informasi.

  Bidang atau Kajian Keilmuan  Perangkat lunak dibentuk oleh program, data, dan dokumen. Masing‐

  masing item tersebut terdiri dari suatu konfigurasi yang dibuat masing item tersebut terdiri dari suatu konfigurasi yang dibuat sebagai bagian dari proses rekayasa perangkat lunak.

  

  RPL adalah suatu kaidah, aturan, atau disiplin yang menyediakan kerangka kerja untuk semua proses pembuatan perangkat lunak. Tujuan dari rekayasa perangkat lunak adalah menghasilkan perangkat lunak berkualitas, dalam arti sesuai kebutuhan, ekonomis, dan benar proses pengerjaannya.

  

  Ruang lingkup RPL adalah cakupan dimana prinsip‐prinsip rekayasa perangkat lunak dapat diterapkan, seperti proses, ranah kajian, serta teknologi dan alat bantu.

   Perbedaan antara RPL dengan SI dapat dilihat dari sudut pandang

  bidang atau kajian keilmuan, wujud atau bentuk fisik, dan proses pengembangan.

  29

  30 

  Proses Pengembangan Perangkat Lunak