STMIK AMIKOM YOGYAKARTA KONSEP DASAR REKAYASA PERANGKAT LUNAK (RPL) Donni Prabowo M.Kom @donnipra | donnipra.com Konsep Dasar Konsep dasar rekayasa perangkat lunak mempunyai dua hal pokok yaitu : 1. PERANGKAT LUNAK (SOFTWARE) 2. KOMPONEN PEREKAYASA www.amikom.ac.id Definisi Software menurut IEEE Menurut IEEE (Intstitute of Electrical and Electronics Engingeers) definisi perangkat lunak (software) : “Program komputer, prosedur, data dan semua dokumentasi yang berhubungan operasi pada sistem komputer.” www.amikom.ac.id Rekayasa Sofware PERANGKAT LUNAK (SOFTWARE) merupakan program komputer, prosedur, data dan semua dokumentasi yang berhubungan operasi pada sistem komputer. JADI bisa disimpulkan bahwa software merupakan kumpulan dari object membentuk konfigurasi yang didalamnya termasuk program, dokumen, dan data. SEDANGKAN PEREKAYASA SOFTWARE bertugas mengembangkan produk perangkat lunak. www.amikom.ac.id Tipe Produk Software Perangkat Lunak secara produk dapat dikategorikan menjadi 2 tipe yaitu : 1. PRODUK GENERIK 2. PRODUK PESANAN www.amikom.ac.id Definisi RPL menurut IEEE Menurut IEEE (Intstitute of Electrical and Electronics Engingeers) definisi Rekayasa Perangkat Lunak (Software Engineering) : www.amikom.ac.id Jadi … REKAYASA PERANGKAT LUNAK dapat didefinisikan sebagai disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan. “Rekayasa perangkat lunak tidak hanya berhubungan dengan proses teknis dari pengembangan perangkat lunak tetapi juga mencakup kegiatan manajemen proyek perangkat lunak dan pengembangan alat bantu, metode dan teori untuk mendukung produksi perangkat lunak. “ www.amikom.ac.id Proses Perangkat Lunak Proses perangkat lunak merupakan serangkaian kegiatan yang menghasilkan perangkat lunak. Kegiatan ini sebagian besar dilakukan oleh Perekayasa Perangkat Lunak. Terdapat empat kegiatan proses dasar, meliputi : 1. Spesifikasi Perangkat Lunak. 2. Pengembangan Perangkat Lunak. 3. Validasi Perangkat Lunak. 4. Evolusi Perangkat Lunak. www.amikom.ac.id Metode Perangkat Lunak Metode rekayasa perangkat lunak merupakan pendekatan terstruktur terhadap pengembangan perangkat lunak yang bertujuan memfasilitasi produksi perangkat lunak kualitas tinggi dengan cara yang efektif dalam hal biaya. Terdapat beberapa metode yang bisa digunakan seperti metode berorientasi fungsi, metode berorientasi objek dan metode pendekatan gabungan yang sekarang lebih dikenal dengan istilah : UML (Unified Modeling Language). www.amikom.ac.id Evolusi Perkembangan PL www.amikom.ac.id Evolusi Perkembangan PL Era Pertama ( 1950 – 1960) : • Batch Orientation Suatu orientasi di mana proses dilakukan setelah data dikumpulkan dalam satuan waktu tertentu, atau proses dilakukan setelah data terkumpul, lawan dari batch adalah ONLINE atau Interactive Process. • Limmited distribution Suatu penyebaran software yang terbatas pada perusahaan-perusahaan tertentu. • Custom software Software yang dikembangkan berdasarkan perusahaan-perusahaan tertentu. www.donni.web.id Evolusi Perkembangan PL Era Kedua (1960 – 1970) : • Multi user Suatu sistem di mana satu komputer digunakan oleh beberapa user pada saat yang sama. • Real Time Suatu sistem yang dapat mengumpulkan, menganalisa dan mentransformasikan data dari berbagai sumber, mengontrol proses dan menghasilkan output dalam mili second. • Database Perkembangan yang pesat dari alat penyimpan data yang OnLine menyebabkan muncul generasi pertama. DBMS (DataBase Management System). www.donni.web.id Evolusi Perkembangan PL Era Ketiga (1980 – 1990) : • Distributed system Suatu sistem yang tidak hanya dipusatkan pada komputer induk (Host computer), daerah atau bidang lainnya, yang juga memiliki komputer yang ukurannya lebih kecil dari komputer induk. Lawan dari distributed system adalah Centralized System. • Embedded Intelegence Suatu product yang diberi tambahan “Intellegence” dan biasanya ditambahkan mikroprocessor yang mutakhir. Contohnya adalah automobil, robot, peralatan diagnostic serum darah. • Low Cost Hardware Harga hardware yang semakin rendah, ini dimungkinkan karena munculnya Personal Computer. • Custumer Impact Adanya perkembangan komputer yang murah menyebabkan banyaknya software yang dikembangkan, software ini memberi dampak yang besar terhadap masyarakat. www.donni.web.id Evolusi Perkembangan PL Era Keempat (1990 – 2000) : • Expert system Suatu penerapan A.I. (Artificial Intellegence) pada bidang-bidang tertentu, misalnya bidang kedokteran, komunikasi, dll • AI Machine Suatu mesin yang dapat meniru kerja dari sebagian otak manusia. Misalnya mesin robot, komputer catur. • Parallel Architecture Arsitektur komputer yang memungkinkan proses kerja LAN paralel, yang dimungkinkan adanya prosesor berbeda dalam satu komputer www.donni.web.id Karakteristik Perangkat Lunak • Software merupakan elemen sistem logik dan bukan elemen sistem fisik seperti hardware. • Elemen itu tidak AUS, tetapi bisa rusak. • Elemen software itu direkayasa atau dikembangkan dan bukan dibuat di pabrik seperti hardware • Software itu tidak dirakit, seperti halnya hardware. www.amikom.ac.id Atribut Perangkat Lunak • Dapat dipelihara : Perangkat lunak dapat kondisikan sedemikian rupa sehingga perangkat lunak dapat berubah seiring dengan perubahan kebutuhan pelanggan. • Dapat diandalkan : Perangkat lunak mempunyai serangkaian karakteristik, termasuk keandalan, keamanan dan kenyamanan. • Efisien : Perangkat lunak tidak boleh menggunakan sumber daya sistem seperti siklus memori dan prosesor secara berlebihan. • Usabilitas : Perangkat lunak harus dapat dipakai, memiliki interface user yang baik dan dokumentasi yang cukup. www.amikom.ac.id Kategori Software System Software : sekumpulan program yang ditulis untuk melayani program lainnya. Beberapa system software (compiler, editor, dan utilitas manajemen file) bersifat kompleks, tetap, dan memiliki struktur informasi. Application Software : program yang berdiri sendiri yang memecahkan kebutuhan bisnis tertentu. Contoh : pemrosesan transaksi pada penjualan, pengendalian pada pemrosesan produksi pabrik Engineering/scientific Software : ditandai dengan sejumlah algoritma yang berjalan. Embedded Software : berada dalam suatu produk atau sistem dan digunakan untuk menjalankan dan mengendalikan fitur dan fungsi bagi end user dan untuk sistem itu sendiri. Contoh : fungsi digital pada mobil seperti kendali bahan bakar, sistem pengereman. Kategori Software Model Proses Perangkat Lunak • Model aliran kerja (work flow) Model ini memandang proses dari urutan dan prosedur kerja (input, output dan ketergantungannya). • Model aliran data (data flow) Model ini merepresentasikan proses sebagai satu set kegiatan yang masing masing melakukan transformasi data. • Model peran/aksi Model ini merepresentasikan peran orang yang terlibat pada proses perangkat lunak dan kegiatan yang menjadi tanggung jawabnya dalam penyelesaian sebuah sistem. www.amikom.ac.id Pustaka • Presman, Rouger S, Software Enigineering, 4th Edition, Mc. Graw Hill,1997. • Sommerville,Ian, Software Engineering, 7th Edition, Addison Wesley, 2004. • Kendall & Kendall, Systems Analysis and Design, 6th Edition, Prentice Hall,2006. • Jacobsan Ivar, Process and The UML, Rational Software Corporation,1997. www.amikom.ac.id DISKUSI KELOMPOK • Buat Kelompok 3-5 Orang • Pastikan tim ada lengkap (Programmer,Designer,Dokumen Creator) • Diskusikan Ide Produk FP Anda • Tuliskan Anggota Kelompok Anda di Google Drive ADA YANG BINGUNG? SILAHKAN TANYA ! What the next? • Pertemuan selanjutnya kita akan diskusikan mengenai “Diskusi Final Project” • Silahkan pelajari di rumah/kos terlebih dahulu. www.amikom.ac.id See You … “stay hungry stay foolish” - Steve Jobs