REKAYASA PERANGKAT LUNAK
Rekayasa Sistem Rekayasa perangkat lunak terjadi sebagai konsekuensi dari suatu proses yang disebut rekayasa sistem. Rekayasa sistem memfokuskan diri pada berbagai elemen, analisis, perancangan, dan pengorganisasian elemen-elemen tersebut ke dalam suatu sistem yang dapat menjadi sebuah produk, jasa, atau teknologi untuk mentransformasi informasi atau kontrol. Proses rekayasa sistem disebut rekayasa informasi bila konteks kerja rekayasa berfokus pada perusahaan bisnis. Pada saat produk akan dibuat, proses itu disebut rekayasa produk.
Rekayasa Sistem (2) Rekayasa informasi bertujuan menentukan arsitektur yang memungkinkan suatu bisnis menggunakan informasi secara efektif. Rekayasa informasi menghasilkan suatu rencana menyeluruh guna mengimplementasikan arsitektur- arsitektur berikut : ¤ arsitektur data ¤ arsitektur aplikasi ¤ infrastruktur teknologi, menyangkut HW dan SW untuk mendukung aplikasi dan data
Rekayasa Sistem (3) Rekayasa produk dimaksudkan untuk menterjemahkan keinginan pelanggan dengan serangkaian kemampuan yang terbatas ke dalam produk yang dapat bekerja (operasional).
Lingkup Proyek Perangkat Lunak ¤ Pengembangan perangkat lunak ¤ Pengembangan perangkat lunak, dan pengadaan perangkat keras ¤ Pembenahan sistem prosedur, dan pengembangan perangkat lunak ¤ Pembenahan sistem prosedur, pengembangan perangkat lunak dan pengadaan perangkat keras
Rekayasa Perangkat Lunak.. Apa sih ?? Inti yang akan dipelajari di RPL adalah Mempelajari teknik-teknik dan tools yang digunakan dalam pembangunan perangkat lunak Mata kuliah yang mendasari penguatan pemahaman dalam belajar RPL : IMK Konsep pemrograman Algoritma pemrograman Basisdata
Definisi Perangkat Lunak IEEE-Standar Glossary of Software Engineering Terminology, 1990: (Institute of Electrical and Electronic Engineering ) Computer programs, procedures, and possibly associated documentation and data pertaining to the operation of a computer system. Terjemahan bebasnya: Perangkat lunak merupakan kumpulan dari berbagai item (program, prosedur, dan dokumen data yang saling terkait) yang merepresentasikan masalah di dunia nyata yang dikonfigurasikan dalam satu bentuk aplikasi yang harus dikerjakan komputer.
Produk Perangkat Lunak (1) Perangkat lunak tidak sama dengan produk perangkat keras Produk perangkat lunak dikembangkan (developed) atau direkayasa (engineered) Tidak dipabrikkan seperti pabrik perangkat keras, misal komputer, mobil. Perangkat lunak secara pemakaian tidak pernah aus/usang layaknya suku cadang perangkat keras
Produk Perangkat Lunak (2) Perangkat lunak sebagian besar dikembangkan/dibangun berdasarkan pemesanan hanya sebagian kecil yang dibuat secara paket Bentuk produk perangkat lunak Umum/generik Dibuat untuk keperluan yang luas dan tidak berdasarkan pada permintaan pihak tertentu. Pesanan/custome/by tailor Dibuat spesifik sesuai sistem yang dibutuhkan oleh pemesan
Produk Perangkat Lunak (3) Karakteristik perangkat lunak yang baik: - Mempunyai daya guna yang tinggi (usability) - Mempunyai kinerja sesuai fungsi yang dibutuhkan pemakai - Mampu diandalkan (be reliable) - Mudah dirawat/diperbaiki (maintenability) - Lebih efisien - Mempunyai antarmuka yang menarik (eye cathcing user interface) - Mempunyai siklus hidup yang cukup lama (long life time)
Jenis-jenis Aplikasi PL (1) Perangkat lunak sistem Sekumpulan program yang ditulis untuk melayani program-program lain Misal: sistem operasi, driver, kompilator, interpreter, utility, dll Perangkat lunak waktu nyata (realtime) Perangkat lunak yang berfungsi untuk memonitor, menganalisis, mengontrol dan memberikan laporan tentang kejadian dunia nyata dan meresponnya dalam waktu kurang dari 1 menit. Misal: pengontrol arus udara, pengontrol reaksi nuklir,dll
Jenis-jenis Aplikasi PL (2) Perangkat lunak teknik dan ilmu pengetahuan (scientific & engineering software) Perangkat lunak yang menangani bidang teknik dan ilmu pengetahuan secara rinci Misal: simulasi, astronomi, vulkanologi, analisis otomatif, dinamika orbit pesawat ruang angkasa, biologi molekuler, otomasi pabrik, dll Embeded system Perangkat lunak yg ditempelkan/dilekatkan pada perangkat lainnya (lunak/keras). Misal: pada kamera digital, GPS, automobil, microwave, kulkas cerdas, dll
Jenis-jenis Aplikasi PL (3) Perangkat lunak pengolah data (data processing) Perangkat lunak yang khusus digunakan untuk mengolah data dan menghasilkan suatu keputusan tertentu. Misal: billing telepon, pengolah statistik Perangkat lunak sistem informasi (information system) Perangkat lunak yang mampu memberi informasi dari suatu sistem secara lebih detail. Misal: web site, perpustakaan digital, dll
Jenis-jenis Aplikasi PL (4) Perangkat lunak sensor Perangkat lunak yang mampu mengukur dan mengatur suatu keadaan khusus, kadang digolongkan dalam embedded system juga. Misal: pengatur cuaca, pengatur suhu ruangan, dll Perangkat lunak komunikasi (communication software) Perangkat lunak yang berfungsi untuk menghubungkan atau mengkomunikasikan suatu objek satu dengan lainnya. Misal: router, handphone, dll
Jenis-jenis Aplikasi PL (5) Perangkat lunak kantor (offices) Perangkat lunak yang dirancang untuk membantu tugas-tugas perkantoran. Misal: word processing, spreedsheet processing, video conferences, dll Perangkat lunak pengolah grafis Perangkat lunak yang digunakan untuk melakukan perancangan grafis Misal: pembuatan film, pembuatan poster
Jenis-jenis Aplikasi PL (6) Perangkat lunak kecerdasan Perangkat lunak yang menggunakan algoritma untuk memecahkan masalah kompleks yang tidak sesuai untuk perhitungan atau analisis secara langsung Misal: sistem pakar, game strategi, jaringan saraf tiruan, dll
Evolusi Perangkat Lunak (1) Perangkat lunak telah semakin berkembang sejak pertama kali diciptakan tahun 1945 Fokus utama pembuatannya Untuk mengembangkan praktik dan teknologi dalam meningkatkan produktivitas para praktisi pengembang PL dan kualitas aplikasi yg dapat digunakan oleh pemakai Evolusi dipicu adanya tuntutan bisnis dan lingkungan kerja yang berkembang sangat dinamis
Evolusi Perangkat Lunak (2) Era I (1945 – 1960): - Munculnya teknologi perangkat keras di tahap awal - Penggunaan perangkat lunak yg berorientasi batch - Distribusi perangkat lunak masih terbatas - Didominasi perangkat lunak model custome - Munculnya istilah software engineering (akhir 1950- an/awal 1960-an) - Belum didefinisikan secara jelas tentang aspek software engineering
Evolusi Perangkat Lunak (3) Era II (1960 – 1970) - Disebut era krisis perangkat lunak (software crisis). - Penggunaan perangkat lunak sudah meluas - Telah hadir perusahaan yang membangun software (software house) - Perangkat lunak sdh mengenal multiprogram, multiuser, real-time, dan penggunaan database. - Banyak project PL yg gagal: - Over budget/anggaran - Meledaknya Roket Ariane kesalahan perintah dlm PL Dua konferensi tentang software engineering: - Disponsori Komite Sains NATO - Tahun 1968 dan 1969 - Profesi resmi bidang software engineering
Evolusi Perangkat Lunak (4) Era III (1975 – 1985) - Pengembangan sistem mengarah ke konsep sistem terdistribusi. - Penerapan sistem embeded intelligence - Harga perangkat keras sudah jauh lebih murah sehingga pemakaian meluas - Pemanfaatan jaringan global dan lokal serta sudah diperkenalkan komunikasi digital
Evolusi Perangkat Lunak (5) Era IV (1985 – 2000) Kemampuan PC sudah setara dengan komputer mainframe Penerapan teknologi yang berorientasi pada objek Implementasi sistem pakar, Jaringan saraf tiruan Komputasi paralel Jaringan komputer sudah semakin canggih
Evolusi Perangkat Lunak (6) Era V (2000 – sekarang) - Penggunaan media digital - Media web berkembang pesat - Wireless sudah meluas - Teknologi meluas hingga di mobile computing, mobile programming - Perangkat keras sudah semakin kecil namun powerfull - Dilakukan berbagai penelitian yang menghasilkan model proses/paradigma pengembangan PL utk mengatasi krisis PL
Era V (2000 – sekarang) - Muncul teknik-teknik baru: - Pemrograman terstruktur - Pemrograman berientasi objek - Perangkat bantu pengembangan (CASE tools) - Standarisasi PL - Metode UML
TERIMA KASIH.....